summaryrefslogtreecommitdiff
path: root/troveclient/tests
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-01-18 21:42:16 +0000
committerGerrit Code Review <review@openstack.org>2018-01-18 21:42:16 +0000
commit4fbb1b1b110e25b0d64c4cae200c55973965e949 (patch)
treed97503b2639668bc9ce5514ab14246d2febbeee5 /troveclient/tests
parent9d95382a965a7c39db3a5f5c4d2ea6d25da02be8 (diff)
parente858fe95c52e68a2591a0bd426859bf5c4a20fd1 (diff)
downloadpython-troveclient-4fbb1b1b110e25b0d64c4cae200c55973965e949.tar.gz
Merge "Add cluster-instances to OSC"
Diffstat (limited to 'troveclient/tests')
-rw-r--r--troveclient/tests/fakes.py38
-rw-r--r--troveclient/tests/osc/v1/fakes.py4
-rw-r--r--troveclient/tests/osc/v1/test_database_clusters.py22
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)