diff --git a/.testr.conf b/.testr.conf index 3602ba25..6d83b3c4 100644 --- a/.testr.conf +++ b/.testr.conf @@ -2,6 +2,6 @@ test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ - ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./zunclient/tests/unit} $LISTOPT $IDOPTION + ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT $IDOPTION test_id_option=--load-list $IDFILE test_list_option=--list diff --git a/requirements.txt b/requirements.txt index 95d0fe88..2d0d0e51 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,6 @@ # process, which may cause wedges in the gate later. pbr>=1.6 # Apache-2.0 +oslo.i18n>=2.1.0 # Apache-2.0 +oslo.utils>=3.16.0 # Apache-2.0 +PrettyTable>=0.7.1,<0.8 # BSD diff --git a/zunclient/tests/test_shell.py b/zunclient/tests/test_shell.py index be6aacdd..cfedbebd 100644 --- a/zunclient/tests/test_shell.py +++ b/zunclient/tests/test_shell.py @@ -88,7 +88,7 @@ class ShellTest(utils.TestCase): def test_help(self): required = [ '.*?^usage: ', - '.*?^\s+container-stop\s+Stop specified container.', + '.*?^\s+stop\s+Stop specified container.', '.*?^See "zun help COMMAND" for help on a specific command', ] stdout, stderr = self.shell('help') @@ -98,11 +98,11 @@ class ShellTest(utils.TestCase): def test_help_on_subcommand(self): required = [ - '.*?^usage: zun container-create', + '.*?^usage: zun create', '.*?^Create a container.', '.*?^Optional arguments:', ] - stdout, stderr = self.shell('help container-create') + stdout, stderr = self.shell('help create') for r in required: self.assertThat((stdout + stderr), matchers.MatchesRegex(r, re.DOTALL | re.MULTILINE)) @@ -110,7 +110,7 @@ class ShellTest(utils.TestCase): def test_help_no_options(self): required = [ '.*?^usage: ', - '.*?^\s+container-stop\s+Stop specified container.', + '.*?^\s+stop\s+Stop specified container.', '.*?^See "zun help COMMAND" for help on a specific command', ] stdout, stderr = self.shell('') @@ -124,8 +124,8 @@ class ShellTest(utils.TestCase): required = [ '.*--json', '.*help', - '.*container-show', - '.*--container'] + '.*show', + '.*--name'] for r in required: self.assertThat((stdout + stderr), matchers.MatchesRegex(r, re.DOTALL | re.MULTILINE)) @@ -195,7 +195,14 @@ class ShellTest(utils.TestCase): _, client_kwargs = mock_client.call_args_list[0] self.assertEqual('container', client_kwargs['service_type']) - @mock.patch('zunclient.v1.services_shell.do_services_list') + @mock.patch('zunclient.v1.client.Client') + def test_container_format_env(self, mock_client): + self.make_env() + self.shell('create --environment key=value --image test') + _, create_args = mock_client.return_value.containers.create.call_args + self.assertEqual({'key': 'value'}, create_args['environment']) + + @mock.patch('zunclient.v1.services_shell.do_service_list') @mock.patch('zunclient.v1.client.ksa_session') def test_insecure(self, mock_session, mock_services_list): self.make_env() diff --git a/zunclient/tests/v1/test_services.py b/zunclient/tests/v1/test_services.py index 49b62e0a..b4800cbd 100644 --- a/zunclient/tests/v1/test_services.py +++ b/zunclient/tests/v1/test_services.py @@ -86,7 +86,7 @@ class ServiceManagerTest(testtools.TestCase): def setUp(self): super(ServiceManagerTest, self).setUp() self.api = utils.FakeAPI(fake_responses) - self.mgr = services.MServiceManager(self.api) + self.mgr = services.ServiceManager(self.api) def test_service_list(self): services = self.mgr.list() diff --git a/zunclient/v1/containers_shell.py b/zunclient/v1/containers_shell.py index 9cfedd74..e015e974 100644 --- a/zunclient/v1/containers_shell.py +++ b/zunclient/v1/containers_shell.py @@ -37,7 +37,8 @@ def _show_container(container): help='The container memory size (format: , ' 'where unit = b, k, m or g)') @utils.arg('-e', '--environment', - metavar='', + metavar='', + action='append', default=[], help='The environment variabled') def do_create(cs, args): """Create a container.""" @@ -46,7 +47,7 @@ def do_create(cs, args): opts['image'] = args.image opts['command'] = args.command opts['memory'] = args.memory - opts['environment'] = args.environment + opts['environment'] = zun_utils.format_labels(args.environment) _show_container(cs.containers.create(**opts))