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')
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)
resp, model = self.baymodel_client.list_baymodels()
self.assertEqual(200, resp.status)
@ -69,12 +69,12 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive')
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)
@testtools.testcase.attr('positive')
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)
patch_model = datagen.baymodel_name_patch_data()
@ -89,7 +89,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive')
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, _ = self.baymodel_client.delete_baymodel(model.uuid)
self.assertEqual(204, resp.status)
@ -97,7 +97,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('positive')
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, _ = self.baymodel_client.delete_baymodel(model.name)
self.assertEqual(204, resp.status)
@ -153,7 +153,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative')
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(
exceptions.NotFound,
self.baymodel_client.post_baymodel, gen_model)
@ -161,7 +161,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative')
def test_update_baymodel_invalid_patch(self):
# 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)
self.assertRaises(
@ -171,7 +171,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative')
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'
self.assertRaises(
exceptions.BadRequest,
@ -179,7 +179,7 @@ class BayModelTest(base.BaseMagnumTest):
@testtools.testcase.attr('negative')
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'
self.assertRaises(
exceptions.BadRequest,

View File

@ -110,7 +110,7 @@ def baymodel_data(**kwargs):
"dns_nameserver": "8.8.8.8",
"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'),
"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)
def baymodel_data_with_valid_keypair_and_image_id():
"""Generates random baymodel data with valid keypair and image
def baymodel_data_with_valid_keypair_image_flavor():
"""Generates random baymodel data with valid keypair,image and flavor
:returns: BayModelEntity with generated data
"""
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():
@ -166,13 +168,15 @@ def baymodel_valid_data_with_specific_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
: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():