From d89cf7b7ccc782340677e498284e144ab2587541 Mon Sep 17 00:00:00 2001 From: wangqun Date: Fri, 19 Feb 2016 06:15:43 +0000 Subject: [PATCH] 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 --- .../tests/functional/api/v1/test_baymodel.py | 18 +++++++++--------- magnum/tests/functional/common/datagen.py | 16 ++++++++++------ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/magnum/tests/functional/api/v1/test_baymodel.py b/magnum/tests/functional/api/v1/test_baymodel.py index 4df7397..48dbe76 100644 --- a/magnum/tests/functional/api/v1/test_baymodel.py +++ b/magnum/tests/functional/api/v1/test_baymodel.py @@ -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, diff --git a/magnum/tests/functional/common/datagen.py b/magnum/tests/functional/common/datagen.py index b8d553a..9a51483 100644 --- a/magnum/tests/functional/common/datagen.py +++ b/magnum/tests/functional/common/datagen.py @@ -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():