From a976ae746cdd1e4a8ce75cfe715bb41eba5ca6fc Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 15 Nov 2013 19:50:36 +0100 Subject: [PATCH] Replace mox with mock in energy and objectstore Replace mox with mock in: * tests.energy.test_kwapi * tests.objectstore.test_swift * tests.objectstore.test_swift_middleware Change-Id: If1168c6a4884f4a01f33587a14e60ccb3819dbd1 --- ceilometer/tests/energy/test_kwapi.py | 26 +++++----- ceilometer/tests/objectstore/test_swift.py | 51 ++++++++++--------- .../objectstore/test_swift_middleware.py | 8 +-- 3 files changed, 42 insertions(+), 43 deletions(-) diff --git a/ceilometer/tests/energy/test_kwapi.py b/ceilometer/tests/energy/test_kwapi.py index 78b9ffe6..dac1190f 100644 --- a/ceilometer/tests/energy/test_kwapi.py +++ b/ceilometer/tests/energy/test_kwapi.py @@ -22,7 +22,7 @@ import mock from ceilometer.central import manager from ceilometer.energy import kwapi from ceilometer.openstack.common import context -from ceilometer.openstack.common.fixture import moxstubout +from ceilometer.openstack.common.fixture.mockpatch import PatchObject from ceilometer.openstack.common import test @@ -59,19 +59,19 @@ class TestKwapi(test.BaseTestCase): @mock.patch('ceilometer.pipeline.setup_pipeline', mock.MagicMock()) def setUp(self): super(TestKwapi, self).setUp() - self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs self.context = context.get_admin_context() self.manager = TestManager() @staticmethod - def fake_get_kwapi_client(self, ksclient): + def fake_get_kwapi_client(ksclient): raise exceptions.EndpointNotFound("fake keystone exception") def test_endpoint_not_exist(self): - self.stubs.Set(kwapi._Base, 'get_kwapi_client', - self.fake_get_kwapi_client) + with PatchObject(kwapi._Base, 'get_kwapi_client', + side_effect=self.fake_get_kwapi_client): + pollster = kwapi.EnergyPollster() + samples = list(pollster.get_samples(self.manager, {})) - samples = list(kwapi.EnergyPollster().get_samples(self.manager, {})) self.assertEqual(len(samples), 0) @@ -80,14 +80,13 @@ class TestEnergyPollster(test.BaseTestCase): @mock.patch('ceilometer.pipeline.setup_pipeline', mock.MagicMock()) def setUp(self): super(TestEnergyPollster, self).setUp() - self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs self.context = context.get_admin_context() self.manager = TestManager() - self.stubs.Set(kwapi._Base, '_iter_probes', - self.fake_iter_probes) + self.useFixture(PatchObject(kwapi._Base, '_iter_probes', + side_effect=self.fake_iter_probes)) @staticmethod - def fake_iter_probes(self, ksclient, cache): + def fake_iter_probes(ksclient, cache): probes = PROBE_DICT['probes'] for key, value in probes.iteritems(): probe_dict = value @@ -141,14 +140,13 @@ class TestPowerPollster(test.BaseTestCase): @mock.patch('ceilometer.pipeline.setup_pipeline', mock.MagicMock()) def setUp(self): super(TestPowerPollster, self).setUp() - self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs self.context = context.get_admin_context() self.manager = TestManager() - self.stubs.Set(kwapi._Base, '_iter_probes', - self.fake_iter_probes) + self.useFixture(PatchObject(kwapi._Base, '_iter_probes', + side_effect=self.fake_iter_probes)) @staticmethod - def fake_iter_probes(self, ksclient, cache): + def fake_iter_probes(ksclient, cache): probes = PROBE_DICT['probes'] for key, value in probes.iteritems(): probe_dict = value diff --git a/ceilometer/tests/objectstore/test_swift.py b/ceilometer/tests/objectstore/test_swift.py index 2254949f..72bfe0c0 100644 --- a/ceilometer/tests/objectstore/test_swift.py +++ b/ceilometer/tests/objectstore/test_swift.py @@ -26,7 +26,7 @@ import testscenarios from ceilometer.central import manager from ceilometer.objectstore import swift -from ceilometer.openstack.common.fixture import moxstubout +from ceilometer.openstack.common.fixture.mockpatch import PatchObject from ceilometer.openstack.common import test load_tests = testscenarios.load_tests_apply_scenarios @@ -72,17 +72,15 @@ class TestSwiftPollster(test.BaseTestCase): @mock.patch('ceilometer.pipeline.setup_pipeline', mock.MagicMock()) def setUp(self): super(TestSwiftPollster, self).setUp() - self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs self.pollster = self.factory() self.manager = TestManager() def test_iter_accounts_no_cache(self): - def empty_account_info(obj, ksclient, cache): - return [] - self.stubs.Set(self.factory, '_get_account_info', - empty_account_info) cache = {} - data = list(self.pollster._iter_accounts(mock.Mock(), cache)) + with PatchObject(self.factory, '_get_account_info', + return_value=[]): + data = list(self.pollster._iter_accounts(mock.Mock(), cache)) + self.assertTrue(self.pollster.CACHE_KEY_TENANT in cache) self.assertTrue(self.pollster.CACHE_KEY_HEAD in cache) self.assertEqual(data, []) @@ -95,15 +93,15 @@ class TestSwiftPollster(test.BaseTestCase): ksclient.tenants.list.side_effect = AssertionError( 'should not be called', ) - self.stubs.Set(swift_client, 'head_account', - ksclient) - self.stubs.Set(self.factory, '_neaten_url', - mock.Mock()) - Tenant = collections.namedtuple('Tenant', 'id') - cache = { - self.pollster.CACHE_KEY_TENANT: [Tenant(ACCOUNTS[0][0])], - } - data = list(self.pollster._iter_accounts(mock.Mock(), cache)) + + with PatchObject(swift_client, 'head_account', new=ksclient): + with PatchObject(self.factory, '_neaten_url'): + Tenant = collections.namedtuple('Tenant', 'id') + cache = { + self.pollster.CACHE_KEY_TENANT: [Tenant(ACCOUNTS[0][0])], + } + data = list(self.pollster._iter_accounts(mock.Mock(), cache)) + self.assertTrue(self.pollster.CACHE_KEY_HEAD in cache) self.assertEqual(data[0][0], ACCOUNTS[0][0]) @@ -126,20 +124,23 @@ class TestSwiftPollster(test.BaseTestCase): test_tenant_id)) def test_metering(self): - self.stubs.Set(self.factory, '_iter_accounts', - self.fake_iter_accounts) - samples = list(self.pollster.get_samples(self.manager, {})) + with PatchObject(self.factory, '_iter_accounts', + side_effect=self.fake_iter_accounts): + samples = list(self.pollster.get_samples(self.manager, {})) + self.assertEqual(len(samples), 2) def test_get_meter_names(self): - self.stubs.Set(self.factory, '_iter_accounts', - self.fake_iter_accounts) - samples = list(self.pollster.get_samples(self.manager, {})) + with PatchObject(self.factory, '_iter_accounts', + side_effect=self.fake_iter_accounts): + samples = list(self.pollster.get_samples(self.manager, {})) + self.assertEqual(set([s.name for s in samples]), set([samples[0].name])) def test_endpoint_notfound(self): - self.stubs.Set(self.manager.keystone.service_catalog, 'url_for', - self.fake_ks_service_catalog_url_for) - samples = list(self.pollster.get_samples(self.manager, {})) + with PatchObject(self.manager.keystone.service_catalog, 'url_for', + side_effect=self.fake_ks_service_catalog_url_for): + samples = list(self.pollster.get_samples(self.manager, {})) + self.assertEqual(len(samples), 0) diff --git a/ceilometer/tests/objectstore/test_swift_middleware.py b/ceilometer/tests/objectstore/test_swift_middleware.py index 7c6c0c9b..2c16118a 100644 --- a/ceilometer/tests/objectstore/test_swift_middleware.py +++ b/ceilometer/tests/objectstore/test_swift_middleware.py @@ -24,7 +24,7 @@ from webob import Request from ceilometer.objectstore import swift_middleware from ceilometer.openstack.common.fixture import config -from ceilometer.openstack.common.fixture import moxstubout +from ceilometer.openstack.common.fixture.mockpatch import PatchObject from ceilometer.openstack.common import test from ceilometer import pipeline @@ -60,14 +60,14 @@ class TestSwiftMiddleware(test.BaseTestCase): def __init__(self): self.pipelines = [self._faux_pipeline(self)] - def _faux_setup_pipeline(self, transformer_manager): + def _fake_setup_pipeline(self, transformer_manager): return self.pipeline_manager def setUp(self): super(TestSwiftMiddleware, self).setUp() - self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs self.pipeline_manager = self._faux_pipeline_manager() - self.stubs.Set(pipeline, 'setup_pipeline', self._faux_setup_pipeline) + self.useFixture(PatchObject(pipeline, 'setup_pipeline', + side_effect=self._fake_setup_pipeline)) self.CONF = self.useFixture(config.Config()).conf @staticmethod