diff --git a/keystoneclient/tests/v2_0/test_shell.py b/keystoneclient/tests/v2_0/test_shell.py index 57bbe9d01..7cfed8012 100644 --- a/keystoneclient/tests/v2_0/test_shell.py +++ b/keystoneclient/tests/v2_0/test_shell.py @@ -268,14 +268,25 @@ class ShellTests(utils.TestCase): self.run_command('tenant-delete 2') self.assert_called('DELETE', '/tenants/2') - def test_service_create(self): + def test_service_create_with_required_arguments_only(self): self.stub_url('POST', ['OS-KSADM', 'services'], json={'OS-KSADM:service': {}}) - self.run_command('service-create --name service1 --type compute') + self.run_command('service-create --type compute') + self.assert_called('POST', '/OS-KSADM/services') + json = {"OS-KSADM:service": {"type": "compute", + "name": None, + "description": None}} + self.assertRequestBodyIs(json=json) + + def test_service_create_with_all_arguments(self): + self.stub_url('POST', ['OS-KSADM', 'services'], + json={'OS-KSADM:service': {}}) + self.run_command('service-create --type compute ' + '--name service1 --description desc1') self.assert_called('POST', '/OS-KSADM/services') json = {"OS-KSADM:service": {"type": "compute", "name": "service1", - "description": None}} + "description": "desc1"}} self.assertRequestBodyIs(json=json) def test_service_get(self): diff --git a/keystoneclient/v2_0/shell.py b/keystoneclient/v2_0/shell.py index a2cb1abd2..9920555a0 100755 --- a/keystoneclient/v2_0/shell.py +++ b/keystoneclient/v2_0/shell.py @@ -248,11 +248,11 @@ def do_tenant_delete(kc, args): kc.tenants.delete(tenant) -@utils.arg('--name', metavar='', required=True, - help='Name of new service (must be unique).') @utils.arg('--type', metavar='', required=True, help='Service type (one of: identity, compute, network, ' 'image, object-store, or other service identifier string).') +@utils.arg('--name', metavar='', + help='Name of new service (must be unique).') @utils.arg('--description', metavar='', help='Description of service.') def do_service_create(kc, args):