Stop using mox in unit/api/contrib/ tests (2/2)

As mox is not compatible with python 3, all test cases
that use mox should be updated to use mock instead.

Replaced stubs.Set() with mock_object() in some classes in
cinder/tests/unit/api/contrib/*.py.

Change-Id: I3039a7ba4f83fd2fcf02fd64733693fb6b2693e3
This commit is contained in:
Dao Cong Tien 2016-08-18 11:43:15 +07:00
parent b12c79e0b3
commit e48f6d9d5a
8 changed files with 65 additions and 64 deletions

View File

@ -25,10 +25,10 @@ from cinder.tests.unit import fake_constants as fake
def return_volume_type_encryption_metadata(context, volume_type_id):
return stub_volume_type_encryption()
return fake_volume_type_encryption()
def stub_volume_type_encryption():
def fake_volume_type_encryption():
values = {
'cipher': 'cipher',
'key_size': 256,
@ -68,8 +68,8 @@ class VolumeEncryptionMetadataTest(test.TestCase):
super(VolumeEncryptionMetadataTest, self).setUp()
self.controller = (volume_encryption_metadata.
VolumeEncryptionMetadataController())
self.stubs.Set(db.sqlalchemy.api, 'volume_type_encryption_get',
return_volume_type_encryption_metadata)
self.mock_object(db.sqlalchemy.api, 'volume_type_encryption_get',
return_volume_type_encryption_metadata)
self.ctxt = context.RequestContext(fake.USER_ID, fake.PROJECT_ID)
self.volume_id = self._create_volume(self.ctxt)
@ -184,8 +184,8 @@ class VolumeEncryptionMetadataTest(test.TestCase):
self.assertEqual(fake.ENCRYPTION_KEY_ID, res.body.decode())
def test_show_volume_not_encrypted_type(self):
self.stubs.Set(db.sqlalchemy.api, 'volume_type_encryption_get',
lambda *args, **kwargs: None)
self.mock_object(db.sqlalchemy.api, 'volume_type_encryption_get',
return_value=None)
volume_id = self._create_volume(self.ctxt, encryption_key_id=None)
self.addCleanup(db.volume_destroy, self.ctxt.elevated(), volume_id)
@ -198,8 +198,8 @@ class VolumeEncryptionMetadataTest(test.TestCase):
self.assertEqual(0, len(res.body))
def test_index_volume_not_encrypted_type(self):
self.stubs.Set(db.sqlalchemy.api, 'volume_type_encryption_get',
lambda *args, **kwargs: None)
self.mock_object(db.sqlalchemy.api, 'volume_type_encryption_get',
return_value=None)
volume_id = self._create_volume(self.ctxt, encryption_key_id=None)
self.addCleanup(db.volume_destroy, self.ctxt.elevated(), volume_id)

View File

@ -69,9 +69,9 @@ class VolumeHostAttributeTest(test.TestCase):
def setUp(self):
super(VolumeHostAttributeTest, self).setUp()
self.stubs.Set(volume.api.API, 'get', fake_volume_api_get)
self.stubs.Set(volume.api.API, 'get_all', fake_volume_get_all)
self.stubs.Set(db, 'volume_get', fake_db_volume_get)
self.mock_object(volume.api.API, 'get', fake_volume_api_get)
self.mock_object(volume.api.API, 'get_all', fake_volume_get_all)
self.mock_object(db, 'volume_get', fake_db_volume_get)
self.UUID = uuid.uuid4()

View File

@ -101,12 +101,12 @@ class VolumeImageMetadataTest(test.TestCase):
def setUp(self):
super(VolumeImageMetadataTest, self).setUp()
self.stubs.Set(volume.api.API, 'get', fake_volume_api_get)
self.stubs.Set(volume.api.API, 'get_all', fake_volume_get_all)
self.stubs.Set(volume.api.API, 'get_volume_image_metadata',
fake_get_volume_image_metadata)
self.stubs.Set(volume.api.API, 'get_volumes_image_metadata',
fake_get_volumes_image_metadata)
self.mock_object(volume.api.API, 'get', fake_volume_api_get)
self.mock_object(volume.api.API, 'get_all', fake_volume_get_all)
self.mock_object(volume.api.API, 'get_volume_image_metadata',
fake_get_volume_image_metadata)
self.mock_object(volume.api.API, 'get_volumes_image_metadata',
fake_get_volumes_image_metadata)
self.UUID = uuid.uuid4()
self.controller = (volume_image_metadata.
VolumeImageMetadataController())
@ -162,9 +162,10 @@ class VolumeImageMetadataTest(test.TestCase):
def fake_dont_call_this(*args, **kwargs):
fake_dont_call_this.called = True
fake_dont_call_this.called = False
self.stubs.Set(volume.api.API, 'get_list_volumes_image_metadata',
fake_dont_call_this)
self.stubs.Set(volume.api.API, 'get_all', fake_volume_get_all_empty)
self.mock_object(volume.api.API, 'get_list_volumes_image_metadata',
fake_dont_call_this)
self.mock_object(volume.api.API, 'get_all',
fake_volume_get_all_empty)
res = self._make_request('/v2/%s/volumes/detail' % fake.PROJECT_ID)
self.assertEqual(200, res.status_int)
@ -186,10 +187,10 @@ class VolumeImageMetadataTest(test.TestCase):
self._get_image_metadata_list(res.body)[0])
def test_create_image_metadata(self):
self.stubs.Set(volume.api.API, 'get_volume_image_metadata',
return_empty_image_metadata)
self.stubs.Set(db, 'volume_metadata_update',
fake_create_volume_metadata)
self.mock_object(volume.api.API, 'get_volume_image_metadata',
return_empty_image_metadata)
self.mock_object(db, 'volume_metadata_update',
fake_create_volume_metadata)
body = {"os-set_image_metadata": {"metadata": fake_image_metadata}}
req = webob.Request.blank('/v2/%s/volumes/%s/action' % (
@ -207,10 +208,10 @@ class VolumeImageMetadataTest(test.TestCase):
def test_create_with_keys_case_insensitive(self):
# If the keys in uppercase_and_lowercase, should return the one
# which server added
self.stubs.Set(volume.api.API, 'get_volume_image_metadata',
return_empty_image_metadata)
self.stubs.Set(db, 'volume_metadata_update',
fake_create_volume_metadata)
self.mock_object(volume.api.API, 'get_volume_image_metadata',
return_empty_image_metadata)
self.mock_object(db, 'volume_metadata_update',
fake_create_volume_metadata)
body = {
"os-set_image_metadata": {
@ -245,7 +246,7 @@ class VolumeImageMetadataTest(test.TestCase):
self.controller.create, req, fake.VOLUME_ID, None)
def test_create_nonexistent_volume(self):
self.stubs.Set(volume.api.API, 'get', return_volume_nonexistent)
self.mock_object(volume.api.API, 'get', return_volume_nonexistent)
req = fakes.HTTPRequest.blank('/v2/%s/volumes/%s/action' % (
fake.PROJECT_ID, fake.VOLUME_ID))
@ -259,8 +260,8 @@ class VolumeImageMetadataTest(test.TestCase):
self.controller.create, req, fake.VOLUME_ID, body)
def test_invalid_metadata_items_on_create(self):
self.stubs.Set(db, 'volume_metadata_update',
fake_create_volume_metadata)
self.mock_object(db, 'volume_metadata_update',
fake_create_volume_metadata)
req = fakes.HTTPRequest.blank('/v2/%s/volumes/%s/action' % (
fake.PROJECT_ID, fake.VOLUME_ID))
req.method = 'POST'
@ -292,8 +293,8 @@ class VolumeImageMetadataTest(test.TestCase):
self.controller.create, req, fake.VOLUME_ID, data)
def test_delete(self):
self.stubs.Set(db, 'volume_metadata_delete',
volume_metadata_delete)
self.mock_object(db, 'volume_metadata_delete',
volume_metadata_delete)
body = {"os-unset_image_metadata": {
"key": "ramdisk_id"}
@ -322,8 +323,8 @@ class VolumeImageMetadataTest(test.TestCase):
self.controller.delete, req, fake.VOLUME_ID, data)
def test_delete_nonexistent_volume(self):
self.stubs.Set(db, 'volume_metadata_delete',
return_volume_nonexistent)
self.mock_object(db, 'volume_metadata_delete',
return_volume_nonexistent)
body = {"os-unset_image_metadata": {
"key": "fake"}

View File

@ -68,8 +68,8 @@ class VolumeMigStatusAttributeTest(test.TestCase):
def setUp(self):
super(VolumeMigStatusAttributeTest, self).setUp()
self.stubs.Set(volume.api.API, 'get', fake_volume_api_get)
self.stubs.Set(volume.api.API, 'get_all', fake_volume_get_all)
self.mock_object(volume.api.API, 'get', fake_volume_api_get)
self.mock_object(volume.api.API, 'get_all', fake_volume_get_all)
self.UUID = uuid.uuid4()
def test_get_volume_allowed(self):

View File

@ -54,8 +54,8 @@ class VolumeTenantAttributeTest(test.TestCase):
def setUp(self):
super(VolumeTenantAttributeTest, self).setUp()
self.stubs.Set(volume.api.API, 'get', fake_volume_get)
self.stubs.Set(volume.api.API, 'get_all', fake_volume_get_all)
self.mock_object(volume.api.API, 'get', fake_volume_get)
self.mock_object(volume.api.API, 'get_all', fake_volume_get_all)
self.UUID = uuid.uuid4()
def test_get_volume_allowed(self):

View File

@ -445,7 +445,7 @@ class VolumeTransferAPITestCase(test.TestCase):
consumed='2',
quota='3')
self.stubs.Set(
self.mock_object(
cinder.transfer.API,
'accept',
fake_transfer_api_accept_throwing_VolumeSizeExceedsAvailableQuota)
@ -480,8 +480,8 @@ class VolumeTransferAPITestCase(test.TestCase):
volume_id):
raise exception.VolumeLimitExceeded(allowed=1)
self.stubs.Set(cinder.transfer.API, 'accept',
fake_transfer_api_accept_throwing_VolumeLimitExceeded)
self.mock_object(cinder.transfer.API, 'accept',
fake_transfer_api_accept_throwing_VolumeLimitExceeded)
volume_id = self._create_volume()
transfer = self._create_transfer(volume_id)

View File

@ -115,10 +115,10 @@ class VolumeTypeAccessTest(test.TestCase):
self.type_action_controller = type_access.VolumeTypeActionController()
self.req = FakeRequest()
self.context = self.req.environ['cinder.context']
self.stubs.Set(db, 'volume_type_get',
fake_volume_type_get)
self.stubs.Set(db, 'volume_type_get_all',
fake_volume_type_get_all)
self.mock_object(db, 'volume_type_get',
fake_volume_type_get)
self.mock_object(db, 'volume_type_get_all',
fake_volume_type_get_all)
def assertVolumeTypeListEqual(self, expected, observed):
self.assertEqual(len(expected), len(observed))
@ -152,7 +152,7 @@ class VolumeTypeAccessTest(test.TestCase):
def fake_authorize(context, target=None, action=None):
raise exception.PolicyNotAuthorized(action='index')
self.stubs.Set(type_access, 'authorize', fake_authorize)
self.mock_object(type_access, 'authorize', fake_authorize)
self.assertRaises(exception.PolicyNotAuthorized,
self.type_access_controller.index,
@ -286,11 +286,11 @@ class VolumeTypeAccessTest(test.TestCase):
resp.obj['volume_type'])
def test_add_project_access(self):
def stub_add_volume_type_access(context, type_id, project_id):
def fake_add_volume_type_access(context, type_id, project_id):
self.assertEqual(fake.VOLUME_TYPE4_ID, type_id, "type_id")
self.assertEqual(PROJ2_UUID, project_id, "project_id")
self.stubs.Set(db, 'volume_type_access_add',
stub_add_volume_type_access)
self.mock_object(db, 'volume_type_access_add',
fake_add_volume_type_access)
body = {'addProjectAccess': {'project': PROJ2_UUID}}
req = fakes.HTTPRequest.blank('/v2/%s/types/%s/action' % (
fake.PROJECT_ID, fake.VOLUME_TYPE3_ID),
@ -309,11 +309,11 @@ class VolumeTypeAccessTest(test.TestCase):
req, fake.VOLUME_TYPE3_ID, body)
def test_add_project_access_with_already_added_access(self):
def stub_add_volume_type_access(context, type_id, project_id):
def fake_add_volume_type_access(context, type_id, project_id):
raise exception.VolumeTypeAccessExists(volume_type_id=type_id,
project_id=project_id)
self.stubs.Set(db, 'volume_type_access_add',
stub_add_volume_type_access)
self.mock_object(db, 'volume_type_access_add',
fake_add_volume_type_access)
body = {'addProjectAccess': {'project': PROJ2_UUID}}
req = fakes.HTTPRequest.blank('/v2/%s/types/%s/action' % (
fake.PROJECT_ID, fake.VOLUME_TYPE3_ID), use_admin_context=True)
@ -322,11 +322,11 @@ class VolumeTypeAccessTest(test.TestCase):
req, fake.VOLUME_TYPE3_ID, body)
def test_remove_project_access_with_bad_access(self):
def stub_remove_volume_type_access(context, type_id, project_id):
def fake_remove_volume_type_access(context, type_id, project_id):
raise exception.VolumeTypeAccessNotFound(volume_type_id=type_id,
project_id=project_id)
self.stubs.Set(db, 'volume_type_access_remove',
stub_remove_volume_type_access)
self.mock_object(db, 'volume_type_access_remove',
fake_remove_volume_type_access)
body = {'removeProjectAccess': {'project': PROJ2_UUID}}
req = fakes.HTTPRequest.blank('/v2/%s/types/%s/action' % (
fake.PROJECT_ID, fake.VOLUME_TYPE3_ID), use_admin_context=True)

View File

@ -27,10 +27,10 @@ from cinder import utils
def return_volume_type_encryption(context, volume_type_id):
return stub_volume_type_encryption()
return fake_volume_type_encryption()
def stub_volume_type_encryption():
def fake_volume_type_encryption():
values = {
'cipher': 'fake_cipher',
'control_location': 'front-end',
@ -72,7 +72,7 @@ class VolumeTypeEncryptionTest(test.TestCase):
def _create_type_and_encryption(self, volume_type, body=None):
if body is None:
body = {"encryption": stub_volume_type_encryption()}
body = {"encryption": fake_volume_type_encryption()}
db.volume_type_create(context.get_admin_context(), volume_type)
@ -81,8 +81,8 @@ class VolumeTypeEncryptionTest(test.TestCase):
req_headers='application/json')
def test_index(self):
self.stubs.Set(db, 'volume_type_encryption_get',
return_volume_type_encryption)
self.mock_object(db, 'volume_type_encryption_get',
return_volume_type_encryption)
volume_type = self._default_volume_type
self._create_type_and_encryption(volume_type)
@ -91,7 +91,7 @@ class VolumeTypeEncryptionTest(test.TestCase):
self.assertEqual(200, res.status_code)
res_dict = jsonutils.loads(res.body)
expected = stub_volume_type_encryption()
expected = fake_volume_type_encryption()
self.assertEqual(expected, res_dict)
db.volume_type_destroy(context.get_admin_context(), volume_type['id'])
@ -211,7 +211,7 @@ class VolumeTypeEncryptionTest(test.TestCase):
def test_create_invalid_volume_type(self):
volume_type = self._default_volume_type
body = {"encryption": stub_volume_type_encryption()}
body = {"encryption": fake_volume_type_encryption()}
# Attempt to create encryption without first creating type
res = self._get_response(volume_type, req_method='POST',
@ -233,7 +233,7 @@ class VolumeTypeEncryptionTest(test.TestCase):
def test_create_encryption_type_exists(self):
volume_type = self._default_volume_type
body = {"encryption": stub_volume_type_encryption()}
body = {"encryption": fake_volume_type_encryption()}
self._create_type_and_encryption(volume_type, body)
# Try to create encryption specs for a volume type