Replace Mox with Mock

According to [1] "New test cases should be implemented using Mock.
It is part of the Python standard library in Python 3 and as such
is the preferred method for OpenStack." So let's kill Mox in favor
of Mock.

[1] http://docs.openstack.org/infra/manual/developers.html#peer-review

Change-Id: I0db1cf3969a8d5ae90e1a13330799e69c7751207
This commit is contained in:
Jordan Pittier 2016-03-29 21:33:34 +02:00
parent 0ad690430b
commit 0021c29a75
17 changed files with 53 additions and 40 deletions

View File

@ -41,7 +41,8 @@ class TestDiscovery(base.TestCase):
def setUp(self):
super(TestDiscovery, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
def test_get_keystone_api_versions(self):
self.useFixture(mockpatch.PatchObject(

View File

@ -28,7 +28,8 @@ class TestAdminAvailable(base.TestCase):
def setUp(self):
super(TestAdminAvailable, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
def run_test(self, dynamic_creds, use_accounts_file, admin_creds):

View File

@ -28,7 +28,8 @@ class TestAltAvailable(base.TestCase):
def setUp(self):
super(TestAltAvailable, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
def run_test(self, dynamic_creds, use_accounts_file, creds):

View File

@ -41,9 +41,10 @@ class ConfiguredV2CredentialsTests(base.TestCase):
def setUp(self):
super(ConfiguredV2CredentialsTests, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.stubs.Set(self.tokenclient_class, 'raw_request',
self.identity_response)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
self.patchobject(self.tokenclient_class, 'raw_request',
self.identity_response)
def _get_credentials(self, attributes=None):
if attributes is None:

View File

@ -26,7 +26,8 @@ class TestLegacyCredentialsProvider(base.TestCase):
def setUp(self):
super(TestLegacyCredentialsProvider, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
def test_get_creds_roles_legacy_invalid(self):
test_accounts_class = credentials.LegacyCredentialProvider(

View File

@ -46,9 +46,10 @@ class TestDynamicCredentialProvider(base.TestCase):
def setUp(self):
super(TestDynamicCredentialProvider, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.stubs.Set(json_token_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
self.patchobject(json_token_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
cfg.CONF.set_default('operator_role', 'FakeRole',
group='object-storage')
self._mock_list_ec2_credentials('fake_user_id', 'fake_tenant_id')

View File

@ -46,9 +46,10 @@ class TestPreProvisionedCredentials(base.TestCase):
def setUp(self):
super(TestPreProvisionedCredentials, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.stubs.Set(token_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
self.patchobject(token_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
self.useFixture(lockutils_fixtures.ExternalLockFixture())
self.test_accounts = [
{'username': 'test_user1', 'tenant_name': 'test_tenant1',
@ -96,8 +97,8 @@ class TestPreProvisionedCredentials(base.TestCase):
return hash_list
def test_get_hash(self):
self.stubs.Set(token_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
self.patchobject(token_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
test_account_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params)
hash_list = self._get_hash_list(self.test_accounts)
@ -188,7 +189,7 @@ class TestPreProvisionedCredentials(base.TestCase):
return False
return True
self.stubs.Set(os.path, 'isfile', _fake_is_file)
self.patchobject(os.path, 'isfile', _fake_is_file)
with mock.patch('six.moves.builtins.open', mock.mock_open(),
create=True) as open_mock:
test_account_class._get_free_hash(hash_list)

View File

@ -27,7 +27,8 @@ class TestRemoteClient(base.TestCase):
def setUp(self):
super(TestRemoteClient, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
cfg.CONF.set_default('ip_version_for_ssh', 4, group='validation')
cfg.CONF.set_default('network_for_ssh', 'public', group='validation')
cfg.CONF.set_default('connect_timeout', 1, group='validation')

View File

@ -14,17 +14,10 @@
import mock
from oslotest import base
from oslotest import moxstubout
class TestCase(base.BaseTestCase):
def setUp(self):
super(TestCase, self).setUp()
mox_fixture = self.useFixture(moxstubout.MoxStubout())
self.mox = mox_fixture.mox
self.stubs = mox_fixture.stubs
def patch(self, target, **kwargs):
"""Returns a started `mock.patch` object for the supplied target.
@ -42,3 +35,15 @@ class TestCase(base.BaseTestCase):
m = p.start()
self.addCleanup(p.stop)
return m
def patchobject(self, target, attribute, new=mock.DEFAULT):
"""Convenient wrapper around `mock.patch.object`
Returns a started mock that will be automatically stopped after the
test ran.
"""
p = mock.patch.object(target, attribute, new)
m = p.start()
self.addCleanup(p.stop)
return m

View File

@ -41,7 +41,7 @@ class BaseAuthTestsSetUp(base.TestCase):
def setUp(self):
super(BaseAuthTestsSetUp, self).setUp()
self.stubs.Set(auth, 'get_credentials', fake_get_credentials)
self.patchobject(auth, 'get_credentials', fake_get_credentials)
self.auth_provider = self._auth(self.credentials,
fake_identity.FAKE_AUTH_URL)
@ -118,8 +118,8 @@ class TestKeystoneV2AuthProvider(BaseAuthTestsSetUp):
def setUp(self):
super(TestKeystoneV2AuthProvider, self).setUp()
self.stubs.Set(v2_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
self.patchobject(v2_client.TokenClient, 'raw_request',
fake_identity._fake_v2_response)
self.target_url = 'test_api'
def _get_fake_identity(self):
@ -433,8 +433,8 @@ class TestKeystoneV3AuthProvider(TestKeystoneV2AuthProvider):
def setUp(self):
super(TestKeystoneV3AuthProvider, self).setUp()
self.stubs.Set(v3_client.V3TokenClient, 'raw_request',
fake_identity._fake_v3_response)
self.patchobject(v3_client.V3TokenClient, 'raw_request',
fake_identity._fake_v3_response)
def _get_fake_identity(self):
return fake_identity.IDENTITY_V3_RESPONSE['token']

View File

@ -72,8 +72,8 @@ class KeystoneV2CredentialsTests(CredentialsTests):
def setUp(self):
super(KeystoneV2CredentialsTests, self).setUp()
self.stubs.Set(self.tokenclient_class, 'raw_request',
self.identity_response)
self.patchobject(self.tokenclient_class, 'raw_request',
self.identity_response)
def _verify_credentials(self, credentials_class, creds_dict, filled=True):
creds = auth.get_credentials(fake_identity.FAKE_AUTH_URL,

View File

@ -37,9 +37,7 @@ class BaseRestClientTestClass(base.TestCase):
self.fake_auth_provider = fake_auth_provider.FakeAuthProvider()
self.rest_client = rest_client.RestClient(
self.fake_auth_provider, None, None)
self.stubs.Set(http.ClosingHttp, 'request',
self.fake_http.request)
self.patchobject(http.ClosingHttp, 'request', self.fake_http.request)
self.useFixture(mockpatch.PatchObject(self.rest_client,
'_log_request'))

View File

@ -37,7 +37,8 @@ class TestNegativeAutoTest(base.TestCase):
def setUp(self):
super(TestNegativeAutoTest, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
def _check_prop_entries(self, result, entry):
entries = [a for a in result if entry in a[0]]

View File

@ -30,7 +30,8 @@ class BaseDecoratorsTest(base.TestCase):
def setUp(self):
super(BaseDecoratorsTest, self).setUp()
self.config_fixture = self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
class TestAttrDecorator(BaseDecoratorsTest):

View File

@ -57,8 +57,8 @@ class TestMicroversionsTestsClass(base.TestCase):
def setUp(self):
super(TestMicroversionsTestsClass, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
def _test_version(self, cfg_min, cfg_max,
expected_pass_tests,

View File

@ -32,7 +32,8 @@ class TestNegativeRestClient(base.TestCase):
def setUp(self):
super(TestNegativeRestClient, self).setUp()
self.useFixture(fake_config.ConfigFixture())
self.stubs.Set(config, 'TempestConfigPrivate', fake_config.FakePrivate)
self.patchobject(config, 'TempestConfigPrivate',
fake_config.FakePrivate)
self.negative_rest_client = negative_rest_client.NegativeRestClient(
fake_auth_provider.FakeAuthProvider(), None)
self.useFixture(mockpatch.PatchObject(self.negative_rest_client,

View File

@ -7,7 +7,6 @@ sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
python-subunit>=0.0.18 # Apache-2.0/BSD
oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
reno>=1.6.2 # Apache2
mox>=0.5.3 # Apache-2.0
mock>=1.2 # BSD
coverage>=3.6 # Apache-2.0
oslotest>=1.10.0 # Apache-2.0