summaryrefslogtreecommitdiff
path: root/troveclient/tests
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-07-17 06:03:02 +0000
committerGerrit Code Review <review@openstack.org>2018-07-17 06:03:02 +0000
commit36e231b06f259b7005ee105ef413afc438a3ccac (patch)
tree36d3f150ee8f01e973e70d747586893a02210203 /troveclient/tests
parent8a36ac25ad6412da3e9ed1539be19872e60b1c66 (diff)
parent09c686c483c7ec1b2674ca829ea0fcd68fe4c2b7 (diff)
downloadpython-troveclient-36e231b06f259b7005ee105ef413afc438a3ccac.tar.gz
Merge "Add log-list to OSC"
Diffstat (limited to 'troveclient/tests')
-rw-r--r--troveclient/tests/fakes.py22
-rw-r--r--troveclient/tests/osc/v1/fakes.py8
-rw-r--r--troveclient/tests/osc/v1/test_database_logs.py49
3 files changed, 79 insertions, 0 deletions
diff --git a/troveclient/tests/fakes.py b/troveclient/tests/fakes.py
index 9a0054c..55d13f7 100644
--- a/troveclient/tests/fakes.py
+++ b/troveclient/tests/fakes.py
@@ -828,3 +828,25 @@ class FakeHTTPClient(base_client.HTTPClient):
def update_instances_quota(self, **kw):
return (200, {}, {"quotas": {"instances": 51}})
+
+ def get_logs(self, **kw):
+ return (200, {}, {"logs": [
+ {
+ "name": "general",
+ "type": "USER",
+ "status": "Partial",
+ "published": "128",
+ "pending": "4096",
+ "container": "data_logs",
+ "prefix": "mysql-general",
+ "metafile": "mysql-general_metafile"
+ },
+ {
+ "name": "slow_query",
+ "type": "USER",
+ "status": "Ready",
+ "published": "0",
+ "pending": "128",
+ "container": "None",
+ "prefix": "None",
+ "metafile": "mysql-slow_query_metafile"}]})
diff --git a/troveclient/tests/osc/v1/fakes.py b/troveclient/tests/osc/v1/fakes.py
index 21577a2..02cc544 100644
--- a/troveclient/tests/osc/v1/fakes.py
+++ b/troveclient/tests/osc/v1/fakes.py
@@ -186,3 +186,11 @@ class FakeQuota(object):
def get_quotas(self):
return [quota.Quotas.resource_class(None, q)
for q in self.fake_quotas]
+
+
+class FakeLogs(object):
+ fake_logs = fakes.FakeHTTPClient().get_logs()[2]['logs']
+
+ def get_logs(self):
+ return [instances.DatastoreLog(None, fake_log)
+ for fake_log in self.fake_logs]
diff --git a/troveclient/tests/osc/v1/test_database_logs.py b/troveclient/tests/osc/v1/test_database_logs.py
new file mode 100644
index 0000000..1654380
--- /dev/null
+++ b/troveclient/tests/osc/v1/test_database_logs.py
@@ -0,0 +1,49 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import mock
+
+from osc_lib import utils
+
+from troveclient.osc.v1 import database_logs
+from troveclient.tests.osc.v1 import fakes
+
+
+class TestLogs(fakes.TestDatabasev1):
+ fake_logs = fakes.FakeLogs()
+
+ def setUp(self):
+ super(TestLogs, self).setUp()
+ self.instance_client = self.app.client_manager.database.instances
+
+
+class TestLogList(TestLogs):
+
+ columns = database_logs.ListDatabaseLogs.columns
+ values = [('general', 'USER', 'Partial', '128', '4096', 'data_logs',
+ 'mysql-general'),
+ ('slow_query', 'USER', 'Ready', '0', '128', 'None', 'None')]
+
+ def setUp(self):
+ super(TestLogList, self).setUp()
+ self.cmd = database_logs.ListDatabaseLogs(self.app, None)
+ data = self.fake_logs.get_logs()
+ self.instance_client.log_list.return_value = data
+
+ @mock.patch.object(utils, 'find_resource')
+ def test_log_list(self, mock_find):
+ args = ['instance']
+ mock_find.return_value = args[0]
+ 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)