Fix wrong keyword arguments

Currently 'openstack database flavor list' command fails when using
'--datastore-type' and '--datastore-version-id' options. This change
fixes the issue by correcting keyword arguments.

This change also adds a test case of listing flavors with the optional
arguments.

Change-Id: I37be4911d4dda1529e2550344a912e0aa3c50558
Closes-Bug: #1794663
This commit is contained in:
Yotaro Konishi 2018-09-27 15:41:38 +09:00
parent 28e8e72bf4
commit 84b1b0ae62
3 changed files with 23 additions and 2 deletions

View File

@ -0,0 +1,7 @@
---
fixes:
- |
[`bug 1794663 <https://bugs.launchpad.net/python-troveclient/+bug/1794663>`_]
Fixed wrong keyword arguments to make ``openstack database flavor list``
command work properly with ``--datastore-type`` and
``--datastore-version-id`` options.

View File

@ -58,8 +58,8 @@ class ListDatabaseFlavors(command.Lister):
db_flavors = self.app.client_manager.database.flavors
if parsed_args.datastore_type and parsed_args.datastore_version_id:
flavors = db_flavors.list_datastore_version_associated_flavors(
datastore_type=parsed_args.datastore_type,
datastore_version_id=parsed_args.datastore_version_id)
datastore=parsed_args.datastore_type,
version_id=parsed_args.datastore_version_id)
elif (not parsed_args.datastore_type and not
parsed_args.datastore_version_id):
flavors = db_flavors.list()

View File

@ -32,6 +32,8 @@ class TestFlavorList(TestFlavors):
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, [], [])
@ -40,6 +42,18 @@ class TestFlavorList(TestFlavors):
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):