diff options
Diffstat (limited to 'openstackclient/tests')
36 files changed, 1203 insertions, 388 deletions
diff --git a/openstackclient/tests/api/fakes.py b/openstackclient/tests/api/fakes.py new file mode 100644 index 00000000..85617ab7 --- /dev/null +++ b/openstackclient/tests/api/fakes.py @@ -0,0 +1,56 @@ +# 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. +# + +"""API Test Fakes""" + +from requests_mock.contrib import fixture + +from keystoneclient import session +from openstackclient.tests import utils + + +RESP_ITEM_1 = { + 'id': '1', + 'name': 'alpha', + 'status': 'UP', + 'props': {'a': 1, 'b': 2}, +} +RESP_ITEM_2 = { + 'id': '2', + 'name': 'beta', + 'status': 'DOWN', + 'props': {'a': 2, 'b': 2}, +} +RESP_ITEM_3 = { + 'id': '3', + 'name': 'delta', + 'status': 'UP', + 'props': {'a': 3, 'b': 1}, +} + +LIST_RESP = [RESP_ITEM_1, RESP_ITEM_2] + +LIST_BODY = { + 'p1': 'xxx', + 'p2': 'yyy', +} + + +class TestSession(utils.TestCase): + + BASE_URL = 'https://api.example.com:1234/vX' + + def setUp(self): + super(TestSession, self).setUp() + self.sess = session.Session() + self.requests_mock = self.useFixture(fixture.Fixture()) diff --git a/openstackclient/tests/api/test_api.py b/openstackclient/tests/api/test_api.py index 32042e4f..81197967 100644 --- a/openstackclient/tests/api/test_api.py +++ b/openstackclient/tests/api/test_api.py @@ -13,49 +13,12 @@ """Base API Library Tests""" -from requests_mock.contrib import fixture - -from keystoneclient import session from openstackclient.api import api from openstackclient.common import exceptions -from openstackclient.tests import utils - - -RESP_ITEM_1 = { - 'id': '1', - 'name': 'alpha', - 'status': 'UP', -} -RESP_ITEM_2 = { - 'id': '2', - 'name': 'beta', - 'status': 'DOWN', -} -RESP_ITEM_3 = { - 'id': '3', - 'name': 'delta', - 'status': 'UP', -} - -LIST_RESP = [RESP_ITEM_1, RESP_ITEM_2] - -LIST_BODY = { - 'p1': 'xxx', - 'p2': 'yyy', -} - - -class TestSession(utils.TestCase): - - BASE_URL = 'https://api.example.com:1234/vX' - - def setUp(self): - super(TestSession, self).setUp() - self.sess = session.Session() - self.requests_mock = self.useFixture(fixture.Fixture()) +from openstackclient.tests.api import fakes as api_fakes -class TestKeystoneSession(TestSession): +class TestKeystoneSession(api_fakes.TestSession): def setUp(self): super(TestKeystoneSession, self).setUp() @@ -68,14 +31,14 @@ class TestKeystoneSession(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz', - json=RESP_ITEM_1, + json=api_fakes.RESP_ITEM_1, status_code=200, ) ret = self.api._request('GET', '/qaz') - self.assertEqual(RESP_ITEM_1, ret.json()) + self.assertEqual(api_fakes.RESP_ITEM_1, ret.json()) -class TestBaseAPI(TestSession): +class TestBaseAPI(api_fakes.TestSession): def setUp(self): super(TestBaseAPI, self).setUp() @@ -88,21 +51,21 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'POST', self.BASE_URL + '/qaz', - json=RESP_ITEM_1, + json=api_fakes.RESP_ITEM_1, status_code=202, ) ret = self.api.create('qaz') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) def test_create_put(self): self.requests_mock.register_uri( 'PUT', self.BASE_URL + '/qaz', - json=RESP_ITEM_1, + json=api_fakes.RESP_ITEM_1, status_code=202, ) ret = self.api.create('qaz', method='PUT') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) def test_delete(self): self.requests_mock.register_uri( @@ -127,11 +90,11 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?id=1', - json={'qaz': [RESP_ITEM_1]}, + json={'qaz': [api_fakes.RESP_ITEM_1]}, status_code=200, ) ret = self.api.find_attr('qaz', '1') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) # value not found self.requests_mock.register_uri( @@ -157,23 +120,23 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?status=UP', - json={'qaz': [RESP_ITEM_1]}, + json={'qaz': [api_fakes.RESP_ITEM_1]}, status_code=200, ) ret = self.api.find_attr('qaz', 'UP', attr='status') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) ret = self.api.find_attr('qaz', value='UP', attr='status') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) def test_find_attr_by_name(self): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?name=alpha', - json={'qaz': [RESP_ITEM_1]}, + json={'qaz': [api_fakes.RESP_ITEM_1]}, status_code=200, ) ret = self.api.find_attr('qaz', 'alpha') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) # value not found self.requests_mock.register_uri( @@ -199,13 +162,13 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?status=UP', - json={'qaz': [RESP_ITEM_1]}, + json={'qaz': [api_fakes.RESP_ITEM_1]}, status_code=200, ) ret = self.api.find_attr('qaz', 'UP', attr='status') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) ret = self.api.find_attr('qaz', value='UP', attr='status') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) def test_find_attr_path_resource(self): @@ -219,37 +182,37 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/wsx?id=1', - json={'qaz': [RESP_ITEM_1]}, + json={'qaz': [api_fakes.RESP_ITEM_1]}, status_code=200, ) ret = self.api.find_attr('wsx', '1', resource='qaz') - self.assertEqual(RESP_ITEM_1, ret) + self.assertEqual(api_fakes.RESP_ITEM_1, ret) def test_find_bulk_none(self): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.find_bulk('qaz') - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) def test_find_bulk_one(self): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.find_bulk('qaz', id='1') - self.assertEqual([LIST_RESP[0]], ret) + self.assertEqual([api_fakes.LIST_RESP[0]], ret) ret = self.api.find_bulk('qaz', id='0') self.assertEqual([], ret) ret = self.api.find_bulk('qaz', name='beta') - self.assertEqual([LIST_RESP[1]], ret) + self.assertEqual([api_fakes.LIST_RESP[1]], ret) ret = self.api.find_bulk('qaz', error='bogus') self.assertEqual([], ret) @@ -258,11 +221,11 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.find_bulk('qaz', id='1', name='alpha') - self.assertEqual([LIST_RESP[0]], ret) + self.assertEqual([api_fakes.LIST_RESP[0]], ret) ret = self.api.find_bulk('qaz', id='1', name='beta') self.assertEqual([], ret) @@ -274,11 +237,11 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz', - json={'qaz': LIST_RESP}, + json={'qaz': api_fakes.LIST_RESP}, status_code=200, ) ret = self.api.find_bulk('qaz', id='1') - self.assertEqual([LIST_RESP[0]], ret) + self.assertEqual([api_fakes.LIST_RESP[0]], ret) # list tests @@ -286,77 +249,77 @@ class TestBaseAPI(TestSession): self.requests_mock.register_uri( 'GET', self.BASE_URL, - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.list('') - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.list('qaz') - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) def test_list_params(self): params = {'format': 'json'} self.requests_mock.register_uri( 'GET', self.BASE_URL + '?format=json', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.list('', **params) - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?format=json', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.list('qaz', **params) - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) def test_list_body(self): self.requests_mock.register_uri( 'POST', self.BASE_URL + '/qaz', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) - ret = self.api.list('qaz', body=LIST_BODY) - self.assertEqual(LIST_RESP, ret) + ret = self.api.list('qaz', body=api_fakes.LIST_BODY) + self.assertEqual(api_fakes.LIST_RESP, ret) def test_list_detailed(self): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz/details', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.list('qaz', detailed=True) - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) def test_list_filtered(self): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?attr=value', - json=LIST_RESP, + json=api_fakes.LIST_RESP, status_code=200, ) ret = self.api.list('qaz', attr='value') - self.assertEqual(LIST_RESP, ret) + self.assertEqual(api_fakes.LIST_RESP, ret) def test_list_wrapped(self): self.requests_mock.register_uri( 'GET', self.BASE_URL + '/qaz?attr=value', - json={'responses': LIST_RESP}, + json={'responses': api_fakes.LIST_RESP}, status_code=200, ) ret = self.api.list('qaz', attr='value') - self.assertEqual({'responses': LIST_RESP}, ret) + self.assertEqual({'responses': api_fakes.LIST_RESP}, ret) diff --git a/openstackclient/tests/api/test_utils.py b/openstackclient/tests/api/test_utils.py new file mode 100644 index 00000000..b87bdd13 --- /dev/null +++ b/openstackclient/tests/api/test_utils.py @@ -0,0 +1,115 @@ +# 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. +# + +"""API Utilities Library Tests""" + +import copy + +from openstackclient.api import api +from openstackclient.api import utils as api_utils +from openstackclient.tests.api import fakes as api_fakes + + +class TestBaseAPIFilter(api_fakes.TestSession): + """The filters can be tested independently""" + + def setUp(self): + super(TestBaseAPIFilter, self).setUp() + self.api = api.BaseAPI( + session=self.sess, + endpoint=self.BASE_URL, + ) + + self.input_list = [ + api_fakes.RESP_ITEM_1, + api_fakes.RESP_ITEM_2, + api_fakes.RESP_ITEM_3, + ] + + def test_simple_filter_none(self): + output = api_utils.simple_filter( + ) + self.assertIsNone(output) + + def test_simple_filter_no_attr(self): + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + ) + self.assertEqual(self.input_list, output) + + def test_simple_filter_attr_only(self): + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='status', + ) + self.assertEqual(self.input_list, output) + + def test_simple_filter_attr_value(self): + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='status', + value='', + ) + self.assertEqual([], output) + + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='status', + value='UP', + ) + self.assertEqual( + [api_fakes.RESP_ITEM_1, api_fakes.RESP_ITEM_3], + output, + ) + + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='fred', + value='UP', + ) + self.assertEqual([], output) + + def test_simple_filter_prop_attr_only(self): + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='b', + property_field='props', + ) + self.assertEqual(self.input_list, output) + + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='status', + property_field='props', + ) + self.assertEqual(self.input_list, output) + + def test_simple_filter_prop_attr_value(self): + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='b', + value=2, + property_field='props', + ) + self.assertEqual( + [api_fakes.RESP_ITEM_1, api_fakes.RESP_ITEM_2], + output, + ) + + output = api_utils.simple_filter( + copy.deepcopy(self.input_list), + attr='b', + value=9, + property_field='props', + ) + self.assertEqual([], output) diff --git a/openstackclient/tests/common/test_commandmanager.py b/openstackclient/tests/common/test_commandmanager.py index e7803a48..056b637d 100644 --- a/openstackclient/tests/common/test_commandmanager.py +++ b/openstackclient/tests/common/test_commandmanager.py @@ -55,22 +55,22 @@ class TestCommandManager(utils.TestCase): mock_cmd_one = mock.Mock() mgr.add_command('mock', mock_cmd_one) cmd_mock, name, args = mgr.find_command(['mock']) - self.assertEqual(cmd_mock, mock_cmd_one) + self.assertEqual(mock_cmd_one, cmd_mock) # Find a command added in initialization cmd_one, name, args = mgr.find_command(['one']) - self.assertEqual(cmd_one, FAKE_CMD_ONE) + self.assertEqual(FAKE_CMD_ONE, cmd_one) # Load another command group mgr.add_command_group('greek') # Find a new command cmd_alpha, name, args = mgr.find_command(['alpha']) - self.assertEqual(cmd_alpha, FAKE_CMD_ALPHA) + self.assertEqual(FAKE_CMD_ALPHA, cmd_alpha) # Ensure that the original commands were not overwritten cmd_two, name, args = mgr.find_command(['two']) - self.assertEqual(cmd_two, FAKE_CMD_TWO) + self.assertEqual(FAKE_CMD_TWO, cmd_two) def test_get_command_groups(self): mgr = FakeCommandManager('test') @@ -79,7 +79,7 @@ class TestCommandManager(utils.TestCase): mock_cmd_one = mock.Mock() mgr.add_command('mock', mock_cmd_one) cmd_mock, name, args = mgr.find_command(['mock']) - self.assertEqual(cmd_mock, mock_cmd_one) + self.assertEqual(mock_cmd_one, cmd_mock) # Load another command group mgr.add_command_group('greek') diff --git a/openstackclient/tests/common/test_extension.py b/openstackclient/tests/common/test_extension.py index 5561345b..8327a414 100644 --- a/openstackclient/tests/common/test_extension.py +++ b/openstackclient/tests/common/test_extension.py @@ -75,7 +75,7 @@ class TestExtensionList(TestExtension): self.identity_extensions_mock.list.assert_called_with() collist = ('Name', 'Alias', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( ( identity_fakes.extension_name, @@ -88,7 +88,7 @@ class TestExtensionList(TestExtension): network_fakes.extension_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_extension_list_long(self): arglist = [ @@ -107,7 +107,7 @@ class TestExtensionList(TestExtension): collist = ('Name', 'Namespace', 'Description', 'Alias', 'Updated', 'Links') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( ( identity_fakes.extension_name, @@ -126,7 +126,7 @@ class TestExtensionList(TestExtension): network_fakes.extension_links, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_extension_list_identity(self): arglist = [ @@ -143,13 +143,13 @@ class TestExtensionList(TestExtension): self.identity_extensions_mock.list.assert_called_with() collist = ('Name', 'Alias', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.extension_name, identity_fakes.extension_alias, identity_fakes.extension_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_extension_list_network(self): arglist = [ @@ -165,7 +165,7 @@ class TestExtensionList(TestExtension): self.network_extensions_mock.assert_called_with() collist = ('Name', 'Alias', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( ( network_fakes.extension_name, @@ -173,4 +173,4 @@ class TestExtensionList(TestExtension): network_fakes.extension_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) diff --git a/openstackclient/tests/common/test_parseractions.py b/openstackclient/tests/common/test_parseractions.py index f26f2891..8afcb632 100644 --- a/openstackclient/tests/common/test_parseractions.py +++ b/openstackclient/tests/common/test_parseractions.py @@ -101,4 +101,4 @@ class TestKeyValueAction(utils.TestCase): # There should be no red or blue expect = {'green': '100%'} self.assertDictEqual(expect, actual) - self.assertEqual(failhere, None) + self.assertEqual(None, failhere) diff --git a/openstackclient/tests/common/test_utils.py b/openstackclient/tests/common/test_utils.py index e782d410..583ab99c 100644 --- a/openstackclient/tests/common/test_utils.py +++ b/openstackclient/tests/common/test_utils.py @@ -31,7 +31,7 @@ class TestUtils(test_utils.TestCase): mock_stdin = mock.Mock() mock_stdin.isatty = mock.Mock() mock_stdin.isatty.return_value = True - self.assertEqual(utils.get_password(mock_stdin), PASSWORD) + self.assertEqual(PASSWORD, utils.get_password(mock_stdin)) def test_get_password_bad_once(self): answers = [PASSWORD, WASSPORD, DROWSSAP, DROWSSAP] @@ -39,7 +39,7 @@ class TestUtils(test_utils.TestCase): mock_stdin = mock.Mock() mock_stdin.isatty = mock.Mock() mock_stdin.isatty.return_value = True - self.assertEqual(utils.get_password(mock_stdin), DROWSSAP) + self.assertEqual(DROWSSAP, utils.get_password(mock_stdin)) def test_get_password_no_tty(self): mock_stdin = mock.Mock() diff --git a/openstackclient/tests/compute/v2/fakes.py b/openstackclient/tests/compute/v2/fakes.py index e5ed5cbd..a22c1ce0 100644 --- a/openstackclient/tests/compute/v2/fakes.py +++ b/openstackclient/tests/compute/v2/fakes.py @@ -17,6 +17,7 @@ import mock from openstackclient.tests import fakes from openstackclient.tests.image.v2 import fakes as image_fakes +from openstackclient.tests.network.v2 import fakes as network_fakes from openstackclient.tests import utils @@ -88,3 +89,8 @@ class TestComputev2(utils.TestCommand): endpoint=fakes.AUTH_URL, token=fakes.AUTH_TOKEN, ) + + self.app.client_manager.network = network_fakes.FakeNetworkV2Client( + endpoint=fakes.AUTH_URL, + token=fakes.AUTH_TOKEN, + ) diff --git a/openstackclient/tests/compute/v2/test_flavor.py b/openstackclient/tests/compute/v2/test_flavor.py new file mode 100644 index 00000000..8f33ccfe --- /dev/null +++ b/openstackclient/tests/compute/v2/test_flavor.py @@ -0,0 +1,274 @@ +# Copyright 2015 Symantec Corporation +# +# 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 copy + +from openstackclient.compute.v2 import flavor +from openstackclient.tests.compute.v2 import fakes as compute_fakes +from openstackclient.tests import fakes + + +class FakeFlavorResource(fakes.FakeResource): + + def get_keys(self): + return {'property': 'value'} + + +class TestFlavor(compute_fakes.TestComputev2): + + def setUp(self): + super(TestFlavor, self).setUp() + + # Get a shortcut to the FlavorManager Mock + self.flavors_mock = self.app.client_manager.compute.flavors + self.flavors_mock.reset_mock() + + +class TestFlavorList(TestFlavor): + + def setUp(self): + super(TestFlavorList, self).setUp() + + self.flavors_mock.list.return_value = [ + FakeFlavorResource( + None, + copy.deepcopy(compute_fakes.FLAVOR), + loaded=True, + ), + ] + + # Get the command object to test + self.cmd = flavor.ListFlavor(self.app, None) + + def test_flavor_list_no_options(self): + arglist = [] + verifylist = [ + ('public', True), + ('all', False), + ('long', False), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'is_public': True + } + + self.flavors_mock.list.assert_called_with( + **kwargs + ) + + collist = ( + 'ID', + 'Name', + 'RAM', + 'Disk', + 'Ephemeral', + 'VCPUs', + 'Is Public', + ) + self.assertEqual(collist, columns) + datalist = (( + compute_fakes.flavor_id, + compute_fakes.flavor_name, + compute_fakes.flavor_ram, + '', + '', + compute_fakes.flavor_vcpus, + '' + ), ) + self.assertEqual(datalist, tuple(data)) + + def test_flavor_list_all_flavors(self): + arglist = [ + '--all', + ] + verifylist = [ + ('all', True), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'is_public': None + } + + self.flavors_mock.list.assert_called_with( + **kwargs + ) + + collist = ( + 'ID', + 'Name', + 'RAM', + 'Disk', + 'Ephemeral', + 'VCPUs', + 'Is Public', + ) + self.assertEqual(collist, columns) + datalist = (( + compute_fakes.flavor_id, + compute_fakes.flavor_name, + compute_fakes.flavor_ram, + '', + '', + compute_fakes.flavor_vcpus, + '' + ), ) + self.assertEqual(datalist, tuple(data)) + + def test_flavor_list_private_flavors(self): + arglist = [ + '--private', + ] + verifylist = [ + ('public', False), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'is_public': False + } + + self.flavors_mock.list.assert_called_with( + **kwargs + ) + + collist = ( + 'ID', + 'Name', + 'RAM', + 'Disk', + 'Ephemeral', + 'VCPUs', + 'Is Public', + ) + self.assertEqual(collist, columns) + datalist = (( + compute_fakes.flavor_id, + compute_fakes.flavor_name, + compute_fakes.flavor_ram, + '', + '', + compute_fakes.flavor_vcpus, + '' + ), ) + self.assertEqual(datalist, tuple(data)) + + def test_flavor_list_public_flavors(self): + arglist = [ + '--public', + ] + verifylist = [ + ('public', True), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'is_public': True + } + + self.flavors_mock.list.assert_called_with( + **kwargs + ) + + collist = ( + 'ID', + 'Name', + 'RAM', + 'Disk', + 'Ephemeral', + 'VCPUs', + 'Is Public', + ) + self.assertEqual(collist, columns) + datalist = (( + compute_fakes.flavor_id, + compute_fakes.flavor_name, + compute_fakes.flavor_ram, + '', + '', + compute_fakes.flavor_vcpus, + '' + ), ) + self.assertEqual(datalist, tuple(data)) + + def test_flavor_list_long(self): + arglist = [ + '--long', + ] + verifylist = [ + ('long', True), + ] + + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'is_public': True + } + + self.flavors_mock.list.assert_called_with( + **kwargs + ) + + collist = ( + 'ID', + 'Name', + 'RAM', + 'Disk', + 'Ephemeral', + 'VCPUs', + 'Is Public', + 'Swap', + 'RXTX Factor', + 'Properties' + ) + self.assertEqual(collist, columns) + datalist = (( + compute_fakes.flavor_id, + compute_fakes.flavor_name, + compute_fakes.flavor_ram, + '', + '', + compute_fakes.flavor_vcpus, + '', + '', + '', + 'property=\'value\'' + ), ) + self.assertEqual(datalist, tuple(data)) diff --git a/openstackclient/tests/compute/v2/test_server.py b/openstackclient/tests/compute/v2/test_server.py index d51beef3..5a126697 100644 --- a/openstackclient/tests/compute/v2/test_server.py +++ b/openstackclient/tests/compute/v2/test_server.py @@ -145,6 +145,82 @@ class TestServerCreate(TestServer): ) self.assertEqual(datalist, data) + def test_server_create_with_network(self): + arglist = [ + '--image', 'image1', + '--flavor', 'flavor1', + '--nic', 'net-id=net1', + '--nic', 'port-id=port1', + compute_fakes.server_id, + ] + verifylist = [ + ('image', 'image1'), + ('flavor', 'flavor1'), + ('nic', ['net-id=net1', 'port-id=port1']), + ('config_drive', False), + ('server_name', compute_fakes.server_id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + get_endpoints = mock.Mock() + get_endpoints.return_value = {'network': []} + self.app.client_manager.auth_ref = mock.Mock() + self.app.client_manager.auth_ref.service_catalog = mock.Mock() + self.app.client_manager.auth_ref.service_catalog.get_endpoints = ( + get_endpoints) + + list_networks = mock.Mock() + list_ports = mock.Mock() + self.app.client_manager.network.list_networks = list_networks + self.app.client_manager.network.list_ports = list_ports + list_networks.return_value = {'networks': [{'id': 'net1_uuid'}]} + list_ports.return_value = {'ports': [{'id': 'port1_uuid'}]} + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = dict( + meta=None, + files={}, + reservation_id=None, + min_count=1, + max_count=1, + security_groups=[], + userdata=None, + key_name=None, + availability_zone=None, + block_device_mapping={}, + nics=[{'net-id': 'net1_uuid', + 'v4-fixed-ip': '', + 'v6-fixed-ip': '', + 'port-id': ''}, + {'net-id': '', + 'v4-fixed-ip': '', + 'v6-fixed-ip': '', + 'port-id': 'port1_uuid'}], + scheduler_hints={}, + config_drive=None, + ) + # ServerManager.create(name, image, flavor, **kwargs) + self.servers_mock.create.assert_called_with( + compute_fakes.server_id, + self.image, + self.flavor, + **kwargs + ) + + collist = ('addresses', 'flavor', 'id', 'name', 'properties') + self.assertEqual(collist, columns) + datalist = ( + '', + 'Large ()', + compute_fakes.server_id, + compute_fakes.server_name, + '', + ) + self.assertEqual(datalist, data) + @mock.patch('openstackclient.compute.v2.server.io.open') def test_server_create_userdata(self, mock_open): mock_file = mock.MagicMock(name='File') diff --git a/openstackclient/tests/fakes.py b/openstackclient/tests/fakes.py index d37555e3..323f9543 100644 --- a/openstackclient/tests/fakes.py +++ b/openstackclient/tests/fakes.py @@ -52,13 +52,34 @@ class FakeStdout(object): return result +class FakeLog(object): + def __init__(self): + self.messages = {} + + def debug(self, msg): + self.messages['debug'] = msg + + def info(self, msg): + self.messages['info'] = msg + + def warning(self, msg): + self.messages['warning'] = msg + + def error(self, msg): + self.messages['error'] = msg + + def critical(self, msg): + self.messages['critical'] = msg + + class FakeApp(object): - def __init__(self, _stdout): + def __init__(self, _stdout, _log): self.stdout = _stdout self.client_manager = None self.stdin = sys.stdin self.stdout = _stdout or sys.stdout self.stderr = sys.stderr + self.log = _log class FakeClient(object): diff --git a/openstackclient/tests/identity/v2_0/test_endpoint.py b/openstackclient/tests/identity/v2_0/test_endpoint.py index 0d7db0aa..354b1e40 100644 --- a/openstackclient/tests/identity/v2_0/test_endpoint.py +++ b/openstackclient/tests/identity/v2_0/test_endpoint.py @@ -84,7 +84,7 @@ class TestEndpointCreate(TestEndpoint): collist = ('adminurl', 'id', 'internalurl', 'publicurl', 'region', 'service_id', 'service_name', 'service_type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.endpoint_adminurl, identity_fakes.endpoint_id, @@ -96,7 +96,7 @@ class TestEndpointCreate(TestEndpoint): identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestEndpointDelete(TestEndpoint): @@ -171,14 +171,14 @@ class TestEndpointList(TestEndpoint): self.endpoints_mock.list.assert_called_with() collist = ('ID', 'Region', 'Service Name', 'Service Type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.endpoint_id, identity_fakes.endpoint_region, identity_fakes.service_name, identity_fakes.service_type, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_endpoint_list_long(self): arglist = [ @@ -196,7 +196,7 @@ class TestEndpointList(TestEndpoint): collist = ('ID', 'Region', 'Service Name', 'Service Type', 'PublicURL', 'AdminURL', 'InternalURL') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.endpoint_id, identity_fakes.endpoint_region, @@ -206,7 +206,7 @@ class TestEndpointList(TestEndpoint): identity_fakes.endpoint_adminurl, identity_fakes.endpoint_internalurl, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestEndpointShow(TestEndpoint): @@ -252,7 +252,7 @@ class TestEndpointShow(TestEndpoint): collist = ('adminurl', 'id', 'internalurl', 'publicurl', 'region', 'service_id', 'service_name', 'service_type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.endpoint_adminurl, identity_fakes.endpoint_id, @@ -263,4 +263,4 @@ class TestEndpointShow(TestEndpoint): identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v2_0/test_project.py b/openstackclient/tests/identity/v2_0/test_project.py index 0c5ef77f..18e862eb 100644 --- a/openstackclient/tests/identity/v2_0/test_project.py +++ b/openstackclient/tests/identity/v2_0/test_project.py @@ -71,14 +71,14 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, True, identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_description(self): arglist = [ @@ -105,14 +105,14 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, True, identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_enable(self): arglist = [ @@ -140,14 +140,14 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, True, identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_disable(self): arglist = [ @@ -175,14 +175,14 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, True, identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_property(self): arglist = [ @@ -212,14 +212,14 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, True, identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_or_show_exists(self): def _raise_conflict(*args, **kwargs): @@ -331,7 +331,7 @@ class TestProjectDelete(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) self.projects_mock.delete.assert_called_with( identity_fakes.project_id, @@ -364,12 +364,12 @@ class TestProjectList(TestProject): self.projects_mock.list.assert_called_with() collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.project_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_project_list_long(self): arglist = [ @@ -385,14 +385,14 @@ class TestProjectList(TestProject): self.projects_mock.list.assert_called_with() collist = ('ID', 'Name', 'Description', 'Enabled') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.project_name, identity_fakes.project_description, True, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestProjectSet(TestProject): @@ -426,7 +426,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) def test_project_set_name(self): arglist = [ @@ -442,7 +442,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -469,7 +469,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -495,7 +495,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -521,7 +521,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -547,7 +547,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -593,11 +593,11 @@ class TestProjectShow(TestProject): ) collist = ('description', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, True, identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v2_0/test_role.py b/openstackclient/tests/identity/v2_0/test_role.py index 2e3a2863..478a4ff2 100644 --- a/openstackclient/tests/identity/v2_0/test_role.py +++ b/openstackclient/tests/identity/v2_0/test_role.py @@ -97,12 +97,12 @@ class TestRoleAdd(TestRole): ) collist = ('id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.role_id, identity_fakes.role_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestRoleCreate(TestRole): @@ -137,12 +137,12 @@ class TestRoleCreate(TestRole): ) collist = ('id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.role_id, identity_fakes.role_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_role_create_or_show_exists(self): def _raise_conflict(*args, **kwargs): @@ -273,12 +273,12 @@ class TestRoleList(TestRole): self.roles_mock.list.assert_called_with() collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestUserRoleList(TestRole): @@ -339,14 +339,14 @@ class TestUserRoleList(TestRole): ) collist = ('ID', 'Name', 'Project', 'User') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, identity_fakes.project_name, identity_fakes.user_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_user_role_list_project(self): self.projects_mock.get.return_value = fakes.FakeResource( @@ -396,14 +396,14 @@ class TestUserRoleList(TestRole): ) collist = ('ID', 'Name', 'Project', 'User') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, identity_fakes.PROJECT_2['name'], identity_fakes.user_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestRoleRemove(TestRole): @@ -489,9 +489,9 @@ class TestRoleShow(TestRole): ) collist = ('id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.role_id, identity_fakes.role_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v2_0/test_service.py b/openstackclient/tests/identity/v2_0/test_service.py index 73606585..26a9716f 100644 --- a/openstackclient/tests/identity/v2_0/test_service.py +++ b/openstackclient/tests/identity/v2_0/test_service.py @@ -67,14 +67,14 @@ class TestServiceCreate(TestService): ) collist = ('description', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_service_create_with_type_option(self): arglist = [ @@ -100,14 +100,14 @@ class TestServiceCreate(TestService): ) collist = ('description', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_service_create_with_name_option(self): arglist = [ @@ -133,14 +133,14 @@ class TestServiceCreate(TestService): ) collist = ('description', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_service_create_description(self): arglist = [ @@ -167,14 +167,14 @@ class TestServiceCreate(TestService): ) collist = ('description', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestServiceDelete(TestService): @@ -236,13 +236,13 @@ class TestServiceList(TestService): self.services_mock.list.assert_called_with() collist = ('ID', 'Name', 'Type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_service_list_long(self): arglist = [ @@ -259,14 +259,14 @@ class TestServiceList(TestService): self.services_mock.list.assert_called_with() collist = ('ID', 'Name', 'Type', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, identity_fakes.service_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestServiceShow(TestService): @@ -301,11 +301,11 @@ class TestServiceShow(TestService): ) collist = ('description', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v2_0/test_token.py b/openstackclient/tests/identity/v2_0/test_token.py index 4184326c..ce2faef3 100644 --- a/openstackclient/tests/identity/v2_0/test_token.py +++ b/openstackclient/tests/identity/v2_0/test_token.py @@ -49,14 +49,14 @@ class TestTokenIssue(TestToken): self.sc_mock.get_token.assert_called_with() collist = ('expires', 'id', 'project_id', 'user_id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.token_expires, identity_fakes.token_id, identity_fakes.project_id, identity_fakes.user_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestTokenRevoke(TestToken): diff --git a/openstackclient/tests/identity/v2_0/test_user.py b/openstackclient/tests/identity/v2_0/test_user.py index ccdf240e..6fe82f93 100644 --- a/openstackclient/tests/identity/v2_0/test_user.py +++ b/openstackclient/tests/identity/v2_0/test_user.py @@ -586,7 +586,7 @@ class TestUserSet(TestUser): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) def test_user_set_name(self): arglist = [ diff --git a/openstackclient/tests/identity/v3/test_consumer.py b/openstackclient/tests/identity/v3/test_consumer.py index dd2f3327..4e807562 100644 --- a/openstackclient/tests/identity/v3/test_consumer.py +++ b/openstackclient/tests/identity/v3/test_consumer.py @@ -54,13 +54,13 @@ class TestConsumerCreate(TestOAuth1): ) collist = ('description', 'id', 'secret') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.consumer_description, identity_fakes.consumer_id, identity_fakes.consumer_secret, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestConsumerDelete(TestOAuth1): @@ -88,7 +88,7 @@ class TestConsumerDelete(TestOAuth1): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) self.consumers_mock.delete.assert_called_with( identity_fakes.consumer_id, @@ -126,12 +126,12 @@ class TestConsumerList(TestOAuth1): self.consumers_mock.list.assert_called_with() collist = ('ID', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.consumer_id, identity_fakes.consumer_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestConsumerShow(TestOAuth1): @@ -165,12 +165,12 @@ class TestConsumerShow(TestOAuth1): ) collist = ('description', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.consumer_description, identity_fakes.consumer_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestConsumerSet(TestOAuth1): @@ -207,7 +207,7 @@ class TestConsumerSet(TestOAuth1): ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) kwargs = {'description': new_description} self.consumers_mock.update.assert_called_with( diff --git a/openstackclient/tests/identity/v3/test_group.py b/openstackclient/tests/identity/v3/test_group.py index dce56362..6766a081 100644 --- a/openstackclient/tests/identity/v3/test_group.py +++ b/openstackclient/tests/identity/v3/test_group.py @@ -88,7 +88,7 @@ class TestGroupList(TestGroup): ) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.group_id, identity_fakes.group_name, @@ -118,7 +118,7 @@ class TestGroupList(TestGroup): ) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.group_id, identity_fakes.group_name, @@ -148,7 +148,7 @@ class TestGroupList(TestGroup): ) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.group_id, identity_fakes.group_name, @@ -183,7 +183,7 @@ class TestGroupList(TestGroup): 'Domain ID', 'Description', ) - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.group_id, identity_fakes.group_name, diff --git a/openstackclient/tests/identity/v3/test_identity_provider.py b/openstackclient/tests/identity/v3/test_identity_provider.py index c74bce8e..527f01b5 100644 --- a/openstackclient/tests/identity/v3/test_identity_provider.py +++ b/openstackclient/tests/identity/v3/test_identity_provider.py @@ -61,13 +61,13 @@ class TestIdentityProviderCreate(TestIdentityProvider): ) collist = ('description', 'enabled', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.idp_description, True, identity_fakes.idp_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_create_identity_provider_description(self): arglist = [ @@ -93,13 +93,13 @@ class TestIdentityProviderCreate(TestIdentityProvider): ) collist = ('description', 'enabled', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.idp_description, True, identity_fakes.idp_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_create_identity_provider_disabled(self): @@ -133,13 +133,13 @@ class TestIdentityProviderCreate(TestIdentityProvider): ) collist = ('description', 'enabled', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( None, False, identity_fakes.idp_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestIdentityProviderDelete(TestIdentityProvider): @@ -203,13 +203,13 @@ class TestIdentityProviderList(TestIdentityProvider): self.identity_providers_mock.list.assert_called_with() collist = ('ID', 'Enabled', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.idp_id, True, identity_fakes.idp_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestIdentityProviderShow(TestIdentityProvider): @@ -242,13 +242,13 @@ class TestIdentityProviderShow(TestIdentityProvider): ) collist = ('description', 'enabled', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.idp_description, True, identity_fakes.idp_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestIdentityProviderSet(TestIdentityProvider): @@ -291,7 +291,7 @@ class TestIdentityProviderSet(TestIdentityProvider): ) collist = ('description', 'enabled', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.idp_description, False, @@ -328,13 +328,13 @@ class TestIdentityProviderSet(TestIdentityProvider): self.identity_providers_mock.update.assert_called_with( identity_fakes.idp_id, enabled=True) collist = ('description', 'enabled', 'id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.idp_description, True, identity_fakes.idp_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_identity_provider_no_options(self): def prepare(self): @@ -368,5 +368,5 @@ class TestIdentityProviderSet(TestIdentityProvider): # expect take_action() to return (None, None) as # neither --enable nor --disable was specified - self.assertEqual(columns, None) - self.assertEqual(data, None) + self.assertEqual(None, columns) + self.assertEqual(None, data) diff --git a/openstackclient/tests/identity/v3/test_mappings.py b/openstackclient/tests/identity/v3/test_mappings.py index f5c318fe..f6e88885 100644 --- a/openstackclient/tests/identity/v3/test_mappings.py +++ b/openstackclient/tests/identity/v3/test_mappings.py @@ -65,7 +65,7 @@ class TestMappingCreate(TestMapping): rules=identity_fakes.MAPPING_RULES) collist = ('id', 'rules') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (identity_fakes.mapping_id, identity_fakes.MAPPING_RULES) @@ -134,7 +134,7 @@ class TestMappingList(TestMapping): self.mapping_mock.list.assert_called_with() collist = ('ID',) - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = [(identity_fakes.mapping_id,), ('extra_mapping',)] self.assertEqual(datalist, data) @@ -167,7 +167,7 @@ class TestMappingShow(TestMapping): identity_fakes.mapping_id) collist = ('id', 'rules') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (identity_fakes.mapping_id, identity_fakes.MAPPING_RULES) @@ -216,7 +216,7 @@ class TestMappingSet(TestMapping): rules=identity_fakes.MAPPING_RULES_2) collist = ('id', 'rules') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (identity_fakes.mapping_id, identity_fakes.MAPPING_RULES_2) self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v3/test_oauth.py b/openstackclient/tests/identity/v3/test_oauth.py index 435042d1..dba6d034 100644 --- a/openstackclient/tests/identity/v3/test_oauth.py +++ b/openstackclient/tests/identity/v3/test_oauth.py @@ -72,14 +72,14 @@ class TestRequestTokenCreate(TestOAuth1): ) collist = ('expires', 'id', 'key', 'secret') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.request_token_expires, identity_fakes.request_token_id, identity_fakes.request_token_id, identity_fakes.request_token_secret, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestRequestTokenAuthorize(TestOAuth1): @@ -116,11 +116,11 @@ class TestRequestTokenAuthorize(TestOAuth1): ) collist = ('oauth_verifier',) - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.oauth_verifier_pin, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestAccessTokenCreate(TestOAuth1): @@ -163,11 +163,11 @@ class TestAccessTokenCreate(TestOAuth1): ) collist = ('expires', 'id', 'key', 'secret') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.access_token_expires, identity_fakes.access_token_id, identity_fakes.access_token_id, identity_fakes.access_token_secret, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v3/test_project.py b/openstackclient/tests/identity/v3/test_project.py index d16f9732..874908da 100644 --- a/openstackclient/tests/identity/v3/test_project.py +++ b/openstackclient/tests/identity/v3/test_project.py @@ -83,7 +83,7 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -91,7 +91,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_description(self): arglist = [ @@ -123,7 +123,7 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -131,7 +131,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_domain(self): arglist = [ @@ -163,7 +163,7 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -171,7 +171,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_domain_no_perms(self): arglist = [ @@ -202,7 +202,7 @@ class TestProjectCreate(TestProject): **kwargs ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -210,7 +210,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_enable(self): arglist = [ @@ -241,7 +241,7 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -249,7 +249,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_disable(self): arglist = [ @@ -280,7 +280,7 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -288,7 +288,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_project_create_property(self): arglist = [ @@ -321,7 +321,7 @@ class TestProjectCreate(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -329,7 +329,7 @@ class TestProjectCreate(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestProjectDelete(TestProject): @@ -358,7 +358,7 @@ class TestProjectDelete(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) self.projects_mock.delete.assert_called_with( identity_fakes.project_id, @@ -391,12 +391,12 @@ class TestProjectList(TestProject): self.projects_mock.list.assert_called_with() collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.project_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_project_list_long(self): arglist = [ @@ -412,7 +412,7 @@ class TestProjectList(TestProject): self.projects_mock.list.assert_called_with() collist = ('ID', 'Name', 'Domain ID', 'Description', 'Enabled') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.project_name, @@ -420,7 +420,7 @@ class TestProjectList(TestProject): identity_fakes.project_description, True, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_project_list_domain(self): arglist = [ @@ -444,12 +444,12 @@ class TestProjectList(TestProject): domain=identity_fakes.domain_id) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.project_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_project_list_domain_no_perms(self): arglist = [ @@ -468,12 +468,12 @@ class TestProjectList(TestProject): self.projects_mock.list.assert_called_with( domain=identity_fakes.domain_id) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.project_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestProjectSet(TestProject): @@ -513,7 +513,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) def test_project_set_name(self): arglist = [ @@ -529,7 +529,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -556,7 +556,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -580,7 +580,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -604,7 +604,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -628,7 +628,7 @@ class TestProjectSet(TestProject): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -671,7 +671,7 @@ class TestProjectShow(TestProject): ) collist = ('description', 'domain_id', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_description, identity_fakes.domain_id, @@ -679,4 +679,4 @@ class TestProjectShow(TestProject): identity_fakes.project_id, identity_fakes.project_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v3/test_role.py b/openstackclient/tests/identity/v3/test_role.py index 1a9e6aa7..84cf07a1 100644 --- a/openstackclient/tests/identity/v3/test_role.py +++ b/openstackclient/tests/identity/v3/test_role.py @@ -105,7 +105,7 @@ class TestRoleAdd(TestRole): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -134,7 +134,7 @@ class TestRoleAdd(TestRole): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -163,7 +163,7 @@ class TestRoleAdd(TestRole): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -192,7 +192,7 @@ class TestRoleAdd(TestRole): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -243,12 +243,12 @@ class TestRoleCreate(TestRole): ) collist = ('id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.role_id, identity_fakes.role_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestRoleDelete(TestRole): @@ -331,12 +331,12 @@ class TestRoleList(TestRole): self.roles_mock.list.assert_called_with() collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_user_list_user(self): arglist = [ @@ -361,12 +361,12 @@ class TestRoleList(TestRole): ) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_list_domain_user(self): arglist = [ @@ -393,14 +393,14 @@ class TestRoleList(TestRole): ) collist = ('ID', 'Name', 'Domain', 'User') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, identity_fakes.domain_name, identity_fakes.user_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_list_domain_group(self): arglist = [ @@ -427,14 +427,14 @@ class TestRoleList(TestRole): ) collist = ('ID', 'Name', 'Domain', 'Group') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, identity_fakes.domain_name, identity_fakes.group_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_list_project_user(self): arglist = [ @@ -461,14 +461,14 @@ class TestRoleList(TestRole): ) collist = ('ID', 'Name', 'Project', 'User') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, identity_fakes.project_name, identity_fakes.user_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_list_project_group(self): arglist = [ @@ -495,14 +495,14 @@ class TestRoleList(TestRole): ) collist = ('ID', 'Name', 'Project', 'Group') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.role_name, identity_fakes.project_name, identity_fakes.group_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestRoleRemove(TestRole): @@ -733,9 +733,9 @@ class TestRoleShow(TestRole): ) collist = ('id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.role_id, identity_fakes.role_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v3/test_role_assignment.py b/openstackclient/tests/identity/v3/test_role_assignment.py index 6497ca8e..b1ce8b29 100644 --- a/openstackclient/tests/identity/v3/test_role_assignment.py +++ b/openstackclient/tests/identity/v3/test_role_assignment.py @@ -89,7 +89,7 @@ class TestRoleAssignmentList(TestRoleAssignment): project=None) collist = ('Role', 'User', 'Group', 'Project', 'Domain') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.user_id, @@ -102,7 +102,7 @@ class TestRoleAssignmentList(TestRoleAssignment): identity_fakes.project_id, '' ),) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_assignment_list_user(self): @@ -146,7 +146,7 @@ class TestRoleAssignmentList(TestRoleAssignment): effective=False) collist = ('Role', 'User', 'Group', 'Project', 'Domain') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.user_id, @@ -159,7 +159,7 @@ class TestRoleAssignmentList(TestRoleAssignment): identity_fakes.project_id, '' ),) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_assignment_list_group(self): @@ -203,7 +203,7 @@ class TestRoleAssignmentList(TestRoleAssignment): user=None) collist = ('Role', 'User', 'Group', 'Project', 'Domain') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, '', @@ -216,7 +216,7 @@ class TestRoleAssignmentList(TestRoleAssignment): identity_fakes.project_id, '' ),) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_assignment_list_domain(self): @@ -260,7 +260,7 @@ class TestRoleAssignmentList(TestRoleAssignment): user=None) collist = ('Role', 'User', 'Group', 'Project', 'Domain') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.user_id, @@ -273,7 +273,7 @@ class TestRoleAssignmentList(TestRoleAssignment): '', identity_fakes.domain_id ),) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_assignment_list_project(self): @@ -317,7 +317,7 @@ class TestRoleAssignmentList(TestRoleAssignment): user=None) collist = ('Role', 'User', 'Group', 'Project', 'Domain') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.user_id, @@ -330,7 +330,7 @@ class TestRoleAssignmentList(TestRoleAssignment): identity_fakes.project_id, '' ),) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_role_assignment_list_effective(self): @@ -372,7 +372,7 @@ class TestRoleAssignmentList(TestRoleAssignment): user=None) collist = ('Role', 'User', 'Group', 'Project', 'Domain') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.role_id, identity_fakes.user_id, @@ -385,4 +385,4 @@ class TestRoleAssignmentList(TestRoleAssignment): '', identity_fakes.domain_id, ),) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) diff --git a/openstackclient/tests/identity/v3/test_service.py b/openstackclient/tests/identity/v3/test_service.py index 7766a29c..d2b54c7f 100644 --- a/openstackclient/tests/identity/v3/test_service.py +++ b/openstackclient/tests/identity/v3/test_service.py @@ -70,7 +70,7 @@ class TestServiceCreate(TestService): ) collist = ('description', 'enabled', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, True, @@ -78,7 +78,7 @@ class TestServiceCreate(TestService): identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_service_create_description(self): arglist = [ @@ -106,7 +106,7 @@ class TestServiceCreate(TestService): ) collist = ('description', 'enabled', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, True, @@ -114,7 +114,7 @@ class TestServiceCreate(TestService): identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_service_create_enable(self): arglist = [ @@ -142,7 +142,7 @@ class TestServiceCreate(TestService): ) collist = ('description', 'enabled', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, True, @@ -150,7 +150,7 @@ class TestServiceCreate(TestService): identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_service_create_disable(self): arglist = [ @@ -178,7 +178,7 @@ class TestServiceCreate(TestService): ) collist = ('description', 'enabled', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, True, @@ -186,7 +186,7 @@ class TestServiceCreate(TestService): identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestServiceDelete(TestService): @@ -214,7 +214,7 @@ class TestServiceDelete(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) self.services_mock.delete.assert_called_with( identity_fakes.service_id, @@ -248,13 +248,13 @@ class TestServiceList(TestService): self.services_mock.list.assert_called_with() collist = ('ID', 'Name', 'Type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.service_id, identity_fakes.service_name, identity_fakes.service_type, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_service_list_long(self): arglist = [ @@ -271,7 +271,7 @@ class TestServiceList(TestService): self.services_mock.list.assert_called_with() collist = ('ID', 'Name', 'Type', 'Description', 'Enabled') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.service_id, identity_fakes.service_name, @@ -279,7 +279,7 @@ class TestServiceList(TestService): identity_fakes.service_description, True, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestServiceSet(TestService): @@ -316,7 +316,7 @@ class TestServiceSet(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) def test_service_set_type(self): arglist = [ @@ -334,7 +334,7 @@ class TestServiceSet(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -362,7 +362,7 @@ class TestServiceSet(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -390,7 +390,7 @@ class TestServiceSet(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -418,7 +418,7 @@ class TestServiceSet(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -446,7 +446,7 @@ class TestServiceSet(TestService): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) # Set expected values kwargs = { @@ -491,7 +491,7 @@ class TestServiceShow(TestService): ) collist = ('description', 'enabled', 'id', 'name', 'type') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.service_description, True, @@ -499,4 +499,4 @@ class TestServiceShow(TestService): identity_fakes.service_name, identity_fakes.service_type, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v3/test_token.py b/openstackclient/tests/identity/v3/test_token.py index f43b6f5f..6ad4845d 100644 --- a/openstackclient/tests/identity/v3/test_token.py +++ b/openstackclient/tests/identity/v3/test_token.py @@ -50,14 +50,14 @@ class TestTokenIssue(TestToken): self.sc_mock.get_token.assert_called_with() collist = ('expires', 'id', 'project_id', 'user_id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.token_expires, identity_fakes.token_id, identity_fakes.project_id, identity_fakes.user_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_token_issue_with_domain_id(self): arglist = [] @@ -72,11 +72,11 @@ class TestTokenIssue(TestToken): self.sc_mock.get_token.assert_called_with() collist = ('domain_id', 'expires', 'id', 'user_id') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.domain_id, identity_fakes.token_expires, identity_fakes.token_id, identity_fakes.user_id, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/identity/v3/test_unscoped_saml.py b/openstackclient/tests/identity/v3/test_unscoped_saml.py index 6b2d3f5b..6a799094 100644 --- a/openstackclient/tests/identity/v3/test_unscoped_saml.py +++ b/openstackclient/tests/identity/v3/test_unscoped_saml.py @@ -58,14 +58,14 @@ class TestProjectList(TestUnscopedSAML): self.projects_mock.list.assert_called_with() collist = ('ID', 'Domain ID', 'Enabled', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.project_id, identity_fakes.domain_id, True, identity_fakes.project_name, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_accessible_projects_list_wrong_auth(self): auth = identity_fakes.FakeAuth("wrong auth") @@ -107,14 +107,14 @@ class TestDomainList(TestUnscopedSAML): self.domains_mock.list.assert_called_with() collist = ('ID', 'Enabled', 'Name', 'Description') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.domain_id, True, identity_fakes.domain_name, identity_fakes.domain_description, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) def test_accessible_domains_list_wrong_auth(self): auth = identity_fakes.FakeAuth("wrong auth") diff --git a/openstackclient/tests/identity/v3/test_user.py b/openstackclient/tests/identity/v3/test_user.py index 35dd98ee..8d0b6d31 100644 --- a/openstackclient/tests/identity/v3/test_user.py +++ b/openstackclient/tests/identity/v3/test_user.py @@ -109,7 +109,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -118,7 +118,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_password(self): arglist = [ @@ -155,7 +155,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -164,7 +164,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_password_prompt(self): arglist = [ @@ -204,7 +204,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -213,7 +213,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_email(self): arglist = [ @@ -249,7 +249,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -258,7 +258,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_project(self): # Return the new project @@ -309,7 +309,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.PROJECT_2['id'], identity_fakes.domain_id, @@ -318,7 +318,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_domain(self): arglist = [ @@ -354,7 +354,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -363,7 +363,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_enable(self): arglist = [ @@ -398,7 +398,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -407,7 +407,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) def test_user_create_disable(self): arglist = [ @@ -441,7 +441,7 @@ class TestUserCreate(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -450,7 +450,7 @@ class TestUserCreate(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) class TestUserDelete(TestUser): @@ -553,7 +553,7 @@ class TestUserList(TestUser): ) collist = ['ID', 'Name'] - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.user_id, identity_fakes.user_name, @@ -583,7 +583,7 @@ class TestUserList(TestUser): ) collist = ['ID', 'Name'] - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.user_id, identity_fakes.user_name, @@ -613,7 +613,7 @@ class TestUserList(TestUser): ) collist = ['ID', 'Name'] - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.user_id, identity_fakes.user_name, @@ -651,7 +651,7 @@ class TestUserList(TestUser): 'Email', 'Enabled', ] - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.user_id, identity_fakes.user_name, @@ -683,7 +683,7 @@ class TestUserList(TestUser): self.users_mock.get.assert_called_with(identity_fakes.user_id) collist = ['ID', 'Name'] - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( identity_fakes.user_id, identity_fakes.user_name, @@ -739,7 +739,7 @@ class TestUserSet(TestUser): parsed_args = self.check_parser(self.cmd, arglist, verifylist) result = self.cmd.run(parsed_args) - self.assertEqual(result, 0) + self.assertEqual(0, result) def test_user_set_name(self): arglist = [ @@ -1077,7 +1077,7 @@ class TestUserShow(TestUser): collist = ('default_project_id', 'domain_id', 'email', 'enabled', 'id', 'name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( identity_fakes.project_id, identity_fakes.domain_id, @@ -1086,4 +1086,4 @@ class TestUserShow(TestUser): identity_fakes.user_id, identity_fakes.user_name, ) - self.assertEqual(data, datalist) + self.assertEqual(datalist, data) diff --git a/openstackclient/tests/image/v1/test_image.py b/openstackclient/tests/image/v1/test_image.py index 95126c2d..355f8c82 100644 --- a/openstackclient/tests/image/v1/test_image.py +++ b/openstackclient/tests/image/v1/test_image.py @@ -331,7 +331,7 @@ class TestImageList(TestImage): collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -358,7 +358,7 @@ class TestImageList(TestImage): collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -385,7 +385,7 @@ class TestImageList(TestImage): collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -407,10 +407,20 @@ class TestImageList(TestImage): detailed=True, ) - collist = ('ID', 'Name', 'Disk Format', 'Container Format', - 'Size', 'Status') + collist = ( + 'ID', + 'Name', + 'Disk Format', + 'Container Format', + 'Size', + 'Status', + 'Visibility', + 'Protected', + 'Owner', + 'Properties', + ) - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -418,6 +428,45 @@ class TestImageList(TestImage): '', '', '', + 'public', + False, + image_fakes.image_owner, + "Alpha='a', Beta='b', Gamma='g'", + ), ) + self.assertEqual(datalist, tuple(data)) + + @mock.patch('openstackclient.api.utils.simple_filter') + def test_image_list_property_option(self, sf_mock): + sf_mock.return_value = [ + copy.deepcopy(image_fakes.IMAGE), + ] + + arglist = [ + '--property', 'a=1', + ] + verifylist = [ + ('property', {'a': '1'}), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + self.api_mock.image_list.assert_called_with( + detailed=True, + ) + sf_mock.assert_called_with( + [image_fakes.IMAGE], + attr='a', + value='1', + property_field='properties', + ) + + collist = ('ID', 'Name') + + self.assertEqual(columns, collist) + datalist = (( + image_fakes.image_id, + image_fakes.image_name, ), ) self.assertEqual(datalist, tuple(data)) diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py index 8fb31caa..db3c32df 100644 --- a/openstackclient/tests/image/v2/test_image.py +++ b/openstackclient/tests/image/v2/test_image.py @@ -83,19 +83,18 @@ class TestImageList(TestImage): verifylist = [ ('public', False), ('private', False), + ('shared', False), ('long', False), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) # DisplayCommandBase.take_action() returns two tuples columns, data = self.cmd.take_action(parsed_args) - self.api_mock.image_list.assert_called_with( - detailed=False, - ) + self.api_mock.image_list.assert_called_with() collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -109,6 +108,7 @@ class TestImageList(TestImage): verifylist = [ ('public', True), ('private', False), + ('shared', False), ('long', False), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) @@ -116,13 +116,12 @@ class TestImageList(TestImage): # DisplayCommandBase.take_action() returns two tuples columns, data = self.cmd.take_action(parsed_args) self.api_mock.image_list.assert_called_with( - detailed=False, public=True, ) collist = ('ID', 'Name') - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -136,6 +135,7 @@ class TestImageList(TestImage): verifylist = [ ('public', False), ('private', True), + ('shared', False), ('long', False), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) @@ -143,12 +143,38 @@ class TestImageList(TestImage): # DisplayCommandBase.take_action() returns two tuples columns, data = self.cmd.take_action(parsed_args) self.api_mock.image_list.assert_called_with( - detailed=False, private=True, ) collist = ('ID', 'Name') + self.assertEqual(collist, columns) + datalist = (( + image_fakes.image_id, + image_fakes.image_name, + ), ) + self.assertEqual(datalist, tuple(data)) + + def test_image_list_shared_option(self): + arglist = [ + '--shared', + ] + verifylist = [ + ('public', False), + ('private', False), + ('shared', True), + ('long', False), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + self.api_mock.image_list.assert_called_with( + shared=True, + ) + + collist = ('ID', 'Name') + self.assertEqual(columns, collist) datalist = (( image_fakes.image_id, @@ -167,14 +193,22 @@ class TestImageList(TestImage): # DisplayCommandBase.take_action() returns two tuples columns, data = self.cmd.take_action(parsed_args) - self.api_mock.image_list.assert_called_with( - detailed=True, + self.api_mock.image_list.assert_called_with() + + collist = ( + 'ID', + 'Name', + 'Disk Format', + 'Container Format', + 'Size', + 'Status', + 'Visibility', + 'Protected', + 'Owner', + 'Tags', ) - collist = ('ID', 'Name', 'Disk Format', 'Container Format', - 'Size', 'Status') - - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = (( image_fakes.image_id, image_fakes.image_name, @@ -182,5 +216,42 @@ class TestImageList(TestImage): '', '', '', + '', + False, + image_fakes.image_owner, + '', + ), ) + self.assertEqual(datalist, tuple(data)) + + @mock.patch('openstackclient.api.utils.simple_filter') + def test_image_list_property_option(self, sf_mock): + sf_mock.return_value = [ + copy.deepcopy(image_fakes.IMAGE), + ] + + arglist = [ + '--property', 'a=1', + ] + verifylist = [ + ('property', {'a': '1'}), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + columns, data = self.cmd.take_action(parsed_args) + self.api_mock.image_list.assert_called_with() + sf_mock.assert_called_with( + [image_fakes.IMAGE], + attr='a', + value='1', + property_field='properties', + ) + + collist = ('ID', 'Name') + + self.assertEqual(columns, collist) + datalist = (( + image_fakes.image_id, + image_fakes.image_name, ), ) self.assertEqual(datalist, tuple(data)) diff --git a/openstackclient/tests/object/v1/test_object_all.py b/openstackclient/tests/object/v1/test_object_all.py index f2001e91..7a76ab76 100644 --- a/openstackclient/tests/object/v1/test_object_all.py +++ b/openstackclient/tests/object/v1/test_object_all.py @@ -105,11 +105,11 @@ class TestObjectList(TestObjectAll): columns, data = self.cmd.take_action(parsed_args) collist = ('Name',) - self.assertEqual(columns, collist) + self.assertEqual(collist, columns) datalist = ( (object_fakes.object_name_2, ), ) - self.assertEqual(tuple(data), datalist) + self.assertEqual(datalist, tuple(data)) class TestObjectShow(TestObjectAll): diff --git a/openstackclient/tests/test_shell.py b/openstackclient/tests/test_shell.py index 8656d089..f1043072 100644 --- a/openstackclient/tests/test_shell.py +++ b/openstackclient/tests/test_shell.py @@ -82,34 +82,34 @@ class TestShell(utils.TestCase): fake_execute(_shell, _cmd) self.app.assert_called_with(["list", "project"]) - self.assertEqual(_shell.options.os_auth_url, - default_args["auth_url"]) - self.assertEqual(_shell.options.os_project_id, - default_args["project_id"]) - self.assertEqual(_shell.options.os_project_name, - default_args["project_name"]) - self.assertEqual(_shell.options.os_domain_id, - default_args["domain_id"]) - self.assertEqual(_shell.options.os_domain_name, - default_args["domain_name"]) - self.assertEqual(_shell.options.os_user_domain_id, - default_args["user_domain_id"]) - self.assertEqual(_shell.options.os_user_domain_name, - default_args["user_domain_name"]) - self.assertEqual(_shell.options.os_project_domain_id, - default_args["project_domain_id"]) - self.assertEqual(_shell.options.os_project_domain_name, - default_args["project_domain_name"]) - self.assertEqual(_shell.options.os_username, - default_args["username"]) - self.assertEqual(_shell.options.os_password, - default_args["password"]) - self.assertEqual(_shell.options.os_region_name, - default_args["region_name"]) - self.assertEqual(_shell.options.os_trust_id, - default_args["trust_id"]) - self.assertEqual(_shell.options.os_auth_type, - default_args['auth_type']) + self.assertEqual(default_args["auth_url"], + _shell.options.os_auth_url) + self.assertEqual(default_args["project_id"], + _shell.options.os_project_id) + self.assertEqual(default_args["project_name"], + _shell.options.os_project_name) + self.assertEqual(default_args["domain_id"], + _shell.options.os_domain_id) + self.assertEqual(default_args["domain_name"], + _shell.options.os_domain_name) + self.assertEqual(default_args["user_domain_id"], + _shell.options.os_user_domain_id) + self.assertEqual(default_args["user_domain_name"], + _shell.options.os_user_domain_name) + self.assertEqual(default_args["project_domain_id"], + _shell.options.os_project_domain_id) + self.assertEqual(default_args["project_domain_name"], + _shell.options.os_project_domain_name) + self.assertEqual(default_args["username"], + _shell.options.os_username) + self.assertEqual(default_args["password"], + _shell.options.os_password) + self.assertEqual(default_args["region_name"], + _shell.options.os_region_name) + self.assertEqual(default_args["trust_id"], + _shell.options.os_trust_id) + self.assertEqual(default_args['auth_type'], + _shell.options.os_auth_type) def _assert_token_auth(self, cmd_options, default_args): with mock.patch("openstackclient.shell.OpenStackShell.initialize_app", @@ -118,9 +118,9 @@ class TestShell(utils.TestCase): fake_execute(_shell, _cmd) self.app.assert_called_with(["list", "role"]) - self.assertEqual(_shell.options.os_token, default_args["os_token"]) - self.assertEqual(_shell.options.os_auth_url, - default_args["os_auth_url"]) + self.assertEqual(default_args["os_token"], _shell.options.os_token) + self.assertEqual(default_args["os_auth_url"], + _shell.options.os_auth_url) def _assert_cli(self, cmd_options, default_args): with mock.patch("openstackclient.shell.OpenStackShell.initialize_app", @@ -129,16 +129,16 @@ class TestShell(utils.TestCase): fake_execute(_shell, _cmd) self.app.assert_called_with(["list", "server"]) - self.assertEqual(_shell.options.os_compute_api_version, - default_args["compute_api_version"]) - self.assertEqual(_shell.options.os_identity_api_version, - default_args["identity_api_version"]) - self.assertEqual(_shell.options.os_image_api_version, - default_args["image_api_version"]) - self.assertEqual(_shell.options.os_volume_api_version, - default_args["volume_api_version"]) - self.assertEqual(_shell.options.os_network_api_version, - default_args["network_api_version"]) + self.assertEqual(default_args["compute_api_version"], + _shell.options.os_compute_api_version) + self.assertEqual(default_args["identity_api_version"], + _shell.options.os_identity_api_version) + self.assertEqual(default_args["image_api_version"], + _shell.options.os_image_api_version) + self.assertEqual(default_args["volume_api_version"], + _shell.options.os_volume_api_version) + self.assertEqual(default_args["network_api_version"], + _shell.options.os_network_api_version) class TestShellHelp(TestShell): @@ -161,8 +161,8 @@ class TestShellHelp(TestShell): _shell, _cmd = make_shell(), flag fake_execute(_shell, _cmd) - self.assertEqual(_shell.options.deferred_help, - kwargs["deferred_help"]) + self.assertEqual(kwargs["deferred_help"], + _shell.options.deferred_help) class TestShellPasswordAuth(TestShell): diff --git a/openstackclient/tests/utils.py b/openstackclient/tests/utils.py index 25f98525..d9abd572 100644 --- a/openstackclient/tests/utils.py +++ b/openstackclient/tests/utils.py @@ -80,7 +80,8 @@ class TestCommand(TestCase): super(TestCommand, self).setUp() # Build up a fake app self.fake_stdout = fakes.FakeStdout() - self.app = fakes.FakeApp(self.fake_stdout) + self.fake_log = fakes.FakeLog() + self.app = fakes.FakeApp(self.fake_stdout, self.fake_log) self.app.client_manager = fakes.FakeClientManager() def check_parser(self, cmd, args, verify_args): @@ -93,5 +94,5 @@ class TestCommand(TestCase): attr, value = av if attr: self.assertIn(attr, parsed_args) - self.assertEqual(getattr(parsed_args, attr), value) + self.assertEqual(value, getattr(parsed_args, attr)) return parsed_args diff --git a/openstackclient/tests/volume/v1/fakes.py b/openstackclient/tests/volume/v1/fakes.py index 34778190..339fb2d4 100644 --- a/openstackclient/tests/volume/v1/fakes.py +++ b/openstackclient/tests/volume/v1/fakes.py @@ -23,6 +23,7 @@ from openstackclient.tests import utils volume_id = 'vvvvvvvv-vvvv-vvvv-vvvvvvvv' volume_name = 'nigel' volume_description = 'Nigel Tufnel' +volume_status = 'available' volume_size = 120 volume_type = 'to-eleven' volume_zone = 'stonehenge' @@ -38,7 +39,7 @@ VOLUME = { 'display_name': volume_name, 'display_description': volume_description, 'size': volume_size, - 'status': '', + 'status': volume_status, 'attach_status': 'detached', 'availability_zone': volume_zone, 'volume_type': volume_type, diff --git a/openstackclient/tests/volume/v1/test_volume.py b/openstackclient/tests/volume/v1/test_volume.py index cc5aeff8..f73260e9 100644 --- a/openstackclient/tests/volume/v1/test_volume.py +++ b/openstackclient/tests/volume/v1/test_volume.py @@ -114,7 +114,7 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) @@ -178,7 +178,7 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) @@ -253,7 +253,7 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) @@ -328,7 +328,7 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) @@ -389,7 +389,7 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) @@ -455,7 +455,7 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) @@ -521,7 +521,189 @@ class TestVolumeCreate(TestVolume): volume_fakes.volume_id, volume_fakes.volume_metadata_str, volume_fakes.volume_size, - '', + volume_fakes.volume_status, volume_fakes.volume_type, ) self.assertEqual(datalist, data) + + +class TestVolumeSet(TestVolume): + + def setUp(self): + super(TestVolumeSet, self).setUp() + + self.volumes_mock.get.return_value = fakes.FakeResource( + None, + copy.deepcopy(volume_fakes.VOLUME), + loaded=True, + ) + + self.volumes_mock.update.return_value = fakes.FakeResource( + None, + copy.deepcopy(volume_fakes.VOLUME), + loaded=True, + ) + # Get the command object to test + self.cmd = volume.SetVolume(self.app, None) + + def test_volume_set_no_options(self): + arglist = [ + volume_fakes.volume_name, + ] + verifylist = [ + ('name', None), + ('description', None), + ('size', None), + ('property', None), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.run(parsed_args) + self.assertEqual(0, result) + self.assertEqual("No changes requested\n", + self.app.log.messages.get('error')) + + def test_volume_set_name(self): + arglist = [ + '--name', 'qwerty', + volume_fakes.volume_name, + ] + verifylist = [ + ('name', 'qwerty'), + ('description', None), + ('size', None), + ('property', None), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'display_name': 'qwerty', + } + self.volumes_mock.update.assert_called_with( + volume_fakes.volume_id, + **kwargs + ) + + def test_volume_set_description(self): + arglist = [ + '--description', 'new desc', + volume_fakes.volume_name, + ] + verifylist = [ + ('name', None), + ('description', 'new desc'), + ('size', None), + ('property', None), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + self.cmd.take_action(parsed_args) + + # Set expected values + kwargs = { + 'display_description': 'new desc', + } + self.volumes_mock.update.assert_called_with( + volume_fakes.volume_id, + **kwargs + ) + + def test_volume_set_size(self): + arglist = [ + '--size', '130', + volume_fakes.volume_name, + ] + verifylist = [ + ('name', None), + ('description', None), + ('size', 130), + ('property', None), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + self.cmd.take_action(parsed_args) + + # Set expected values + size = 130 + + self.volumes_mock.extend.assert_called_with( + volume_fakes.volume_id, + size + ) + + def test_volume_set_size_smaller(self): + arglist = [ + '--size', '100', + volume_fakes.volume_name, + ] + verifylist = [ + ('name', None), + ('description', None), + ('size', 100), + ('property', None), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.run(parsed_args) + self.assertEqual(0, result) + self.assertEqual("New size must be greater than %s GB" % + volume_fakes.volume_size, + self.app.log.messages.get('error')) + + def test_volume_set_size_not_available(self): + self.volumes_mock.get.return_value.status = 'error' + arglist = [ + '--size', '130', + volume_fakes.volume_name, + ] + verifylist = [ + ('name', None), + ('description', None), + ('size', 130), + ('property', None), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + result = self.cmd.run(parsed_args) + self.assertEqual(0, result) + self.assertEqual("Volume is in %s state, it must be available before " + "size can be extended" % 'error', + self.app.log.messages.get('error')) + + def test_volume_set_property(self): + arglist = [ + '--property', 'myprop=myvalue', + volume_fakes.volume_name, + ] + verifylist = [ + ('name', None), + ('description', None), + ('size', None), + ('property', {'myprop': 'myvalue'}), + ('volume', volume_fakes.volume_name), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # DisplayCommandBase.take_action() returns two tuples + self.cmd.take_action(parsed_args) + + # Set expected values + metadata = { + 'myprop': 'myvalue' + } + self.volumes_mock.set_metadata.assert_called_with( + volume_fakes.volume_id, + metadata + ) |
