From 446df0263b5fa3576b9970331ac6b2be8ffe7bd2 Mon Sep 17 00:00:00 2001 From: Zhenguo Niu Date: Mon, 19 Jun 2017 13:23:21 +0800 Subject: [PATCH] Add `extra_specs` to flavor create JSON schema We should make it possible to create flavor with extra specs. Partially Implements: bp new-flavor Change-Id: I424e3aa6e04a0ca0e7da2784e8ff8fe9dd5ca724 --- mogan/api/controllers/v1/schemas/flavor.py | 1 + mogan/tests/functional/api/v1/test_flavors.py | 5 +++-- mogan/tests/unit/db/utils.py | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mogan/api/controllers/v1/schemas/flavor.py b/mogan/api/controllers/v1/schemas/flavor.py index 6f0a3fd6..0f8d7817 100644 --- a/mogan/api/controllers/v1/schemas/flavor.py +++ b/mogan/api/controllers/v1/schemas/flavor.py @@ -22,6 +22,7 @@ create_flavor = { "properties": { 'name': parameter_types.name, 'description': parameter_types.description, + 'extra_specs': parameter_types.metadata, 'is_public': parameter_types.boolean, 'disabled': parameter_types.boolean, }, diff --git a/mogan/tests/functional/api/v1/test_flavors.py b/mogan/tests/functional/api/v1/test_flavors.py index 642ffe2f..c69b2bf8 100644 --- a/mogan/tests/functional/api/v1/test_flavors.py +++ b/mogan/tests/functional/api/v1/test_flavors.py @@ -38,15 +38,16 @@ class TestFlavor(v1_test.APITestV1): self.post_json('/flavors', body, headers=self.headers, status=201) def test_flavor_post(self): - body = {"name": "test", "description": "just test"} + body = {"name": "test", "description": "just test", + "extra_specs": {"k1": "v1"}} resp = self.post_json( '/flavors', body, headers=self.headers, status=201) resp = resp.json self.assertEqual('test', resp['name']) self.assertEqual('just test', resp['description']) self.assertEqual(True, resp['is_public']) + self.assertEqual({'k1': 'v1'}, resp['extra_specs']) self.assertIn('uuid', resp) - self.assertIn('extra_specs', resp) self.assertIn('links', resp) def test_flavor_get_all(self): diff --git a/mogan/tests/unit/db/utils.py b/mogan/tests/unit/db/utils.py index 0db02970..1efddd50 100644 --- a/mogan/tests/unit/db/utils.py +++ b/mogan/tests/unit/db/utils.py @@ -199,6 +199,7 @@ def get_test_flavor(**kw): 'uuid': kw.get('uuid', uuidutils.generate_uuid()), 'name': kw.get('name', 'test'), 'description': kw.get('description', 'test'), + 'extra_specs': kw.get('extra_specs', {}), 'is_public': kw.get('is_public', 1), 'disabled': kw.get('disabled', 0), 'updated_at': kw.get('updated_at'),