diff options
author | Zuul <zuul@review.openstack.org> | 2018-07-17 06:03:02 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-07-17 06:03:02 +0000 |
commit | 36e231b06f259b7005ee105ef413afc438a3ccac (patch) | |
tree | 36d3f150ee8f01e973e70d747586893a02210203 /troveclient/tests | |
parent | 8a36ac25ad6412da3e9ed1539be19872e60b1c66 (diff) | |
parent | 09c686c483c7ec1b2674ca829ea0fcd68fe4c2b7 (diff) | |
download | python-troveclient-36e231b06f259b7005ee105ef413afc438a3ccac.tar.gz |
Merge "Add log-list to OSC"
Diffstat (limited to 'troveclient/tests')
-rw-r--r-- | troveclient/tests/fakes.py | 22 | ||||
-rw-r--r-- | troveclient/tests/osc/v1/fakes.py | 8 | ||||
-rw-r--r-- | troveclient/tests/osc/v1/test_database_logs.py | 49 |
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) |