diff options
Diffstat (limited to 'troveclient/tests/osc/v1/test_database_flavors.py')
-rw-r--r-- | troveclient/tests/osc/v1/test_database_flavors.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/troveclient/tests/osc/v1/test_database_flavors.py b/troveclient/tests/osc/v1/test_database_flavors.py new file mode 100644 index 0000000..6b87f06 --- /dev/null +++ b/troveclient/tests/osc/v1/test_database_flavors.py @@ -0,0 +1,78 @@ +# 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. + +from troveclient.osc.v1 import database_flavors +from troveclient.tests.osc.v1 import fakes + + +class TestFlavors(fakes.TestDatabasev1): + fake_flavors = fakes.FakeFlavors() + + def setUp(self): + super(TestFlavors, self).setUp() + self.mock_client = self.app.client_manager.database + self.flavor_client = self.app.client_manager.database.flavors + + +class TestFlavorList(TestFlavors): + columns = database_flavors.ListDatabaseFlavors.columns + values = (1, 'm1.tiny', 512, '', '', '') + + def setUp(self): + super(TestFlavorList, self).setUp() + self.cmd = database_flavors.ListDatabaseFlavors(self.app, None) + self.data = [self.fake_flavors.get_flavors_1()] + self.flavor_client.list.return_value = self.data + self.flavor_client.list_datastore_version_associated_flavors. \ + return_value = self.data + + def test_flavor_list_defaults(self): + parsed_args = self.check_parser(self.cmd, [], []) + columns, values = self.cmd.take_action(parsed_args) + self.flavor_client.list.assert_called_once_with() + self.assertEqual(self.columns, columns) + self.assertEqual([self.values], values) + + def test_flavor_list_with_optional_args(self): + args = ['--datastore-type', 'mysql', + '--datastore-version-id', '5.6'] + parsed_args = self.check_parser(self.cmd, args, []) + list_flavor_dict = {'datastore': 'mysql', + 'version_id': '5.6'} + columns, values = self.cmd.take_action(parsed_args) + self.flavor_client.list_datastore_version_associated_flavors. \ + assert_called_once_with(**list_flavor_dict) + self.assertEqual(self.columns, columns) + self.assertEqual([self.values], values) + + +class TestFlavorShow(TestFlavors): + + values = (1, 'm1.tiny', 512) + + def setUp(self): + super(TestFlavorShow, self).setUp() + self.cmd = database_flavors.ShowDatabaseFlavor(self.app, None) + self.data = self.fake_flavors.get_flavors_1() + self.flavor_client.get.return_value = self.data + self.columns = ( + 'id', + 'name', + 'ram', + ) + + def test_flavor_show_defaults(self): + args = ['m1.tiny'] + 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) |