tests: fixes mock autospec usage

Until now, mock.Mock did not receive any autospec argument, yet
there are a few tests which are using it.

The autospec argument is being added by a fixture, and some unit
tests are not using it properly.

Depends-On: I0e4a55fbf4c1d175726ca22b664e240849a99856

Partial-Bug: #1735588

Change-Id: I3636833962c905faa0f144c7fdc4833037324d31
This commit is contained in:
Claudiu Belu 2017-03-20 15:34:37 +02:00
parent 3f08521d33
commit 1f0638f943
8 changed files with 21 additions and 17 deletions

View File

@ -45,6 +45,7 @@ from oslo_log import log as logging
from oslo_serialization import jsonutils
from oslo_utils import timeutils
from oslo_versionedobjects import fixture as ovo_fixture
from oslotest import mock_fixture
from oslotest import moxstubout
import six
import testtools
@ -330,6 +331,7 @@ class TestCase(testtools.TestCase):
# NOTE(mikal): make sure we don't load a privsep helper accidentally
self.useFixture(nova_fixtures.PrivsepNoHelperFixture())
self.useFixture(mock_fixture.MockAutospecFixture())
def _setup_cells(self):
"""Setup a normal cellsv2 environment.

View File

@ -25,6 +25,7 @@ from nova import rc_fields as fields
from nova import test
from nova.tests.functional.api.openstack.placement import test_report_client
from nova.tests import uuidsentinel as uuids
from nova.virt import driver as virt_driver
CONF = conf.CONF
VCPU = fields.ResourceClass.VCPU
@ -143,7 +144,7 @@ class IronicResourceTrackerTest(test.TestCase):
self.app = lambda: deploy.loadapp(CONF)
self.report_client = test_report_client.NoAuthReportClient()
driver = mock.MagicMock(autospec='nova.virt.driver.ComputeDriver')
driver = mock.MagicMock(autospec=virt_driver.ComputeDriver)
driver.node_is_available.return_value = True
self.driver_mock = driver
self.rt = resource_tracker.ResourceTracker(COMPUTE_HOST, driver)

View File

@ -24,6 +24,7 @@ from keystoneauth1 import exceptions as ks_exc
from keystoneauth1 import loading as keystone
from keystoneauth1 import session
from oslo_utils import uuidutils
from requests import models
from nova.api.openstack.placement.objects import resource_provider as rp_obj
from nova.cmd import status
@ -133,7 +134,7 @@ class TestPlacementCheck(test.NoDBTestCase):
self.assertIn('endpoint_filter', kw)
self.assertEqual(expected_interface,
kw['endpoint_filter']['interface'])
return mock.Mock(autospec='requests.models.Response')
return mock.Mock(autospec=models.Response)
mock_get.side_effect = fake_request
self.cmd._placement_get(mock.sentinel.path)

View File

@ -8309,13 +8309,13 @@ class ComputeAPITestCase(BaseTestCase):
# run. We do this to avoid possible races with other tests
# that actually test those methods and mock things out within
# them, like conductor tests.
self.schedule_and_build_instances_mock = mock.Mock(autospec=True)
self.compute_api.compute_task_api.schedule_and_build_instances = \
self.schedule_and_build_instances_mock
self.rebuild_instance_mock = mock.Mock(autospec=True)
self.compute_api.compute_task_api.rebuild_instance = \
self.rebuild_instance_mock
_patch = mock.patch.object(self.compute_api.compute_task_api,
'schedule_and_build_instances',
autospec=True)
self.schedule_and_build_instances_mock = _patch.start()
_patch = mock.patch.object(self.compute_api.compute_task_api,
'rebuild_instance', autospec=True)
self.rebuild_instance_mock = _patch.start()
# Assume that we're always OK for network quota.
def fake_validate_networks(context, requested_networks, num_instances):

View File

@ -36,6 +36,7 @@ from nova import test
from nova.tests.unit import fake_notifier
from nova.tests.unit.objects import test_pci_device as fake_pci_device
from nova.tests import uuidsentinel as uuids
from nova.virt import driver
_HOSTNAME = 'fake-host'
_NODENAME = 'fake-node'
@ -431,7 +432,7 @@ def setup_rt(hostname, virt_resources=_VIRT_DRIVER_AVAIL_RESOURCES,
"""
sched_client_mock = mock.MagicMock()
notifier_mock = mock.MagicMock()
vd = mock.MagicMock(autospec='nova.virt.driver.ComputeDriver')
vd = mock.MagicMock(autospec=driver.ComputeDriver)
# Make sure we don't change any global fixtures during tests
virt_resources = copy.deepcopy(virt_resources)
vd.get_available_resource.return_value = virt_resources

View File

@ -19,6 +19,7 @@ from nova import test
from nova.tests.unit import matchers
from nova.virt.libvirt import config
from nova.virt.libvirt import designer
from nova.virt.libvirt import host
class DesignerTestCase(test.NoDBTestCase):
@ -55,7 +56,7 @@ class DesignerTestCase(test.NoDBTestCase):
def test_set_vif_host_backend_ethernet_config_libvirt_1_3_3(self):
conf = config.LibvirtConfigGuestInterface()
mock_host = mock.Mock(autospec='nova.virt.libvirt.host.Host')
mock_host = mock.Mock(autospec=host.Host)
mock_host.has_min_version.return_value = True
designer.set_vif_host_backend_ethernet_config(
conf, 'fake-tap', mock_host)
@ -65,7 +66,7 @@ class DesignerTestCase(test.NoDBTestCase):
def test_set_vif_host_backend_ethernet_config_libvirt_pre_1_3_3(self):
conf = config.LibvirtConfigGuestInterface()
mock_host = mock.Mock(autospec='nova.virt.libvirt.host.Host')
mock_host = mock.Mock(autospec=host.Host)
mock_host.has_min_version.return_value = False
designer.set_vif_host_backend_ethernet_config(
conf, 'fake-tap', mock_host)

View File

@ -78,13 +78,11 @@ class TestSSPDiskAdapter(test.NoDBTestCase):
self.mock_get_tier.return_value = self.tier_wrap
# A FeedTask
self.mock_afs = self.useFixture(fixtures.MockPatch(
'pypowervm.utils.transaction.FeedTask.add_functor_subtask',
autospec=True)).mock
self.mock_wtsk = mock.create_autospec(
pvm_tx.WrapperTask, instance=True)
self.mock_wtsk.configure_mock(wrapper=self.vio_wrap)
self.mock_ftsk = mock.create_autospec(pvm_tx.FeedTask, instance=True)
self.mock_afs = self.mock_ftsk.add_functor_subtask
self.mock_ftsk.configure_mock(
wrapper_tasks={self.vio_wrap.uuid: self.mock_wtsk})

View File

@ -17,6 +17,7 @@ from cinderclient import api_versions as cinder_api_versions
from cinderclient import exceptions as cinder_exception
from cinderclient.v2 import limits as cinder_limits
from keystoneauth1 import loading as ks_loading
from keystoneauth1 import session
from keystoneclient import exceptions as keystone_exception
import mock
from oslo_utils import timeutils
@ -988,8 +989,7 @@ class CinderClientTestCase(test.NoDBTestCase):
cinder.reset_globals()
self.ctxt = context.RequestContext('fake-user', 'fake-project')
# Mock out the keystoneauth stuff.
self.mock_session = mock.Mock(
autospec='keystoneauth1.loading.session.Session')
self.mock_session = mock.Mock(autospec=session.Session)
load_session = mock.patch('keystoneauth1.loading.'
'load_session_from_conf_options',
return_value=self.mock_session).start()