Fix baymodel with invalid parameter can created.

Now, when we create baymodel with the invalid flavor_id and
master_flavor_id parameters, the baymodel can be created
successfully.

We need to validate the flavor_id and master_flavor before
creating baymodel.

Change-Id: Id6768d8246c97d56e529cbc1cab6c8c7d28ca43a
Closed-Bug: #1547345
This commit is contained in:
wangqun 2016-02-19 06:15:43 +00:00 committed by Hongbin Lu
parent 9c9059dd07
commit d89cf7b7cc
2 changed files with 19 additions and 15 deletions

View File

@ -59,7 +59,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive') @testtools.testcase.attr('positive')
def test_list_baymodels(self): def test_list_baymodels(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
_, temp_model = self._create_baymodel(gen_model) _, temp_model = self._create_baymodel(gen_model)
resp, model = self.baymodel_client.list_baymodels() resp, model = self.baymodel_client.list_baymodels()
self.assertEqual(200, resp.status) self.assertEqual(200, resp.status)
@ -69,12 +69,12 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive') @testtools.testcase.attr('positive')
def test_create_baymodel(self): def test_create_baymodel(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
resp, model = self._create_baymodel(gen_model) resp, model = self._create_baymodel(gen_model)
@testtools.testcase.attr('positive') @testtools.testcase.attr('positive')
def test_update_baymodel_by_uuid(self): def test_update_baymodel_by_uuid(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
resp, old_model = self._create_baymodel(gen_model) resp, old_model = self._create_baymodel(gen_model)
patch_model = datagen.baymodel_name_patch_data() patch_model = datagen.baymodel_name_patch_data()
@ -89,7 +89,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive') @testtools.testcase.attr('positive')
def test_delete_baymodel_by_uuid(self): def test_delete_baymodel_by_uuid(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
resp, model = self._create_baymodel(gen_model) resp, model = self._create_baymodel(gen_model)
resp, _ = self.baymodel_client.delete_baymodel(model.uuid) resp, _ = self.baymodel_client.delete_baymodel(model.uuid)
self.assertEqual(204, resp.status) self.assertEqual(204, resp.status)
@ -97,7 +97,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive') @testtools.testcase.attr('positive')
def test_delete_baymodel_by_name(self): def test_delete_baymodel_by_name(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
resp, model = self._create_baymodel(gen_model) resp, model = self._create_baymodel(gen_model)
resp, _ = self.baymodel_client.delete_baymodel(model.name) resp, _ = self.baymodel_client.delete_baymodel(model.name)
self.assertEqual(204, resp.status) self.assertEqual(204, resp.status)
@ -153,7 +153,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative') @testtools.testcase.attr('negative')
def test_create_baymodel_missing_keypair(self): def test_create_baymodel_missing_keypair(self):
gen_model = datagen.baymodel_data_with_valid_image_id() gen_model = datagen.baymodel_data_with_valid_image_and_flavor()
self.assertRaises( self.assertRaises(
exceptions.NotFound, exceptions.NotFound,
self.baymodel_client.post_baymodel, gen_model) self.baymodel_client.post_baymodel, gen_model)
@ -161,7 +161,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative') @testtools.testcase.attr('negative')
def test_update_baymodel_invalid_patch(self): def test_update_baymodel_invalid_patch(self):
# get json object # get json object
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
resp, old_model = self._create_baymodel(gen_model) resp, old_model = self._create_baymodel(gen_model)
self.assertRaises( self.assertRaises(
@ -171,7 +171,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative') @testtools.testcase.attr('negative')
def test_create_baymodel_invalid_network_driver(self): def test_create_baymodel_invalid_network_driver(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
gen_model.network_driver = 'invalid_network_driver' gen_model.network_driver = 'invalid_network_driver'
self.assertRaises( self.assertRaises(
exceptions.BadRequest, exceptions.BadRequest,
@ -179,7 +179,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative') @testtools.testcase.attr('negative')
def test_create_baymodel_invalid_volume_driver(self): def test_create_baymodel_invalid_volume_driver(self):
gen_model = datagen.baymodel_data_with_valid_keypair_and_image_id() gen_model = datagen.baymodel_data_with_valid_keypair_image_flavor()
gen_model.volume_driver = 'invalid_volume_driver' gen_model.volume_driver = 'invalid_volume_driver'
self.assertRaises( self.assertRaises(
exceptions.BadRequest, exceptions.BadRequest,

View File

@ -110,7 +110,7 @@ def baymodel_data(**kwargs):
"dns_nameserver": "8.8.8.8", "dns_nameserver": "8.8.8.8",
"flavor_id": data_utils.rand_name('bay'), "flavor_id": data_utils.rand_name('bay'),
"master_flavor_id": data_utils.rand_name('bay'), "master_flavor_id": data_utils.rand_name('bay'),
"external_network_id": str(data_utils.rand_uuid()), "external_network_id": "public",
"keypair_id": data_utils.rand_name('bay'), "keypair_id": data_utils.rand_name('bay'),
"image_id": data_utils.rand_name('bay') "image_id": data_utils.rand_name('bay')
} }
@ -136,14 +136,16 @@ def baymodel_name_patch_data(name=data_utils.rand_name('bay')):
return baymodelpatch_model.BayModelPatchCollection.from_dict(data) return baymodelpatch_model.BayModelPatchCollection.from_dict(data)
def baymodel_data_with_valid_keypair_and_image_id(): def baymodel_data_with_valid_keypair_image_flavor():
"""Generates random baymodel data with valid keypair and image """Generates random baymodel data with valid keypair,image and flavor
:returns: BayModelEntity with generated data :returns: BayModelEntity with generated data
""" """
return baymodel_data(keypair_id=config.Config.keypair_id, return baymodel_data(keypair_id=config.Config.keypair_id,
image_id=config.Config.image_id) image_id=config.Config.image_id,
flavor_id=config.Config.flavor_id,
master_flavor_id=config.Config.master_flavor_id)
def baymodel_data_with_valid_keypair(): def baymodel_data_with_valid_keypair():
@ -166,13 +168,15 @@ def baymodel_valid_data_with_specific_coe(coe):
image_id=config.Config.image_id, coe=coe) image_id=config.Config.image_id, coe=coe)
def baymodel_data_with_valid_image_id(): def baymodel_data_with_valid_image_and_flavor():
"""Generates random baymodel data with valid image """Generates random baymodel data with valid image
:returns: BayModelEntity with generated data :returns: BayModelEntity with generated data
""" """
return baymodel_data(image_id=config.Config.image_id) return baymodel_data(image_id=config.Config.image_id,
flavor_id=config.Config.flavor_id,
master_flavor_id=config.Config.master_flavor_id)
def valid_swarm_baymodel(): def valid_swarm_baymodel():