Add functional test for v2.7
microversion v2.7 was added without a functional test, even though we can cover most cases in unit test for negative case, it would be better to have a functional test for a specific microversion API change. Change-Id: I4d5576cc4ebcdeaa4e4f067fe9c6207280ad7eda
This commit is contained in:
parent
07ba58cb22
commit
fc164e3908
@ -0,0 +1,5 @@
|
||||
{
|
||||
"addTenantAccess": {
|
||||
"tenant": "fake_tenant"
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
"flavor": {
|
||||
"name": "test_flavor",
|
||||
"ram": 1024,
|
||||
"vcpus": 2,
|
||||
"disk": 10,
|
||||
"id": "10",
|
||||
"os-flavor-access:is_public": true
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"addTenantAccess": {
|
||||
"tenant": "%(tenant_id)s"
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
"flavor": {
|
||||
"name": "%(flavor_name)s",
|
||||
"ram": 1024,
|
||||
"vcpus": 2,
|
||||
"disk": 10,
|
||||
"id": "%(flavor_id)s",
|
||||
"os-flavor-access:is_public": true
|
||||
}
|
||||
}
|
@ -21,12 +21,12 @@ CONF.import_opt('osapi_compute_extension',
|
||||
'nova.api.openstack.compute.legacy_v2.extensions')
|
||||
|
||||
|
||||
class FlavorAccessSampleJsonTests(api_sample_base.ApiSampleTestBaseV21):
|
||||
class FlavorAccessTestsBase(api_sample_base.ApiSampleTestBaseV21):
|
||||
ADMIN_API = True
|
||||
extension_name = 'flavor-access'
|
||||
|
||||
def _get_flags(self):
|
||||
f = super(FlavorAccessSampleJsonTests, self)._get_flags()
|
||||
f = super(FlavorAccessTestsBase, self)._get_flags()
|
||||
f['osapi_compute_extension'] = CONF.osapi_compute_extension[:]
|
||||
f['osapi_compute_extension'].append(
|
||||
'nova.api.openstack.compute.contrib.'
|
||||
@ -67,6 +67,9 @@ class FlavorAccessSampleJsonTests(api_sample_base.ApiSampleTestBaseV21):
|
||||
subs)
|
||||
self._verify_response("flavor-access-create-resp", subs, response, 200)
|
||||
|
||||
|
||||
class FlavorAccessSampleJsonTests(FlavorAccessTestsBase):
|
||||
|
||||
def test_flavor_access_detail(self):
|
||||
response = self._do_get('flavors/detail')
|
||||
self._verify_response('flavor-access-detail-resp', {}, response, 200)
|
||||
@ -109,3 +112,35 @@ class FlavorAccessSampleJsonTests(api_sample_base.ApiSampleTestBaseV21):
|
||||
}
|
||||
self._verify_response('flavor-access-remove-tenant-resp',
|
||||
exp_subs, response, 200)
|
||||
|
||||
|
||||
class FlavorAccessV27SampleJsonTests(FlavorAccessTestsBase):
|
||||
microversion = '2.7'
|
||||
|
||||
scenarios = [('v2_7', {'api_major_version': 'v2.1'})]
|
||||
|
||||
def setUp(self):
|
||||
super(FlavorAccessV27SampleJsonTests, self).setUp()
|
||||
self.api.microversion = self.microversion
|
||||
|
||||
def test_add_tenant_access_to_public_flavor(self):
|
||||
subs = {
|
||||
'flavor_id': '10',
|
||||
'flavor_name': 'test_flavor'
|
||||
}
|
||||
# Create public flavor
|
||||
response = self._do_post("flavors",
|
||||
"flavor-access-create-req",
|
||||
subs)
|
||||
self.assertEqual(200, response.status_code)
|
||||
|
||||
subs = {
|
||||
'flavor_id': '10',
|
||||
'tenant_id': 'fake_tenant'
|
||||
}
|
||||
# Version 2.7+ will return HTTPConflict (409)
|
||||
# if the flavor is public
|
||||
response = self._do_post('flavors/10/action',
|
||||
'flavor-access-add-tenant-req',
|
||||
subs)
|
||||
self.assertEqual(409, response.status_code)
|
||||
|
Loading…
Reference in New Issue
Block a user