Skip to content

Commit

Permalink
Mark required arguments in client create
Browse files Browse the repository at this point in the history
The usage should not wrap required arguments in brackets. The fixed
create commands are for release, rpm, global and release components.

The test for creating RPMs was updated to list all required arguments.

JIRA: PDC-1084, PDC-1079
  • Loading branch information
lubomir committed Oct 13, 2015
1 parent 27f89b9 commit 6ae8694
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 23 deletions.
16 changes: 8 additions & 8 deletions pdc_client/plugins/component.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ def register(self):

subcmd = self.add_admin_command('global-component-create',
help='create new global component')
self.add_global_component_arguments(subcmd)
self.add_global_component_arguments(subcmd, required=True)
subcmd.set_defaults(func=self.global_component_create)

def add_global_component_arguments(self, parser):
def add_global_component_arguments(self, parser, required=False):
add_parser_arguments(parser, {
'name': {},
'name': {'required': required},
'dist_git_path': {}}
)
add_parser_arguments(parser, {
Expand Down Expand Up @@ -135,21 +135,21 @@ def register(self):

subcmd = self.add_admin_command('release-component-create',
help='create new release')
self.add_release_component_arguments(subcmd)
subcmd.add_argument('--release', dest='release')
subcmd.add_argument('--global-component', dest='global_component')
self.add_release_component_arguments(subcmd, required=True)
subcmd.add_argument('--release', dest='release', required=True)
subcmd.add_argument('--global-component', dest='global_component', required=True)
subcmd.set_defaults(func=self.release_component_create)

def add_include_inactive_release_argument(self, parser):
parser.add_argument('--include-inactive-release', action='store_true',
help='show component(s) in both active and inactive releases')

def add_release_component_arguments(self, parser):
def add_release_component_arguments(self, parser, required=False):
group = parser.add_mutually_exclusive_group()
group.add_argument('--activate', action='store_const', const=True, dest='active')
group.add_argument('--deactivate', action='store_const', const=False, dest='active')
add_parser_arguments(parser, {
'name': {},
'name': {'required': required},
'dist_git_branch': {},
'bugzilla_component': {},
'brew_package': {},
Expand Down
12 changes: 6 additions & 6 deletions pdc_client/plugins/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,19 @@ def register(self):

subcmd = self.add_admin_command('release-create',
help='create new release')
self.add_release_arguments(subcmd)
self.add_release_arguments(subcmd, required=True)
subcmd.set_defaults(func=self.release_create)

def add_release_arguments(self, parser):
def add_release_arguments(self, parser, required=False):
group = parser.add_mutually_exclusive_group()
group.add_argument('--activate', action='store_const', const=True, dest='active')
group.add_argument('--deactivate', action='store_const', const=False, dest='active')
add_parser_arguments(parser, {
'version': {},
'short': {},
'release_type': {},
'version': {'required': required},
'short': {'required': required},
'release_type': {'required': required},
'product_version': {},
'name': {},
'name': {'required': required},
'base_product': {},
'bugzilla__product': {'arg': 'bugzilla-product'},
'dist_git__branch': {'arg': 'dist-git-branch'}})
Expand Down
16 changes: 8 additions & 8 deletions pdc_client/plugins/rpm.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def register(self):

subcmd = self.add_admin_command('rpm-create',
help='create new RPM')
self.add_rpm_arguments(subcmd)
self.add_rpm_arguments(subcmd, required=True)
subcmd.set_defaults(func=self.rpm_create)

subcmd = self.add_admin_command('rpm-update',
Expand All @@ -35,16 +35,16 @@ def register(self):
self.add_rpm_arguments(subcmd)
subcmd.set_defaults(func=self.rpm_update)

def add_rpm_arguments(self, parser):
def add_rpm_arguments(self, parser, required=False):
add_parser_arguments(parser, {
'arch': {},
'epoch': {'type': int},
'arch': {'required': required},
'epoch': {'type': int, 'required': required},
'filename': {},
'name': {},
'release': {},
'srpm_name': {},
'name': {'required': required},
'release': {'required': required},
'srpm_name': {'required': required},
'srpm_nevra': {},
'version': {},
'version': {'required': required},
'linked_releases': {'nargs': '*', 'metavar': 'RELEASE_ID'}})
add_parser_arguments(parser, {
'dependencies__requires': {'nargs': '*', 'metavar': 'DEPENDENCY', 'arg': 'requires'},
Expand Down
3 changes: 2 additions & 1 deletion pdc_client/tests/rpm/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,10 @@ def test_create(self, api):
'--srpm-name', 'bash',
'--epoch', '0',
'--version', '4.3.42',
'--arch', 'x86_64',
'--release', '1'])
self.assertEqual(api.calls['rpms'],
[('POST', {'name': 'bash', 'srpm_name': 'bash',
[('POST', {'name': 'bash', 'srpm_name': 'bash', 'arch': 'x86_64',
'epoch': 0, 'version': '4.3.42', 'release': '1'})])
self.assertEqual(api.calls['rpms/1'],
[('GET', {})])
Expand Down

0 comments on commit 6ae8694

Please sign in to comment.