diff --git a/senlinclient/tests/unit/v1/test_cluster.py b/senlinclient/tests/unit/v1/test_cluster.py index 0baae1b9..dc2f98bc 100644 --- a/senlinclient/tests/unit/v1/test_cluster.py +++ b/senlinclient/tests/unit/v1/test_cluster.py @@ -14,7 +14,6 @@ import copy import subprocess import mock -from openstack.cluster.v1 import cluster as sdk_cluster from openstack import exceptions as sdk_exc from osc_lib import exceptions as exc import six @@ -32,35 +31,6 @@ class TestCluster(fakes.TestClusteringv1): class TestClusterList(TestCluster): columns = ['id', 'name', 'status', 'created_at', 'updated_at'] - response = {"clusters": [ - { - "created_at": "2015-02-10T14:26:14", - "data": {}, - "desired_capacity": 4, - "domain": 'null', - "id": "7d85f602-a948-4a30-afd4-e84f47471c15", - "init_time": "2015-02-10T14:26:11", - "max_size": -1, - "metadata": {}, - "min_size": 0, - "name": "cluster1", - "node_ids": [ - "b07c57c8-7ab2-47bf-bdf8-e894c0c601b9", - "ecc23d3e-bb68-48f8-8260-c9cf6bcb6e61", - "da1e9c87-e584-4626-a120-022da5062dac" - ], - "policies": [], - "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a", - "profile_name": "mystack", - "project": "6e18cc2bdbeb48a5b3cad2dc499f6804", - "status": "ACTIVE", - "status_reason": "Cluster scale-in succeeded", - "timeout": 3600, - "updated_at": 'null', - "user": "5e5bf8027826429c96af157f68dc9072" - } - ]} - defaults = { 'global_project': False, 'marker': None, @@ -71,8 +41,35 @@ class TestClusterList(TestCluster): def setUp(self): super(TestClusterList, self).setUp() self.cmd = osc_cluster.ListCluster(self.app, None) - self.mock_client.clusters = mock.Mock( - return_value=self.response) + fake_cluster = mock.Mock( + created_at="2015-02-10T14:26:14", + data={}, + desired_capacity=4, + domain_id=None, + id="7d85f602-a948-4a30-afd4-e84f47471c15", + init_time="2015-02-10T14:26:11", + max_size=-1, + metadata={}, + min_size=0, + node_ids=[ + "b07c57c8-7ab2-47bf-bdf8-e894c0c601b9", + "ecc23d3e-bb68-48f8-8260-c9cf6bcb6e61", + "da1e9c87-e584-4626-a120-022da5062dac" + ], + policies=[], + profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a", + profile_name="mystack", + project_id="6e18cc2bdbeb48a5b3cad2dc499f6804", + status="ACTIVE", + status_reason="Cluster scale-in succeeded", + timeout=3600, + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_cluster.name = "cluster1" + fake_cluster.to_dict = mock.Mock(return_value={}) + + self.mock_client.clusters = mock.Mock(return_value=[fake_cluster]) def test_cluster_list_defaults(self): arglist = [] @@ -107,8 +104,6 @@ class TestClusterList(TestCluster): self.assertEqual(self.columns, columns) def test_cluster_list_sort_invalid_key(self): - self.mock_client.clusters = mock.Mock( - return_value=self.response) kwargs = copy.deepcopy(self.defaults) kwargs['sort'] = 'bad_key' arglist = ['--sort', 'bad_key'] @@ -118,8 +113,6 @@ class TestClusterList(TestCluster): self.cmd.take_action, parsed_args) def test_cluster_list_sort_invalid_direction(self): - self.mock_client.clusters = mock.Mock( - return_value=self.response) kwargs = copy.deepcopy(self.defaults) kwargs['sort'] = 'name:bad_direction' arglist = ['--sort', 'name:bad_direction'] @@ -148,34 +141,34 @@ class TestClusterList(TestCluster): class TestClusterShow(TestCluster): - response = {"cluster": { - "created_at": "2015-02-11T15:13:20", - "data": {}, - "desired_capacity": 0, - "domain": 'null', - "id": "45edadcb-c73b-4920-87e1-518b2f29f54b", - "init_time": "2015-02-10T14:26:10", - "max_size": -1, - "metadata": {}, - "min_size": 0, - "name": "my_cluster", - "node_ids": [], - "policies": [], - "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a", - "profile_name": "mystack", - "project": "6e18cc2bdbeb48a5b3cad2dc499f6804", - "status": "ACTIVE", - "status_reason": "Creation succeeded", - "timeout": 3600, - "updated_at": 'null', - "user": "5e5bf8027826429c96af157f68dc9072" - }} def setUp(self): super(TestClusterShow, self).setUp() self.cmd = osc_cluster.ShowCluster(self.app, None) - self.mock_client.get_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(**self.response['cluster'])) + fake_cluster = mock.Mock( + created_at="2015-02-11T15:13:20", + data={}, + desired_capacity=0, + domain_id=None, + id="7d85f602-a948-4a30-afd4-e84f47471c15", + init_time="2015-02-10T14:26:11", + max_size=-1, + metadata={}, + min_size=0, + node_ids=[], + policies=[], + profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a", + profile_name="mystack", + project_id="6e18cc2bdbeb48a5b3cad2dc499f6804", + status="ACTIVE", + status_reason="Cluster scale-in succeeded", + timeout=3600, + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_cluster.name = "my_cluster" + fake_cluster.to_dict = mock.Mock(return_value={}) + self.mock_client.get_cluster = mock.Mock(return_value=fake_cluster) def test_cluster_show(self): arglist = ['my_cluster'] @@ -193,29 +186,6 @@ class TestClusterShow(TestCluster): class TestClusterCreate(TestCluster): - response = {"cluster": { - "action": "bbf4558b-9fa3-482a-93c2-a4aa5cc85317", - "created_at": 'null', - "data": {}, - "desired_capacity": 4, - "domain": 'null', - "id": "45edadcb-c73b-4920-87e1-518b2f29f54b", - "init_at": "2015-02-10T14:16:10", - "max_size": -1, - "metadata": {}, - "min_size": 0, - "name": "test_cluster", - "node_ids": [], - "policies": [], - "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a", - "profile_name": "mystack", - "project": "6e18cc2bdbeb48a5b3cad2dc499f6804", - "status": "INIT", - "status_reason": "Initializing", - "timeout": 3600, - "updated_at": 'null', - "user": "5e5bf8027826429c96af157f68dc9072" - }} defaults = { "desired_capacity": 0, @@ -230,10 +200,31 @@ class TestClusterCreate(TestCluster): def setUp(self): super(TestClusterCreate, self).setUp() self.cmd = osc_cluster.CreateCluster(self.app, None) - self.mock_client.create_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(**self.response['cluster'])) - self.mock_client.get_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(**self.response['cluster'])) + fake_cluster = mock.Mock( + created_at="2015-02-11T15:13:20", + data={}, + desired_capacity=0, + domain_id=None, + id="7d85f602-a948-4a30-afd4-e84f47471c15", + init_time="2015-02-10T14:26:11", + max_size=-1, + metadata={}, + min_size=0, + node_ids=[], + policies=[], + profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a", + profile_name="mystack", + project_id="6e18cc2bdbeb48a5b3cad2dc499f6804", + status="ACTIVE", + status_reason="Cluster scale-in succeeded", + timeout=3600, + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_cluster.name = "my_cluster" + fake_cluster.to_dict = mock.Mock(return_value={}) + self.mock_client.create_cluster = mock.Mock(return_value=fake_cluster) + self.mock_client.get_cluster = mock.Mock(return_value=fake_cluster) def test_cluster_create_defaults(self): arglist = ['test_cluster', '--profile', 'mystack'] @@ -264,28 +255,6 @@ class TestClusterCreate(TestCluster): class TestClusterUpdate(TestCluster): - response = {"cluster": { - "created_at": "2015-02-11T15:13:20", - "data": {}, - "desired_capacity": 0, - "domain": 'null', - "id": "45edadcb-c73b-4920-87e1-518b2f29f54b", - "init_time": "2015-02-10T14:26:10", - "max_size": -1, - "metadata": {}, - "min_size": 0, - "name": "test_cluster", - "node_ids": [], - "policies": [], - "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a", - "profile_name": "mystack", - "project": "6e18cc2bdbeb48a5b3cad2dc499f6804", - "status": "INIT", - "status_reason": "Initializing", - "timeout": 3600, - "updated_at": 'null', - "user": "5e5bf8027826429c96af157f68dc9072" - }} defaults = { "metadata": { @@ -300,12 +269,32 @@ class TestClusterUpdate(TestCluster): def setUp(self): super(TestClusterUpdate, self).setUp() self.cmd = osc_cluster.UpdateCluster(self.app, None) - self.mock_client.update_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(**self.response['cluster'])) - self.mock_client.get_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(**self.response['cluster'])) - self.mock_client.find_cluster = mock.Mock( - return_value=sdk_cluster.Cluster(**self.response['cluster'])) + fake_cluster = mock.Mock( + created_at="2015-02-11T15:13:20", + data={}, + desired_capacity=0, + domain_id=None, + id="7d85f602-a948-4a30-afd4-e84f47471c15", + init_time="2015-02-10T14:26:11", + max_size=-1, + metadata={}, + min_size=0, + node_ids=[], + policies=[], + profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a", + profile_name="mystack", + project_id="6e18cc2bdbeb48a5b3cad2dc499f6804", + status="ACTIVE", + status_reason="Cluster scale-in succeeded", + timeout=3600, + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_cluster.name = "my_cluster" + fake_cluster.to_dict = mock.Mock(return_value={}) + self.mock_client.update_cluster = mock.Mock(return_value=fake_cluster) + self.mock_client.get_cluster = mock.Mock(return_value=fake_cluster) + self.mock_client.find_cluster = mock.Mock(return_value=fake_cluster) def test_cluster_update_defaults(self): arglist = ['--name', 'new_cluster', '--metadata', 'nk1=nv1;nk2=nv2', @@ -313,7 +302,7 @@ class TestClusterUpdate(TestCluster): parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) self.mock_client.update_cluster.assert_called_with( - '45edadcb-c73b-4920-87e1-518b2f29f54b', **self.defaults) + "7d85f602-a948-4a30-afd4-e84f47471c15", **self.defaults) def test_cluster_update_not_found(self): arglist = ['--name', 'new_cluster', '--metadata', 'nk1=nv1;nk2=nv2', @@ -622,31 +611,6 @@ class TestClusterPolicyDetach(TestCluster): class TestClusterNodeList(TestCluster): columns = ['id', 'name', 'index', 'status', 'physical_id', 'created_at'] - - response = {"nodes": [ - { - "cluster_id": None, - "created_at": "2015-02-27T04:39:21", - "data": {}, - "details": {}, - "domain": None, - "id": "573aa1ba-bf45-49fd-907d-6b5d6e6adfd3", - "index": -1, - "init_at": "2015-02-27T04:39:18", - "metadata": {}, - "name": "node00a", - "physical_id": "cc028275-d078-4729-bf3e-154b7359814b", - "profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a", - "profile_name": "mystack", - "project": "6e18cc2bdbeb48a5b3cad2dc499f6804", - "role": None, - "status": "ACTIVE", - "status_reason": "Creation succeeded", - "updated_at": None, - "user": "5e5bf8027826429c96af157f68dc9072" - } - ]} - args = { 'cluster_id': 'my_cluster', 'marker': 'a9448bf6', @@ -657,8 +621,28 @@ class TestClusterNodeList(TestCluster): def setUp(self): super(TestClusterNodeList, self).setUp() self.cmd = osc_cluster.ClusterNodeList(self.app, None) - self.mock_client.nodes = mock.Mock( - return_value=self.response) + fake_node = mock.Mock( + cluster_id="", + created_at="2015-02-11T15:13:20", + data={}, + details={}, + domain_id=None, + id="7d85f602-a948-4a30-afd4-e84f47471c15", + index=-1, + init_at="2015-02-10T14:26:11", + metadata={}, + phyiscal_id="cc028275-d078-4729-bf3e-154b7359814b", + profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a", + profile_name="mystack", + project_id="6e18cc2bdbeb48a5b3cad2dc499f6804", + status="ACTIVE", + status_reason="Creation succeeded", + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_node.name = "node001" + fake_node.to_dict = mock.Mock(return_value={}) + self.mock_client.nodes = mock.Mock(return_value=[fake_node]) def test_cluster_node_list(self): arglist = ['--limit', '3', '--marker', 'a9448bf6', 'my_cluster'] diff --git a/senlinclient/tests/unit/v1/test_profile.py b/senlinclient/tests/unit/v1/test_profile.py index 1091b2d4..426ba70a 100644 --- a/senlinclient/tests/unit/v1/test_profile.py +++ b/senlinclient/tests/unit/v1/test_profile.py @@ -13,7 +13,6 @@ import copy import mock -from openstack.cluster.v1 import profile as sdk_profile from openstack import exceptions as sdk_exc from osc_lib import exceptions as exc from osc_lib import utils @@ -91,8 +90,20 @@ class TestProfileShow(TestProfile): def setUp(self): super(TestProfileShow, self).setUp() self.cmd = osc_profile.ShowProfile(self.app, None) - self.mock_client.get_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) + fake_profile = mock.Mock( + created_at="2015-03-01T14:28:25", + domain_id=None, + id="7fa885cd-fa39-4531-a42d-780af95c84a4", + metadata={}, + project_id="42d9e9663331431f97b75e25136307ff", + spec={"foo": 'bar'}, + type="os.heat.stack-1.0", + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_profile.name = "test_prof1" + fake_profile.to_dict = mock.Mock(return_value={}) + self.mock_client.get_profile = mock.Mock(return_value=fake_profile) utils.get_dict_properties = mock.Mock(return_value='') def test_profile_show(self): @@ -101,14 +112,12 @@ class TestProfileShow(TestProfile): self.cmd.take_action(parsed_args) self.mock_client.get_profile.assert_called_with('my_profile') profile = self.mock_client.get_profile('my_profile') - self.assertEqual(self.response['profile']['project'], + self.assertEqual("42d9e9663331431f97b75e25136307ff", profile.project_id) - self.assertEqual(self.response['profile']['id'], profile.id) - self.assertEqual(self.response['profile']['metadata'], - profile.metadata) - self.assertEqual(self.response['profile']['name'], profile.name) - self.assertEqual(self.response['profile']['spec'], profile.spec) - self.assertEqual(self.response['profile']['type'], profile.type) + self.assertEqual("7fa885cd-fa39-4531-a42d-780af95c84a4", profile.id) + self.assertEqual({}, profile.metadata) + self.assertEqual("test_prof1", profile.name) + self.assertEqual("os.heat.stack-1.0", profile.type) def test_profile_show_not_found(self): arglist = ['my_profile'] @@ -121,40 +130,31 @@ class TestProfileShow(TestProfile): class TestProfileList(TestProfile): - columns = ['id', 'name', 'type', 'created_at'] - data = {"profiles": [ - { - "created_at": "2016-02-17T13:01:05", - "domain": None, - "id": "757347e0-6526-4a77-a16d-e099fecde123", - "metadata": {}, - "name": "my_profile", - "project": "5f1cc92b578e4e25a3b284179cf20a9b", - "spec": { - "properties": { - "flavor": 1, - "name": "cirros_server" - }, - "type": "os.nova.server", - "version": 1 - }, - "type": "os.nova.server-1.0", - "updated_at": None, - "user": "2d7aca950f3e465d8ef0c81720faf6ff" - } - ]} - defaults = { - 'limit': None, - 'marker': None, - 'sort': None, - 'global_project': False, - } def setUp(self): super(TestProfileList, self).setUp() self.cmd = osc_profile.ListProfile(self.app, None) - self.mock_client.profiles = mock.Mock( - return_value=self.data) + fake_profile = mock.Mock( + created_at="2015-03-01T14:28:25", + domain_id=None, + id="7fa885cd-fa39-4531-a42d-780af95c84a4", + metadata={}, + project_id="42d9e9663331431f97b75e25136307ff", + spec={"foo": 'bar'}, + type="os.heat.stack-1.0", + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_profile.name = "test_profile" + fake_profile.to_dict = mock.Mock(return_value={}) + self.mock_client.profiles = mock.Mock(return_value=[fake_profile]) + self.defaults = { + 'limit': None, + 'marker': None, + 'sort': None, + 'global_project': False, + } + self.columns = ['id', 'name', 'type', 'created_at'] def test_profile_list_defaults(self): arglist = [] @@ -189,8 +189,6 @@ class TestProfileList(TestProfile): self.assertEqual(self.columns, columns) def test_profile_list_sort_invalid_key(self): - self.mock_client.profiles = mock.Mock( - return_value=self.data) kwargs = copy.deepcopy(self.defaults) kwargs['sort'] = 'bad_key' arglist = ['--sort', 'bad_key'] @@ -200,8 +198,6 @@ class TestProfileList(TestProfile): self.cmd.take_action, parsed_args) def test_profile_list_sort_invalid_direction(self): - self.mock_client.profiles = mock.Mock( - return_value=self.data) kwargs = copy.deepcopy(self.defaults) kwargs['sort'] = 'id:bad_direction' arglist = ['--sort', 'id:bad_direction'] @@ -221,6 +217,7 @@ class TestProfileList(TestProfile): class TestProfileDelete(TestProfile): + def setUp(self): super(TestProfileDelete, self).setUp() self.cmd = osc_profile.DeleteProfile(self.app, None) @@ -296,50 +293,46 @@ class TestProfileDelete(TestProfile): class TestProfileCreate(TestProfile): spec_path = 'senlinclient/tests/test_specs/nova_server.yaml' - response = {"profile": { - "created_at": "2016-02-17T12:10:57", - "domain": None, - "id": "e3057c77-a178-4265-bafd-16b2fae50eea", - "metadata": {}, - "name": "pro-nova", - "project": "5f1cc92b578e4e25a3b284179cf20a9b", - "spec": {"properties": { - "flavor": 1, - "image": "cirros-0.3.4-x86_64-uec", - "name": "cirros_server"}, - "type": "os.nova.server", - "version": 1.0}, - "type": "os.nova.server-1.0", - "updated_at": None, - "user": "2d7aca950f3e465d8ef0c81720faf6ff"}} - - defaults = { - "spec": { - "version": 1.0, - "type": "os.nova.server", - "properties": { - "flavor": 1, - "name": "cirros_server", - "image": "cirros-0.3.4-x86_64-uec" - }, - }, - "name": "my_profile", - "metadata": {} - } def setUp(self): super(TestProfileCreate, self).setUp() self.cmd = osc_profile.CreateProfile(self.app, None) - self.mock_client.create_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) - self.mock_client.get_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) + fake_profile = mock.Mock( + created_at="2015-03-01T14:28:25", + domain_id=None, + id="7fa885cd-fa39-4531-a42d-780af95c84a4", + metadata={}, + project_id="42d9e9663331431f97b75e25136307ff", + spec={"foo": 'bar'}, + type="os.heat.stack-1.0", + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_profile.name = "test_profile" + fake_profile.to_dict = mock.Mock(return_value={}) + self.mock_client.create_profile = mock.Mock(return_value=fake_profile) + self.mock_client.get_profile = mock.Mock(return_value=fake_profile) utils.get_dict_properties = mock.Mock(return_value='') + self.defaults = { + "spec": { + "version": 1.0, + "type": "os.nova.server", + "properties": { + "flavor": 1, + "name": "cirros_server", + "image": "cirros-0.3.4-x86_64-uec" + }, + }, + "name": "my_profile", + "metadata": {} + } def test_profile_create_defaults(self): arglist = ['my_profile', '--spec-file', self.spec_path] parsed_args = self.check_parser(self.cmd, arglist, []) + self.cmd.take_action(parsed_args) + self.mock_client.create_profile.assert_called_with(**self.defaults) def test_profile_create_metadata(self): @@ -354,52 +347,43 @@ class TestProfileCreate(TestProfile): class TestProfileUpdate(TestProfile): - response = {"profile": { - "created_at": "2016-02-17T12:10:57", - "domain": None, - "id": "e3057c77-a178-4265-bafd-16b2fae50eea", - "metadata": { - "nk1": "nv1", - "nk2": "nv2", - }, - "name": "new_profile", - "project": "5f1cc92b578e4e25a3b284179cf20a9b", - "spec": {"properties": { - "flavor": 1, - "image": "cirros-0.3.4-x86_64-uec", - "name": "cirros_server"}, - "type": "os.nova.server", - "version": 1.0}, - "type": "os.nova.server-1.0", - "updated_at": None, - "user": "2d7aca950f3e465d8ef0c81720faf6ff"}} - - defaults = { - "name": "new_profile", - "metadata": { - "nk1": "nv1", - "nk2": "nv2", - } - } - def setUp(self): super(TestProfileUpdate, self).setUp() self.cmd = osc_profile.UpdateProfile(self.app, None) - self.mock_client.update_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) - self.mock_client.get_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) - self.mock_client.find_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) + fake_profile = mock.Mock( + created_at="2015-03-01T14:28:25", + domain_id=None, + id="7fa885cd-fa39-4531-a42d-780af95c84a4", + metadata={}, + project_id="42d9e9663331431f97b75e25136307ff", + spec={"foo": 'bar'}, + type="os.heat.stack-1.0", + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_profile.name = "test_profile" + fake_profile.to_dict = mock.Mock(return_value={}) + self.mock_client.update_profile = mock.Mock(return_value=fake_profile) + self.mock_client.get_profile = mock.Mock(return_value=fake_profile) + self.mock_client.find_profile = mock.Mock(return_value=fake_profile) utils.get_dict_properties = mock.Mock(return_value='') def test_profile_update_defaults(self): arglist = ['--name', 'new_profile', '--metadata', 'nk1=nv1;nk2=nv2', 'e3057c77'] parsed_args = self.check_parser(self.cmd, arglist, []) + defaults = { + "name": "new_profile", + "metadata": { + "nk1": "nv1", + "nk2": "nv2", + } + } + self.cmd.take_action(parsed_args) + self.mock_client.update_profile.assert_called_with( - 'e3057c77-a178-4265-bafd-16b2fae50eea', **self.defaults) + "7fa885cd-fa39-4531-a42d-780af95c84a4", **defaults) def test_profile_update_not_found(self): arglist = ['--name', 'new_profile', '--metadata', 'nk1=nv1;nk2=nv2', @@ -416,23 +400,6 @@ class TestProfileUpdate(TestProfile): class TestProfileValidate(TestProfile): spec_path = 'senlinclient/tests/test_specs/nova_server.yaml' - response = {"profile": { - "created_at": None, - "domain": None, - "id": None, - "metadata": None, - "name": "validated_profile", - "project": "5f1cc92b578e4e25a3b284179cf20a9b", - "spec": {"properties": { - "flavor": 1, - "image": "cirros-0.3.4-x86_64-uec", - "name": "cirros_server"}, - "type": "os.nova.server", - "version": 1.0}, - "type": "os.nova.server-1.0", - "updated_at": None, - "user": "2d7aca950f3e465d8ef0c81720faf6ff"}} - defaults = { "spec": { "version": 1.0, @@ -448,8 +415,21 @@ class TestProfileValidate(TestProfile): def setUp(self): super(TestProfileValidate, self).setUp() self.cmd = osc_profile.ValidateProfile(self.app, None) + fake_profile = mock.Mock( + created_at=None, + domain_id=None, + id=None, + metadata={}, + project_id="42d9e9663331431f97b75e25136307ff", + spec={"foo": 'bar'}, + type="os.heat.stack-1.0", + updated_at=None, + user_id="5e5bf8027826429c96af157f68dc9072" + ) + fake_profile.name = "test_profile" + fake_profile.to_dict = mock.Mock(return_value={}) self.mock_client.validate_profile = mock.Mock( - return_value=sdk_profile.Profile(**self.response['profile'])) + return_value=fake_profile) utils.get_dict_properties = mock.Mock(return_value='') def test_profile_validate(self): @@ -457,14 +437,13 @@ class TestProfileValidate(TestProfile): parsed_args = self.check_parser(self.cmd, arglist, []) self.cmd.take_action(parsed_args) self.mock_client.validate_profile.assert_called_with(**self.defaults) + profile = self.mock_client.validate_profile(**self.defaults) - self.assertEqual(self.response['profile']['project'], + + self.assertEqual("42d9e9663331431f97b75e25136307ff", profile.project_id) - self.assertEqual(self.response['profile']['user'], - profile.user_id) - self.assertEqual(self.response['profile']['id'], profile.id) - self.assertEqual(self.response['profile']['metadata'], - profile.metadata) - self.assertEqual(self.response['profile']['name'], profile.name) - self.assertEqual(self.response['profile']['spec'], profile.spec) - self.assertEqual(self.response['profile']['type'], profile.type) + self.assertEqual("5e5bf8027826429c96af157f68dc9072", profile.user_id) + self.assertIsNone(profile.id) + self.assertEqual({}, profile.metadata) + self.assertEqual("test_profile", profile.name) + self.assertEqual("os.heat.stack-1.0", profile.type) diff --git a/senlinclient/tests/unit/v1/test_profile_type.py b/senlinclient/tests/unit/v1/test_profile_type.py index 21633285..42b46967 100644 --- a/senlinclient/tests/unit/v1/test_profile_type.py +++ b/senlinclient/tests/unit/v1/test_profile_type.py @@ -11,7 +11,6 @@ # under the License. import mock -from openstack.cluster.v1 import profile_type as sdk_profile_type from openstack import exceptions as sdk_exc from osc_lib import exceptions as exc @@ -26,54 +25,57 @@ class TestProfileType(fakes.TestClusteringv1): class TestProfileTypeList(TestProfileType): - expected_columns = ['name', 'version', 'support_status'] - list_response = [ - sdk_profile_type.ProfileType( - name='BBB', schema={'foo': 'bar'}, - support_status={ - "1.0": [{"status": "SUPPORTED", "since": "2016.10"}] - } - ), - sdk_profile_type.ProfileType( - name='AAA', schema={'foo': 'bar'}, - support_status={ - "1.0": [{"status": "DEPRECATED", "since": "2016.01"}] - } - ), - ] - expected_rows = [ - ('AAA', '1.0', 'DEPRECATED since 2016.01'), - ('BBB', '1.0', 'SUPPORTED since 2016.10') - ] def setUp(self): super(TestProfileTypeList, self).setUp() self.cmd = osc_profile_type.ProfileTypeList(self.app, None) - self.mock_client.profile_types = mock.Mock( - return_value=self.list_response) + pt1 = mock.Mock( + schema={'foo': 'bar'}, + support_status={ + "1.0": [{"status": "SUPPORTED", "since": "2016.10"}] + } + ) + pt1.name = "BBB" + pt2 = mock.Mock( + schema={'foo': 'bar'}, + support_status={ + "1.0": [{"status": "DEPRECATED", "since": "2016.01"}] + } + ) + pt2.name = "AAA" + self.mock_client.profile_types = mock.Mock(return_value=[pt1, pt2]) def test_profile_type_list(self): arglist = [] parsed_args = self.check_parser(self.cmd, arglist, []) + expected_rows = [ + ('AAA', '1.0', 'DEPRECATED since 2016.01'), + ('BBB', '1.0', 'SUPPORTED since 2016.10') + ] + expected_columns = ['name', 'version', 'support_status'] + columns, rows = self.cmd.take_action(parsed_args) self.mock_client.profile_types.assert_called_with() - self.assertEqual(self.expected_columns, columns) - self.assertEqual(self.expected_rows, rows) + self.assertEqual(expected_columns, columns) + self.assertEqual(expected_rows, rows) class TestProfileTypeShow(TestProfileType): - response = ({'name': 'os.heat.stack-1.0', - 'schema': { - 'foo': 'bar'}}) - def setUp(self): super(TestProfileTypeShow, self).setUp() self.cmd = osc_profile_type.ProfileTypeShow(self.app, None) - self.mock_client.get_profile_type = mock.Mock( - return_value=sdk_profile_type.ProfileType(**self.response) + fake_profile_type = mock.Mock( + schema={'foo': 'bar'}, + support_status={ + "1.0": [{"status": "DEPRECATED", "since": "2016.01"}] + } ) + fake_profile_type.name = "os.heat.stack-1.0" + fake_profile_type.to_dict = mock.Mock(return_value={}) + self.mock_client.get_profile_type = mock.Mock( + return_value=fake_profile_type) def test_profile_type_show(self): arglist = ['os.heat.stack-1.0']