Reviewed:  https://review.openstack.org/489467
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=71d1cd1d2820af040889ca308c0560ccf927e549
Submitter: Zuul
Branch:    master

commit 71d1cd1d2820af040889ca308c0560ccf927e549
Author: Takashi NATSUME <natsume.taka...@lab.ntt.co.jp>
Date:   Tue Aug 1 13:22:30 2017 +0900

    Fix test_get_volume_config method
    
    The current test does not check instance variables of
    LibvirtConfigGuestDisk object.
    So fix the test to check attributes of LibvirtConfigGuestDisk
    object.
    
    Change-Id: I14fb44eebf9d6f7623225dea46d143f7cb84d7fc
    Closes-Bug: #1706399


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1706399

Title:
  unit test 'test_get_volume_config' doesn't test anything useful

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Description
  ===========
  The unit test `test_get_volume_config` [1] asserts that a mock is equal
  to itself:

      @mock.patch.object(volume_drivers.LibvirtFakeVolumeDriver,
                         'connect_volume')
      @mock.patch.object(volume_drivers.LibvirtFakeVolumeDriver, 'get_config')
      def test_get_volume_config(self, get_config, connect_volume):
          drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
          connection_info = {'driver_volume_type': 'fake',
                             'data': {'device_path': '/fake',
                                      'access_mode': 'rw'}}
          bdm = {'device_name': 'vdb',
                 'disk_bus': 'fake-bus',
                 'device_type': 'fake-type'}
          disk_info = {'bus': bdm['disk_bus'], 'type': bdm['device_type'],
                       'dev': 'vdb'}
          mock_config = mock.MagicMock()

          get_config.return_value = mock_config
          config = drvr._get_volume_config(connection_info, disk_info)
          get_config.assert_called_once_with(connection_info, disk_info)
          self.assertEqual(mock_config, config)

  
      self.assertEqual(mock_config, config)

  
  Steps to reproduce
  ==================
  $ .tox/py27/bin/python -m testtools.run 
nova.tests.unit.virt.libvirt.test_driver.LibvirtConnTestCase.test_get_volume_config

  
  Add these two lines to see that the objects are the same:

      print("mock config: %s" % mock_config)
      print("config: %s" % config)


  Expected result
  ===============
  The `mock_config` has some kind of recording how it should look like and
  the created `config` object is tested against that.

  
  Actual result
  =============
  `mock_config` and `config` are the very same python object.

      $ .tox/py27/bin/python -m testtools.run 
nova.tests.unit.virt.libvirt.test_driver.LibvirtConnTestCase.test_get_volume_config
      Tests running...
      mock config: <MagicMock id='147674384'>
      config: <MagicMock id='147674384'>

  
  Environment
  ===========
  $ git log --oneline -1
  87a0143 Merge "[placement] Flush RC_CACHE after each gabbit sequence"

  
  References:
  ===========
  [1] 
https://github.com/openstack/nova/blob/bbe0f313bdfd30cc1c740709543b679567b42f0f/nova/tests/unit/virt/libvirt/test_driver.py#L6355-L6373

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1706399/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to