diff --git a/solumclient/solum.py b/solumclient/solum.py index 25a2d9a..e63fdb6 100644 --- a/solumclient/solum.py +++ b/solumclient/solum.py @@ -19,7 +19,7 @@ Initial M1 Solum CLI commands implemented (but not REST communications): * app delete plan_name * app list * app show plan_id -* assembly create [--assembly="assembly_name"] plan_name +* assembly create assembly_name plan_name * assembly delete assembly_name * assembly list * assembly show assembly_id @@ -111,14 +111,15 @@ class AssemblyCommands(cli_utils.CommandsBase): def create(self): """Create an assembly.""" + self.parser.add_argument('name', + help="Assembly name") self.parser.add_argument('plan_uri', help="Tenant/project-wide unique " "plan (uri/uuid or name)") - self.parser.add_argument('--assembly', - help="Assembly name") self.parser.add_argument('--description', help="Assembly description") args = self.parser.parse_args() + name = args.name plan_uri = args.plan_uri if '/' not in plan_uri: # might be a plan uuid/name @@ -127,7 +128,7 @@ class AssemblyCommands(cli_utils.CommandsBase): plan_uri = plan.uri print('Note: using plan_uri=%s' % plan_uri) - assembly = self.client.assemblies.create(name=args.assembly, + assembly = self.client.assemblies.create(name=name, description=args.description, plan_uri=plan_uri) fields = ['uuid', 'name', 'description', 'status', 'application_uri', diff --git a/solumclient/tests/test_solum.py b/solumclient/tests/test_solum.py index 52e72f5..e604f37 100644 --- a/solumclient/tests/test_solum.py +++ b/solumclient/tests/test_solum.py @@ -129,20 +129,17 @@ class TestSolum(base.TestCase): @mock.patch.object(assembly.AssemblyManager, "create") def test_assembly_create(self, mock_assembly_create): self.make_env() - self.shell("assembly create http://example.com/a.yaml --assembly=test") + self.shell("assembly create assembly_name http://example.com/a.yaml") mock_assembly_create.assert_called_once_with( - name='test', + name='assembly_name', description=None, plan_uri='http://example.com/a.yaml') @mock.patch.object(assembly.AssemblyManager, "create") def test_assembly_create_without_name(self, mock_assembly_create): self.make_env() - self.shell("assembly create http://example.com/a.yaml") - mock_assembly_create.assert_called_once_with( - name=None, - description=None, - plan_uri='http://example.com/a.yaml') + self.shell("assembly create http://example.com/a.yaml", + exit_code=2) @mock.patch.object(plan.PlanManager, "find") @mock.patch.object(assembly.AssemblyManager, "create") @@ -153,29 +150,29 @@ class TestSolum(base.TestCase): self.make_env() mock_app_find.return_value = FakePlan() - self.shell("assembly create the-plan-name --assembly=test") + self.shell("assembly create assembly_name the-plan-name") mock_app_find.assert_called_once_with(name_or_id='the-plan-name') mock_assembly_create.assert_called_once_with( - name='test', + name='assembly_name', description=None, plan_uri='http://example.com/the-plan.yaml') @mock.patch.object(assembly.AssemblyManager, "create") def test_assembly_create_with_description(self, mock_assembly_create): self.make_env() - self.shell("""assembly create http://example.com/a.yaml --assembly=test + self.shell("""assembly create assembly_name http://example.com/a.yaml --description=description""") mock_assembly_create.assert_called_once_with( - name='test', + name='assembly_name', description='description', plan_uri='http://example.com/a.yaml') @mock.patch.object(assembly.AssemblyManager, "create") def test_assembly_create_without_description(self, mock_assembly_create): self.make_env() - self.shell("assembly create http://example.com/a.yaml --assembly=test") + self.shell("assembly create assembly_name http://example.com/a.yaml") mock_assembly_create.assert_called_once_with( - name='test', + name='assembly_name', description=None, plan_uri='http://example.com/a.yaml')