diff options
| author | Zuul <zuul@review.openstack.org> | 2018-01-18 21:42:16 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2018-01-18 21:42:16 +0000 |
| commit | 4fbb1b1b110e25b0d64c4cae200c55973965e949 (patch) | |
| tree | d97503b2639668bc9ce5514ab14246d2febbeee5 /troveclient/tests | |
| parent | 9d95382a965a7c39db3a5f5c4d2ea6d25da02be8 (diff) | |
| parent | e858fe95c52e68a2591a0bd426859bf5c4a20fd1 (diff) | |
| download | python-troveclient-4fbb1b1b110e25b0d64c4cae200c55973965e949.tar.gz | |
Merge "Add cluster-instances to OSC"
Diffstat (limited to 'troveclient/tests')
| -rw-r--r-- | troveclient/tests/fakes.py | 38 | ||||
| -rw-r--r-- | troveclient/tests/osc/v1/fakes.py | 4 | ||||
| -rw-r--r-- | troveclient/tests/osc/v1/test_database_clusters.py | 22 |
3 files changed, 61 insertions, 3 deletions
diff --git a/troveclient/tests/fakes.py b/troveclient/tests/fakes.py index 708dedf..48557b2 100644 --- a/troveclient/tests/fakes.py +++ b/troveclient/tests/fakes.py @@ -347,8 +347,42 @@ class FakeHTTPClient(base_client.HTTPClient): "id": "cls-1234"}]}) def get_clusters_cls_1234(self, **kw): - r = {'cluster': self.get_clusters()[2]['clusters'][0]} - return (200, {}, r) + # NOTE(zhaochao): getting a cluster will load instances + # informations while getting the list of clusters won't, + # so we cannot just reuse the reponse of getting clusters + # for getting a cluster. + # The following response body is almost identical to the + # result of get_clusters, except the additional 'status' + # and 'volume' items, so all existing unitests accessing + # this piece of fake response will continue to work + # without any modification. + return (200, {}, {'cluster': { + "instances": [ + { + "type": "member", + "id": "member-1", + "ip": ["10.0.0.3"], + "flavor": {"id": "02"}, + "name": "test-clstr-member-1", + "status": "ACTIVE", + "volume": {"size": 2} + }, + { + "type": "member", + "id": "member-2", + "ip": ["10.0.0.4"], + "flavor": {"id": "2"}, + "name": "test-clstr-member-2", + "status": "ACTIVE", + "volume": {"size": 2} + }], + "updated": "2015-05-02T11:06:19", + "task": {"description": "No tasks for the cluster.", "id": 1, + "name": "NONE"}, + "name": "test-clstr", + "created": "2015-05-02T10:37:04", + "datastore": {"version": "7.1", "type": "vertica"}, + "id": "cls-1234"}}) def delete_instances_1234(self, **kw): return (202, {}, None) diff --git a/troveclient/tests/osc/v1/fakes.py b/troveclient/tests/osc/v1/fakes.py index e6f97f0..cfaf2f2 100644 --- a/troveclient/tests/osc/v1/fakes.py +++ b/troveclient/tests/osc/v1/fakes.py @@ -48,9 +48,11 @@ class FakeBackups(object): class FakeClusters(object): fake_clusters = fakes.FakeHTTPClient().get_clusters()[2]['clusters'] + fake_cluster = (fakes.FakeHTTPClient() + .get_clusters_cls_1234()[2]['cluster']) def get_clusters_cls_1234(self): - return clusters.Cluster(None, self.fake_clusters[0]) + return clusters.Cluster(None, self.fake_cluster) class FakeConfigurations(object): diff --git a/troveclient/tests/osc/v1/test_database_clusters.py b/troveclient/tests/osc/v1/test_database_clusters.py index 751b847..4d0bab4 100644 --- a/troveclient/tests/osc/v1/test_database_clusters.py +++ b/troveclient/tests/osc/v1/test_database_clusters.py @@ -166,3 +166,25 @@ class TestDatabaseClusterResetStatus(TestClusters): result = self.cmd.take_action(parsed_args) self.cluster_client.reset_status.assert_called_with('cluster1') self.assertIsNone(result) + + +class TestClusterListInstances(TestClusters): + + columns = (database_clusters + .ListDatabaseClusterInstances.columns) + values = [('member-1', 'test-clstr-member-1', '02', 2, 'ACTIVE'), + ('member-2', 'test-clstr-member-2', '2', 2, 'ACTIVE')] + + def setUp(self): + super(TestClusterListInstances, self).setUp() + self.cmd = (database_clusters + .ListDatabaseClusterInstances(self.app, None)) + self.data = self.fake_clusters.get_clusters_cls_1234() + self.cluster_client.get.return_value = self.data + + def test_cluster_list_instances(self): + args = ['cls-1234'] + parsed_args = self.check_parser(self.cmd, args, []) + columns, data = self.cmd.take_action(parsed_args) + self.assertEqual(self.columns, columns) + self.assertEqual(self.values, data) |
