Fix tests broken by novaclient 4.0.0 release
The release of python-novaclient 4.0.0 removed both volume_types and volume_snapshots from the v2 namespace. Both of these data types are supplied by cinder, but the Horizon test data was still populating them in nova test data and the tests were using the nova values. This patch removes the missing namespace references and replaces the mocked test data with those mocked for cinder. Additionally, the change exposed a rather broken test in the QoS for volume_types test suite. This test has been fixed and improved to exercise more branches. This fix will unblock the gate for Horizon. Closes-Bug: #1572246 Change-Id: I9604cd4046a5ab1486373d0572ddf504d4691196
This commit is contained in:
parent
0d6703d017
commit
5d6003971f
|
@ -181,7 +181,7 @@ class VolumeTests(test.BaseAdminViewTests):
|
||||||
self.cinder_volume_encryption_types.list()[1])
|
self.cinder_volume_encryption_types.list()[1])
|
||||||
cinder.volume_type_list_with_qos_associations(
|
cinder.volume_type_list_with_qos_associations(
|
||||||
IsA(http.HttpRequest)).\
|
IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.cinder_qos_specs.list())
|
AndReturn(self.cinder_qos_specs.list())
|
||||||
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
||||||
|
@ -198,7 +198,7 @@ class VolumeTests(test.BaseAdminViewTests):
|
||||||
self.assertTemplateUsed(
|
self.assertTemplateUsed(
|
||||||
res, 'admin/volumes/volume_types/volume_types_tables.html')
|
res, 'admin/volumes/volume_types/volume_types_tables.html')
|
||||||
volume_types = res.context['volume_types_table'].data
|
volume_types = res.context['volume_types_table'].data
|
||||||
self.assertItemsEqual(volume_types, self.volume_types.list())
|
self.assertItemsEqual(volume_types, self.cinder_volume_types.list())
|
||||||
qos_specs = res.context['qos_specs_table'].data
|
qos_specs = res.context['qos_specs_table'].data
|
||||||
self.assertItemsEqual(qos_specs, self.cinder_qos_specs.list())
|
self.assertItemsEqual(qos_specs, self.cinder_qos_specs.list())
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ class QosSpecsTests(test.BaseAdminViewTests):
|
||||||
|
|
||||||
api.cinder.volume_type_list_with_qos_associations(
|
api.cinder.volume_type_list_with_qos_associations(
|
||||||
IsA(http.HttpRequest)).\
|
IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
api.cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
api.cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
||||||
.AndReturn(self.cinder_volume_encryption_types.list()[0:1])
|
.AndReturn(self.cinder_volume_encryption_types.list()[0:1])
|
||||||
api.cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
api.cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
||||||
|
@ -152,37 +152,43 @@ class QosSpecsTests(test.BaseAdminViewTests):
|
||||||
'qos_spec_get',
|
'qos_spec_get',
|
||||||
'qos_spec_get_associations',
|
'qos_spec_get_associations',
|
||||||
'volume_type_get',
|
'volume_type_get',
|
||||||
'qos_spec_associate',), })
|
'qos_spec_associate',
|
||||||
|
'qos_spec_disassociate'), })
|
||||||
def test_associate_qos_spec(self):
|
def test_associate_qos_spec(self):
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
volume_types = self.volume_types.list()
|
volume_types = self.cinder_volume_types.list()
|
||||||
qos_spec = self.cinder_qos_specs.first()
|
|
||||||
qos_specs = self.cinder_qos_specs.list()
|
qos_specs = self.cinder_qos_specs.list()
|
||||||
|
|
||||||
# associate qos spec with volume type
|
# associate qos spec with volume type
|
||||||
formData = {'qos_spec_choice': qos_spec.id}
|
formData = {'qos_spec_choice': qos_specs[0].id}
|
||||||
|
|
||||||
edit_url = reverse(
|
edit_url = reverse(
|
||||||
'horizon:admin:volumes:volume_types:manage_qos_spec_association',
|
'horizon:admin:volumes:volume_types:manage_qos_spec_association',
|
||||||
args=[volume_type.id])
|
args=[volume_type.id])
|
||||||
|
|
||||||
api.cinder.qos_spec_get(IsA(http.HttpRequest),
|
# for maximum code coverage, this test swaps the QoS association
|
||||||
qos_spec.id).AndReturn(qos_spec)
|
# on one volume type moving the QoS assigned from 1 to 0
|
||||||
|
api.cinder.volume_type_get(IsA(http.HttpRequest),
|
||||||
|
volume_type.id) \
|
||||||
|
.AndReturn(volume_type)
|
||||||
api.cinder.qos_spec_list(IsA(http.HttpRequest)) \
|
api.cinder.qos_spec_list(IsA(http.HttpRequest)) \
|
||||||
.AndReturn(qos_specs)
|
.MultipleTimes().AndReturn(qos_specs)
|
||||||
api.cinder.qos_spec_get_associations(IsA(http.HttpRequest),
|
api.cinder.qos_spec_get_associations(IsA(http.HttpRequest),
|
||||||
qos_spec.id) \
|
qos_specs[0].id) \
|
||||||
.AndReturn(volume_types)
|
.AndReturn([])
|
||||||
|
|
||||||
api.cinder.qos_spec_get_associations(IsA(http.HttpRequest),
|
api.cinder.qos_spec_get_associations(IsA(http.HttpRequest),
|
||||||
qos_specs[1].id) \
|
qos_specs[1].id) \
|
||||||
.AndReturn(volume_types)
|
.AndReturn(volume_types)
|
||||||
api.cinder.volume_type_get(IsA(http.HttpRequest),
|
api.cinder.qos_spec_get(IsA(http.HttpRequest),
|
||||||
str(volume_type.id)) \
|
qos_specs[1].id).AndReturn(qos_specs[1])
|
||||||
.AndReturn(volume_type)
|
api.cinder.qos_spec_disassociate(IsA(http.HttpRequest),
|
||||||
|
qos_specs[1],
|
||||||
|
volume_type.id)
|
||||||
|
api.cinder.qos_spec_get(IsA(http.HttpRequest),
|
||||||
|
qos_specs[0].id).AndReturn(qos_specs[0])
|
||||||
api.cinder.qos_spec_associate(IsA(http.HttpRequest),
|
api.cinder.qos_spec_associate(IsA(http.HttpRequest),
|
||||||
qos_spec,
|
qos_specs[0],
|
||||||
str(volume_type.id))
|
volume_type.id)
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
resp = self.client.post(edit_url, formData)
|
resp = self.client.post(edit_url, formData)
|
||||||
|
|
|
@ -31,7 +31,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
IsA(http.HttpRequest),
|
IsA(http.HttpRequest),
|
||||||
formData['name'],
|
formData['name'],
|
||||||
formData['vol_type_description']).AndReturn(
|
formData['vol_type_description']).AndReturn(
|
||||||
self.volume_types.first())
|
self.cinder_volume_types.first())
|
||||||
self.mox.ReplayAll()
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
res = self.client.post(
|
res = self.client.post(
|
||||||
|
@ -78,7 +78,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
|
|
||||||
cinder.volume_type_list_with_qos_associations(
|
cinder.volume_type_list_with_qos_associations(
|
||||||
IsA(http.HttpRequest)).\
|
IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.cinder_qos_specs.list())
|
AndReturn(self.cinder_qos_specs.list())
|
||||||
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
||||||
|
@ -103,14 +103,14 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
'volume_encryption_type_list'),
|
'volume_encryption_type_list'),
|
||||||
keystone: ('tenant_list',)})
|
keystone: ('tenant_list',)})
|
||||||
def test_delete_volume_type_exception(self):
|
def test_delete_volume_type_exception(self):
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
formData = {'action': 'volume_types__delete__%s' % volume_type.id}
|
formData = {'action': 'volume_types__delete__%s' % volume_type.id}
|
||||||
encryption_list = (self.cinder_volume_encryption_types.list()[0],
|
encryption_list = (self.cinder_volume_encryption_types.list()[0],
|
||||||
self.cinder_volume_encryption_types.list()[1])
|
self.cinder_volume_encryption_types.list()[1])
|
||||||
|
|
||||||
cinder.volume_type_list_with_qos_associations(
|
cinder.volume_type_list_with_qos_associations(
|
||||||
IsA(http.HttpRequest)).\
|
IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
cinder.qos_spec_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.cinder_qos_specs.list())
|
AndReturn(self.cinder_qos_specs.list())
|
||||||
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
||||||
|
@ -131,8 +131,8 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
@test.create_stubs({cinder: ('volume_encryption_type_create',
|
@test.create_stubs({cinder: ('volume_encryption_type_create',
|
||||||
'volume_type_list',)})
|
'volume_type_list',)})
|
||||||
def test_create_volume_type_encryption(self):
|
def test_create_volume_type_encryption(self):
|
||||||
volume_type1 = self.volume_types.list()[0]
|
volume_type1 = self.cinder_volume_types.list()[0]
|
||||||
volume_type2 = self.volume_types.list()[1]
|
volume_type2 = self.cinder_volume_types.list()[1]
|
||||||
volume_type1.id = u'1'
|
volume_type1.id = u'1'
|
||||||
volume_type2.id = u'2'
|
volume_type2.id = u'2'
|
||||||
volume_type_list = [volume_type1, volume_type2]
|
volume_type_list = [volume_type1, volume_type2]
|
||||||
|
@ -164,7 +164,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
@test.create_stubs({cinder: ('volume_encryption_type_get',
|
@test.create_stubs({cinder: ('volume_encryption_type_get',
|
||||||
'volume_type_list',)})
|
'volume_type_list',)})
|
||||||
def test_type_encryption_detail_view_unencrypted(self):
|
def test_type_encryption_detail_view_unencrypted(self):
|
||||||
volume_type1 = self.volume_types.list()[0]
|
volume_type1 = self.cinder_volume_types.list()[0]
|
||||||
volume_type1.id = u'1'
|
volume_type1.id = u'1'
|
||||||
volume_type_list = [volume_type1]
|
volume_type_list = [volume_type1]
|
||||||
vol_unenc_type = self.cinder_volume_encryption_types.list()[2]
|
vol_unenc_type = self.cinder_volume_encryption_types.list()[2]
|
||||||
|
@ -193,7 +193,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
@test.create_stubs({cinder: ('volume_encryption_type_get',
|
@test.create_stubs({cinder: ('volume_encryption_type_get',
|
||||||
'volume_type_list',)})
|
'volume_type_list',)})
|
||||||
def test_type_encryption_detail_view_encrypted(self):
|
def test_type_encryption_detail_view_encrypted(self):
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
volume_type.id = u'1'
|
volume_type.id = u'1'
|
||||||
volume_type.name = "An Encrypted Volume Name"
|
volume_type.name = "An Encrypted Volume Name"
|
||||||
volume_type_list = [volume_type]
|
volume_type_list = [volume_type]
|
||||||
|
@ -233,7 +233,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
'volume_encryption_type_list',
|
'volume_encryption_type_list',
|
||||||
'volume_encryption_type_delete',)})
|
'volume_encryption_type_delete',)})
|
||||||
def test_delete_volume_type_encryption(self):
|
def test_delete_volume_type_encryption(self):
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
volume_type.id = u'1'
|
volume_type.id = u'1'
|
||||||
formData = {'action': 'volume_types__delete_encryption__%s' %
|
formData = {'action': 'volume_types__delete_encryption__%s' %
|
||||||
volume_type.id}
|
volume_type.id}
|
||||||
|
@ -245,7 +245,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
.AndReturn(True)
|
.AndReturn(True)
|
||||||
cinder.volume_type_list_with_qos_associations(
|
cinder.volume_type_list_with_qos_associations(
|
||||||
IsA(http.HttpRequest))\
|
IsA(http.HttpRequest))\
|
||||||
.AndReturn(self.volume_types.list())
|
.AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.qos_spec_list(IsA(http.HttpRequest))\
|
cinder.qos_spec_list(IsA(http.HttpRequest))\
|
||||||
.AndReturn(self.cinder_qos_specs.list())
|
.AndReturn(self.cinder_qos_specs.list())
|
||||||
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
cinder.volume_encryption_type_list(IsA(http.HttpRequest))\
|
||||||
|
@ -266,7 +266,7 @@ class VolumeTypeTests(test.BaseAdminViewTests):
|
||||||
'volume_encryption_type_get',
|
'volume_encryption_type_get',
|
||||||
'volume_type_list')})
|
'volume_type_list')})
|
||||||
def test_update_volume_type_encryption(self):
|
def test_update_volume_type_encryption(self):
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
volume_type.id = u'1'
|
volume_type.id = u'1'
|
||||||
volume_type_list = [volume_type]
|
volume_type_list = [volume_type]
|
||||||
formData = {'name': u'An Encrypted Volume Type',
|
formData = {'name': u'An Encrypted Volume Type',
|
||||||
|
|
|
@ -60,7 +60,7 @@ class VolumeViewTests(test.BaseAdminViewTests):
|
||||||
'bootable': False}
|
'bootable': False}
|
||||||
cinder.volume_type_list(
|
cinder.volume_type_list(
|
||||||
IsA(http.HttpRequest)).\
|
IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.availability_zone_list(
|
cinder.availability_zone_list(
|
||||||
IsA(http.HttpRequest)).\
|
IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.availability_zones.list())
|
AndReturn(self.availability_zones.list())
|
||||||
|
|
|
@ -34,7 +34,7 @@ class ConsistencyGroupTests(test.TestCase):
|
||||||
'extension_supported')})
|
'extension_supported')})
|
||||||
def test_create_cgroup(self):
|
def test_create_cgroup(self):
|
||||||
cgroup = self.cinder_consistencygroups.first()
|
cgroup = self.cinder_consistencygroups.first()
|
||||||
volume_types = self.volume_types.list()
|
volume_types = self.cinder_volume_types.list()
|
||||||
az = self.cinder_availability_zones.first().zoneName
|
az = self.cinder_availability_zones.first().zoneName
|
||||||
formData = {'volume_types': '1',
|
formData = {'volume_types': '1',
|
||||||
'name': 'test CG',
|
'name': 'test CG',
|
||||||
|
@ -72,7 +72,7 @@ class ConsistencyGroupTests(test.TestCase):
|
||||||
'availability_zone_list',
|
'availability_zone_list',
|
||||||
'extension_supported')})
|
'extension_supported')})
|
||||||
def test_create_cgroup_exception(self):
|
def test_create_cgroup_exception(self):
|
||||||
volume_types = self.volume_types.list()
|
volume_types = self.cinder_volume_types.list()
|
||||||
az = self.cinder_availability_zones.first().zoneName
|
az = self.cinder_availability_zones.first().zoneName
|
||||||
formData = {'volume_types': '1',
|
formData = {'volume_types': '1',
|
||||||
'name': 'test CG',
|
'name': 'test CG',
|
||||||
|
|
|
@ -52,7 +52,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
quotas: ('tenant_limit_usages',)})
|
quotas: ('tenant_limit_usages',)})
|
||||||
def test_create_volume(self):
|
def test_create_volume(self):
|
||||||
volume = self.cinder_volumes.first()
|
volume = self.cinder_volumes.first()
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
az = self.cinder_availability_zones.first().zoneName
|
az = self.cinder_availability_zones.first().zoneName
|
||||||
usage_limit = {'maxTotalVolumeGigabytes': 250,
|
usage_limit = {'maxTotalVolumeGigabytes': 250,
|
||||||
'gigabytesUsed': 20,
|
'gigabytesUsed': 20,
|
||||||
|
@ -67,9 +67,9 @@ class VolumeViewTests(test.TestCase):
|
||||||
'availability_zone': az}
|
'availability_zone': az}
|
||||||
|
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
|
@ -125,7 +125,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
quotas: ('tenant_limit_usages',)})
|
quotas: ('tenant_limit_usages',)})
|
||||||
def test_create_volume_without_name(self):
|
def test_create_volume_without_name(self):
|
||||||
volume = self.cinder_volumes.first()
|
volume = self.cinder_volumes.first()
|
||||||
volume_type = self.volume_types.first()
|
volume_type = self.cinder_volume_types.first()
|
||||||
az = self.cinder_availability_zones.first().zoneName
|
az = self.cinder_availability_zones.first().zoneName
|
||||||
usage_limit = {'maxTotalVolumeGigabytes': 250,
|
usage_limit = {'maxTotalVolumeGigabytes': 250,
|
||||||
'gigabytesUsed': 20,
|
'gigabytesUsed': 20,
|
||||||
|
@ -140,7 +140,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
'availability_zone': az}
|
'availability_zone': az}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
|
@ -161,7 +161,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
cinder.extension_supported(IsA(http.HttpRequest), 'AvailabilityZones')\
|
cinder.extension_supported(IsA(http.HttpRequest), 'AvailabilityZones')\
|
||||||
.AndReturn(True)
|
.AndReturn(True)
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_list(IsA(
|
cinder.volume_list(IsA(
|
||||||
http.HttpRequest),
|
http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list())
|
search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list())
|
||||||
|
@ -211,9 +211,9 @@ class VolumeViewTests(test.TestCase):
|
||||||
'image_source': self.images.first().id}
|
'image_source': self.images.first().id}
|
||||||
|
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).\
|
search_opts=SEARCH_OPTS).\
|
||||||
AndReturn(self.cinder_volume_snapshots.list())
|
AndReturn(self.cinder_volume_snapshots.list())
|
||||||
|
@ -277,9 +277,9 @@ class VolumeViewTests(test.TestCase):
|
||||||
'snapshot_source': snapshot.id}
|
'snapshot_source': snapshot.id}
|
||||||
|
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
cinder.volume_snapshot_get(IsA(http.HttpRequest),
|
cinder.volume_snapshot_get(IsA(http.HttpRequest),
|
||||||
|
@ -335,11 +335,11 @@ class VolumeViewTests(test.TestCase):
|
||||||
'volume_source': volume.id}
|
'volume_source': volume.id}
|
||||||
|
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_list(IsA(http.HttpRequest), search_opts=SEARCH_OPTS).\
|
cinder.volume_list(IsA(http.HttpRequest), search_opts=SEARCH_OPTS).\
|
||||||
AndReturn(self.cinder_volumes.list())
|
AndReturn(self.cinder_volumes.list())
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).\
|
search_opts=SEARCH_OPTS).\
|
||||||
AndReturn(self.cinder_volume_snapshots.list())
|
AndReturn(self.cinder_volume_snapshots.list())
|
||||||
|
@ -408,7 +408,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
'snapshot_source': snapshot.id}
|
'snapshot_source': snapshot.id}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).\
|
search_opts=SEARCH_OPTS).\
|
||||||
AndReturn(self.cinder_volume_snapshots.list())
|
AndReturn(self.cinder_volume_snapshots.list())
|
||||||
|
@ -422,7 +422,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
'status': 'active'}) \
|
'status': 'active'}) \
|
||||||
.AndReturn([[], False, False])
|
.AndReturn([[], False, False])
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_list(IsA(
|
cinder.volume_list(IsA(
|
||||||
http.HttpRequest),
|
http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list())
|
search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list())
|
||||||
|
@ -474,12 +474,12 @@ class VolumeViewTests(test.TestCase):
|
||||||
'size': 20, 'snapshot_source': snapshot.id}
|
'size': 20, 'snapshot_source': snapshot.id}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
cinder.volume_snapshot_get(IsA(http.HttpRequest),
|
cinder.volume_snapshot_get(IsA(http.HttpRequest),
|
||||||
|
@ -488,7 +488,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
AndReturn(self.cinder_volumes.first())
|
AndReturn(self.cinder_volumes.first())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)). \
|
cinder.volume_type_default(IsA(http.HttpRequest)). \
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_snapshot_get(IsA(http.HttpRequest),
|
cinder.volume_snapshot_get(IsA(http.HttpRequest),
|
||||||
str(snapshot.id)).AndReturn(snapshot)
|
str(snapshot.id)).AndReturn(snapshot)
|
||||||
cinder.volume_get(IsA(http.HttpRequest), snapshot.volume_id). \
|
cinder.volume_get(IsA(http.HttpRequest), snapshot.volume_id). \
|
||||||
|
@ -527,9 +527,9 @@ class VolumeViewTests(test.TestCase):
|
||||||
'image_source': image.id}
|
'image_source': image.id}
|
||||||
|
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
api.glance.image_get(IsA(http.HttpRequest),
|
api.glance.image_get(IsA(http.HttpRequest),
|
||||||
|
@ -589,7 +589,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
'image_source': image.id}
|
'image_source': image.id}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).\
|
search_opts=SEARCH_OPTS).\
|
||||||
AndReturn(self.cinder_volume_snapshots.list())
|
AndReturn(self.cinder_volume_snapshots.list())
|
||||||
|
@ -603,7 +603,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
'status': 'active'}) \
|
'status': 'active'}) \
|
||||||
.AndReturn([[], False, False])
|
.AndReturn([[], False, False])
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_list(IsA(
|
cinder.volume_list(IsA(
|
||||||
http.HttpRequest),
|
http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list())
|
search_opts=SEARCH_OPTS).AndReturn(self.cinder_volumes.list())
|
||||||
|
@ -656,12 +656,12 @@ class VolumeViewTests(test.TestCase):
|
||||||
'size': 1, 'image_source': image.id}
|
'size': 1, 'image_source': image.id}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
api.glance.image_get(IsA(http.HttpRequest),
|
api.glance.image_get(IsA(http.HttpRequest),
|
||||||
|
@ -672,7 +672,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
self.cinder_availability_zones.list())
|
self.cinder_availability_zones.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)). \
|
cinder.volume_type_default(IsA(http.HttpRequest)). \
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
api.glance.image_get(IsA(http.HttpRequest),
|
api.glance.image_get(IsA(http.HttpRequest),
|
||||||
str(image.id)).AndReturn(image)
|
str(image.id)).AndReturn(image)
|
||||||
cinder.extension_supported(IsA(http.HttpRequest),
|
cinder.extension_supported(IsA(http.HttpRequest),
|
||||||
|
@ -711,12 +711,12 @@ class VolumeViewTests(test.TestCase):
|
||||||
'size': 5, 'image_source': image.id}
|
'size': 5, 'image_source': image.id}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
api.glance.image_get(IsA(http.HttpRequest),
|
api.glance.image_get(IsA(http.HttpRequest),
|
||||||
|
@ -727,7 +727,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
self.cinder_availability_zones.list())
|
self.cinder_availability_zones.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
api.glance.image_get(IsA(http.HttpRequest),
|
api.glance.image_get(IsA(http.HttpRequest),
|
||||||
str(image.id)).AndReturn(image)
|
str(image.id)).AndReturn(image)
|
||||||
cinder.extension_supported(IsA(http.HttpRequest),
|
cinder.extension_supported(IsA(http.HttpRequest),
|
||||||
|
@ -776,12 +776,12 @@ class VolumeViewTests(test.TestCase):
|
||||||
'size': 5000}
|
'size': 5000}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
|
@ -805,7 +805,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
self.cinder_availability_zones.list())
|
self.cinder_availability_zones.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS). \
|
search_opts=SEARCH_OPTS). \
|
||||||
AndReturn(self.cinder_volume_snapshots.list())
|
AndReturn(self.cinder_volume_snapshots.list())
|
||||||
|
@ -855,12 +855,12 @@ class VolumeViewTests(test.TestCase):
|
||||||
'size': 10}
|
'size': 10}
|
||||||
|
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
cinder.volume_type_list(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.list())
|
AndReturn(self.cinder_volume_types.list())
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
cinder.volume_type_default(IsA(http.HttpRequest)).\
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
quotas.tenant_limit_usages(IsA(http.HttpRequest)).\
|
||||||
AndReturn(usage_limit)
|
AndReturn(usage_limit)
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
|
@ -884,7 +884,7 @@ class VolumeViewTests(test.TestCase):
|
||||||
self.cinder_availability_zones.list())
|
self.cinder_availability_zones.list())
|
||||||
if django.VERSION >= (1, 9):
|
if django.VERSION >= (1, 9):
|
||||||
cinder.volume_type_default(IsA(http.HttpRequest)). \
|
cinder.volume_type_default(IsA(http.HttpRequest)). \
|
||||||
AndReturn(self.volume_types.first())
|
AndReturn(self.cinder_volume_types.first())
|
||||||
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
cinder.volume_snapshot_list(IsA(http.HttpRequest),
|
||||||
search_opts=SEARCH_OPTS). \
|
search_opts=SEARCH_OPTS). \
|
||||||
AndReturn(self.cinder_volume_snapshots.list())
|
AndReturn(self.cinder_volume_snapshots.list())
|
||||||
|
|
|
@ -30,8 +30,6 @@ from novaclient.v2 import security_groups as sec_groups
|
||||||
from novaclient.v2 import servers
|
from novaclient.v2 import servers
|
||||||
from novaclient.v2 import services
|
from novaclient.v2 import services
|
||||||
from novaclient.v2 import usage
|
from novaclient.v2 import usage
|
||||||
from novaclient.v2 import volume_snapshots as vol_snaps
|
|
||||||
from novaclient.v2 import volume_types
|
|
||||||
from novaclient.v2 import volumes
|
from novaclient.v2 import volumes
|
||||||
|
|
||||||
from openstack_dashboard.api import base
|
from openstack_dashboard.api import base
|
||||||
|
@ -176,8 +174,6 @@ def data(TEST):
|
||||||
TEST.floating_ips_uuid = utils.TestDataContainer()
|
TEST.floating_ips_uuid = utils.TestDataContainer()
|
||||||
TEST.usages = utils.TestDataContainer()
|
TEST.usages = utils.TestDataContainer()
|
||||||
TEST.certs = utils.TestDataContainer()
|
TEST.certs = utils.TestDataContainer()
|
||||||
TEST.volume_snapshots = utils.TestDataContainer()
|
|
||||||
TEST.volume_types = utils.TestDataContainer()
|
|
||||||
TEST.availability_zones = utils.TestDataContainer()
|
TEST.availability_zones = utils.TestDataContainer()
|
||||||
TEST.hypervisors = utils.TestDataContainer()
|
TEST.hypervisors = utils.TestDataContainer()
|
||||||
TEST.services = utils.TestDataContainer()
|
TEST.services = utils.TestDataContainer()
|
||||||
|
@ -247,14 +243,6 @@ def data(TEST):
|
||||||
TEST.volumes.add(attached_volume)
|
TEST.volumes.add(attached_volume)
|
||||||
TEST.volumes.add(non_bootable_volume)
|
TEST.volumes.add(non_bootable_volume)
|
||||||
|
|
||||||
vol_type1 = volume_types.VolumeType(volume_types.VolumeTypeManager(None),
|
|
||||||
{'id': 1,
|
|
||||||
'name': 'vol_type_1'})
|
|
||||||
vol_type2 = volume_types.VolumeType(volume_types.VolumeTypeManager(None),
|
|
||||||
{'id': 2,
|
|
||||||
'name': 'vol_type_2'})
|
|
||||||
TEST.volume_types.add(vol_type1, vol_type2)
|
|
||||||
|
|
||||||
# Flavors
|
# Flavors
|
||||||
flavor_1 = flavors.Flavor(flavors.FlavorManager(None),
|
flavor_1 = flavors.Flavor(flavors.FlavorManager(None),
|
||||||
{'id': "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
|
{'id': "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
|
||||||
|
@ -569,25 +557,6 @@ def data(TEST):
|
||||||
json.loads(USAGE_DATA % usage_2_vals))
|
json.loads(USAGE_DATA % usage_2_vals))
|
||||||
TEST.usages.add(usage_obj_2)
|
TEST.usages.add(usage_obj_2)
|
||||||
|
|
||||||
volume_snapshot = vol_snaps.Snapshot(
|
|
||||||
vol_snaps.SnapshotManager(None),
|
|
||||||
{'id': '40f3fabf-3613-4f5e-90e5-6c9a08333fc3',
|
|
||||||
'display_name': 'test snapshot',
|
|
||||||
'display_description': 'vol snap!',
|
|
||||||
'size': 40,
|
|
||||||
'status': 'available',
|
|
||||||
'volume_id': '41023e92-8008-4c8b-8059-7f2293ff3775'})
|
|
||||||
volume_snapshot2 = vol_snaps.Snapshot(
|
|
||||||
vol_snaps.SnapshotManager(None),
|
|
||||||
{'id': 'a374cbb8-3f99-4c3f-a2ef-3edbec842e31',
|
|
||||||
'display_name': '',
|
|
||||||
'display_description': 'vol snap 2!',
|
|
||||||
'size': 80,
|
|
||||||
'status': 'available',
|
|
||||||
'volume_id': '3b189ac8-9166-ac7f-90c9-16c8bf9e01ac'})
|
|
||||||
TEST.volume_snapshots.add(volume_snapshot)
|
|
||||||
TEST.volume_snapshots.add(volume_snapshot2)
|
|
||||||
|
|
||||||
cert_data = {'private_key': 'private',
|
cert_data = {'private_key': 'private',
|
||||||
'data': 'certificate_data'}
|
'data': 'certificate_data'}
|
||||||
certificate = certs.Certificate(certs.CertificateManager(None), cert_data)
|
certificate = certs.Certificate(certs.CertificateManager(None), cert_data)
|
||||||
|
|
Loading…
Reference in New Issue