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 delete plan_name
|
||||||
* app list
|
* app list
|
||||||
* app show plan_id
|
* app show plan_id
|
||||||
* assembly create [--assembly="assembly_name"] plan_name
|
* assembly create assembly_name plan_name
|
||||||
* assembly delete assembly_name
|
* assembly delete assembly_name
|
||||||
* assembly list
|
* assembly list
|
||||||
* assembly show assembly_id
|
* assembly show assembly_id
|
||||||
@@ -102,14 +102,15 @@ class AssemblyCommands(cli_utils.CommandsBase):
|
|||||||
|
|
||||||
def create(self):
|
def create(self):
|
||||||
"""Create an assembly."""
|
"""Create an assembly."""
|
||||||
|
self.parser.add_argument('name',
|
||||||
|
help="Assembly name")
|
||||||
self.parser.add_argument('plan_uri',
|
self.parser.add_argument('plan_uri',
|
||||||
help="Tenant/project-wide unique "
|
help="Tenant/project-wide unique "
|
||||||
"plan (uri/uuid or name)")
|
"plan (uri/uuid or name)")
|
||||||
self.parser.add_argument('--assembly',
|
|
||||||
help="Assembly name")
|
|
||||||
self.parser.add_argument('--description',
|
self.parser.add_argument('--description',
|
||||||
help="Assembly description")
|
help="Assembly description")
|
||||||
args = self.parser.parse_args()
|
args = self.parser.parse_args()
|
||||||
|
name = args.name
|
||||||
plan_uri = args.plan_uri
|
plan_uri = args.plan_uri
|
||||||
if '/' not in plan_uri:
|
if '/' not in plan_uri:
|
||||||
# might be a plan uuid/name
|
# might be a plan uuid/name
|
||||||
@@ -118,7 +119,7 @@ class AssemblyCommands(cli_utils.CommandsBase):
|
|||||||
plan_uri = plan.uri
|
plan_uri = plan.uri
|
||||||
print('Note: using plan_uri=%s' % 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,
|
description=args.description,
|
||||||
plan_uri=plan_uri)
|
plan_uri=plan_uri)
|
||||||
fields = ['uuid', 'name', 'description', 'status', 'application_uri',
|
fields = ['uuid', 'name', 'description', 'status', 'application_uri',
|
||||||
|
@@ -129,20 +129,17 @@ class TestSolum(base.TestCase):
|
|||||||
@mock.patch.object(assembly.AssemblyManager, "create")
|
@mock.patch.object(assembly.AssemblyManager, "create")
|
||||||
def test_assembly_create(self, mock_assembly_create):
|
def test_assembly_create(self, mock_assembly_create):
|
||||||
self.make_env()
|
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(
|
mock_assembly_create.assert_called_once_with(
|
||||||
name='test',
|
name='assembly_name',
|
||||||
description=None,
|
description=None,
|
||||||
plan_uri='http://example.com/a.yaml')
|
plan_uri='http://example.com/a.yaml')
|
||||||
|
|
||||||
@mock.patch.object(assembly.AssemblyManager, "create")
|
@mock.patch.object(assembly.AssemblyManager, "create")
|
||||||
def test_assembly_create_without_name(self, mock_assembly_create):
|
def test_assembly_create_without_name(self, mock_assembly_create):
|
||||||
self.make_env()
|
self.make_env()
|
||||||
self.shell("assembly create http://example.com/a.yaml")
|
self.shell("assembly create http://example.com/a.yaml",
|
||||||
mock_assembly_create.assert_called_once_with(
|
exit_code=2)
|
||||||
name=None,
|
|
||||||
description=None,
|
|
||||||
plan_uri='http://example.com/a.yaml')
|
|
||||||
|
|
||||||
@mock.patch.object(plan.PlanManager, "find")
|
@mock.patch.object(plan.PlanManager, "find")
|
||||||
@mock.patch.object(assembly.AssemblyManager, "create")
|
@mock.patch.object(assembly.AssemblyManager, "create")
|
||||||
@@ -153,29 +150,29 @@ class TestSolum(base.TestCase):
|
|||||||
|
|
||||||
self.make_env()
|
self.make_env()
|
||||||
mock_app_find.return_value = FakePlan()
|
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_app_find.assert_called_once_with(name_or_id='the-plan-name')
|
||||||
mock_assembly_create.assert_called_once_with(
|
mock_assembly_create.assert_called_once_with(
|
||||||
name='test',
|
name='assembly_name',
|
||||||
description=None,
|
description=None,
|
||||||
plan_uri='http://example.com/the-plan.yaml')
|
plan_uri='http://example.com/the-plan.yaml')
|
||||||
|
|
||||||
@mock.patch.object(assembly.AssemblyManager, "create")
|
@mock.patch.object(assembly.AssemblyManager, "create")
|
||||||
def test_assembly_create_with_description(self, mock_assembly_create):
|
def test_assembly_create_with_description(self, mock_assembly_create):
|
||||||
self.make_env()
|
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""")
|
--description=description""")
|
||||||
mock_assembly_create.assert_called_once_with(
|
mock_assembly_create.assert_called_once_with(
|
||||||
name='test',
|
name='assembly_name',
|
||||||
description='description',
|
description='description',
|
||||||
plan_uri='http://example.com/a.yaml')
|
plan_uri='http://example.com/a.yaml')
|
||||||
|
|
||||||
@mock.patch.object(assembly.AssemblyManager, "create")
|
@mock.patch.object(assembly.AssemblyManager, "create")
|
||||||
def test_assembly_create_without_description(self, mock_assembly_create):
|
def test_assembly_create_without_description(self, mock_assembly_create):
|
||||||
self.make_env()
|
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(
|
mock_assembly_create.assert_called_once_with(
|
||||||
name='test',
|
name='assembly_name',
|
||||||
description=None,
|
description=None,
|
||||||
plan_uri='http://example.com/a.yaml')
|
plan_uri='http://example.com/a.yaml')
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user