Merge "Make assembly name mandatory during assembly creation"
This commit is contained in:
@@ -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
|
||||
@@ -102,14 +102,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
|
||||
@@ -118,7 +119,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',
|
||||
|
@@ -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')
|
||||
|
||||
|
Reference in New Issue
Block a user