diff options
| author | lsmman <lsmman07@gmail.com> | 2021-10-11 22:52:52 +0900 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2022-09-21 10:34:15 +0100 |
| commit | d163a2090471c8f90c8ad84827fb97dfbf06280b (patch) | |
| tree | b066eca0e976bdc407da7339844a2bad83acde76 /openstackclient/tests/unit/image/v2/test_task.py | |
| parent | 4024bdb3933dd79eec4bcf99c13f3dbf17add40b (diff) | |
| download | python-openstackclient-d163a2090471c8f90c8ad84827fb97dfbf06280b.tar.gz | |
image: Add 'image task show' commands
This replaces and the 'glance task-show' command. For example:
$ image task show <TASK_ID>
Change-Id: I74cb23e436c373fe238804b903bbeb28f643d5af
Diffstat (limited to 'openstackclient/tests/unit/image/v2/test_task.py')
| -rw-r--r-- | openstackclient/tests/unit/image/v2/test_task.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/image/v2/test_task.py b/openstackclient/tests/unit/image/v2/test_task.py new file mode 100644 index 00000000..90fa11d8 --- /dev/null +++ b/openstackclient/tests/unit/image/v2/test_task.py @@ -0,0 +1,80 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from osc_lib.cli import format_columns + +from openstackclient.image.v2 import task +from openstackclient.tests.unit.image.v2 import fakes as image_fakes + + +class TestTask(image_fakes.TestImagev2): + def setUp(self): + super().setUp() + + # Get shortcuts to mocked image client + self.client = self.app.client_manager.image + + +class TestTaskShow(TestTask): + + task = image_fakes.create_one_task() + + columns = ( + 'created_at', + 'expires_at', + 'id', + 'input', + 'message', + 'owner_id', + 'properties', + 'result', + 'status', + 'type', + 'updated_at', + ) + data = ( + task.created_at, + task.expires_at, + task.id, + task.input, + task.message, + task.owner_id, + format_columns.DictColumn({}), + task.result, + task.status, + task.type, + task.updated_at, + ) + + def setUp(self): + super().setUp() + + self.client.get_task.return_value = self.task + + # Get the command object to test + self.cmd = task.ShowTask(self.app, None) + + def test_task_show(self): + arglist = [self.task.id] + verifylist = [ + ('task', self.task.id), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + + # In base command class ShowOne in cliff, abstract method take_action() + # returns a two-part tuple with a tuple of column names and a tuple of + # data to be shown. + columns, data = self.cmd.take_action(parsed_args) + self.client.get_task.assert_called_with(self.task.id) + + self.assertEqual(self.columns, columns) + self.assertCountEqual(self.data, data) |
