Merge "Make assembly name mandatory during assembly creation"

This commit is contained in:
Jenkins
2014-07-01 18:55:09 +00:00
committed by Gerrit Code Review
2 changed files with 15 additions and 17 deletions

View File

@@ -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',

View File

@@ -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')