Adds --shared attribute to commands missing it

This is the final commit of 2 towards closing GBP client bug #1403417.
It shows the --shared option for commands that previously
didn't show it, but should. The following resources
have been fixed (for both create and update operations):
* l2policy
* l3policy
* network-service-policy
* policy-action
* policy-classifier
* policy-rule
* policy-rule-set
* policy-target-group
Furthermore, the CLI tests have been updated to test --shared.
As an extra, all (*_all_params) test methods updated with the
new option have also been re-checked for potentially lacking
options and, in that case, updated with the missing options.

Change-Id: Ie4d88c56a2d3e7abd8b063faeac5933a96e37dde
Closes-Bug: #1403417
This commit is contained in:
Igor Duarte Cardoso
2015-03-18 01:23:53 +00:00
parent acc8155076
commit 80d73baae2
8 changed files with 250 additions and 38 deletions

View File

@@ -182,6 +182,9 @@ class CreatePolicyTargetGroup(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'--subnets', type=string.split, '--subnets', type=string.split,
help=_('List of neutron subnet uuids')) help=_('List of neutron subnet uuids'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -217,7 +220,7 @@ class CreatePolicyTargetGroup(neutronV20.CreateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'provided_policy_rule_sets', 'subnets', 'provided_policy_rule_sets', 'subnets',
'consumed_policy_rule_sets']) 'consumed_policy_rule_sets', 'shared'])
return body return body
@@ -254,6 +257,9 @@ class UpdatePolicyTargetGroup(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--subnets', type=string.split, '--subnets', type=string.split,
help=_('List of neutron subnet uuids')) help=_('List of neutron subnet uuids'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -289,7 +295,7 @@ class UpdatePolicyTargetGroup(neutronV20.UpdateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'provided_policy_rule_sets', 'subnets', 'provided_policy_rule_sets', 'subnets',
'consumed_policy_rule_sets']) 'consumed_policy_rule_sets', 'shared'])
return body return body
@@ -332,12 +338,15 @@ class CreateL2Policy(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'name', metavar='NAME', 'name', metavar='NAME',
help=_('Name of L2 Policy to create')) help=_('Name of L2 Policy to create'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description']) ['name', 'tenant_id', 'description', 'shared'])
if parsed_args.l3_policy: if parsed_args.l3_policy:
body[self.resource]['l3_policy_id'] = \ body[self.resource]['l3_policy_id'] = \
neutronV20.find_resourceid_by_name_or_id( neutronV20.find_resourceid_by_name_or_id(
@@ -374,12 +383,15 @@ class UpdateL2Policy(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--name', metavar='NAME', '--name', metavar='NAME',
help=_('New name of the L2 Policy')) help=_('New name of the L2 Policy'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description']) ['name', 'tenant_id', 'description', 'shared'])
if parsed_args.l3_policy: if parsed_args.l3_policy:
body[self.resource]['l3_policy_id'] = \ body[self.resource]['l3_policy_id'] = \
neutronV20.find_resourceid_by_name_or_id( neutronV20.find_resourceid_by_name_or_id(
@@ -439,6 +451,9 @@ class CreateL3Policy(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'name', metavar='NAME', 'name', metavar='NAME',
help=_('Name of L3 policy to create')) help=_('Name of L3 policy to create'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -457,7 +472,7 @@ class CreateL3Policy(neutronV20.CreateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'ip_version', 'ip_pool', 'ip_version', 'ip_pool',
'subnet_prefix_length']) 'subnet_prefix_length', 'shared'])
return body return body
@@ -498,6 +513,9 @@ class UpdateL3Policy(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--name', metavar='NAME', '--name', metavar='NAME',
help=_('New name of the L3 Policy')) help=_('New name of the L3 Policy'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -518,7 +536,7 @@ class UpdateL3Policy(neutronV20.UpdateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'ip_version', 'ip_pool', 'ip_version', 'ip_pool',
'subnet_prefix_length']) 'subnet_prefix_length', 'shared'])
return body return body
@@ -561,13 +579,16 @@ class CreateNetworkServicePolicy(neutronV20.CreateCommand):
type=utils.str2dict, type=utils.str2dict,
help=_('Network service params for this network service policy' help=_('Network service params for this network service policy'
'(This option can be repeated).')) '(This option can be repeated).'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'network_service_params']) 'network_service_params', 'shared'])
return body return body
@@ -598,13 +619,16 @@ class UpdateNetworkServicePolicy(neutronV20.UpdateCommand):
type=utils.str2dict, type=utils.str2dict,
help=_('Network service params for this network service policy' help=_('Network service params for this network service policy'
'(This option can be repeated).')) '(This option can be repeated).'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'network_service_params']) 'network_service_params', 'shared'])
return body return body
@@ -650,13 +674,17 @@ class CreatePolicyClassifier(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'name', metavar='NAME', 'name', metavar='NAME',
help=_('Name of classifier to create')) help=_('Name of classifier to create'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'protocol', 'port_range', 'direction']) 'protocol', 'port_range',
'direction', 'shared'])
return body return body
@@ -692,13 +720,17 @@ class UpdatePolicyClassifier(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--name', '--name',
help=_('New name of the classifier')) help=_('New name of the classifier'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'protocol', 'port_range', 'direction']) 'protocol', 'port_range',
'direction', 'shared'])
return body return body
@@ -740,6 +772,9 @@ class CreatePolicyAction(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'name', metavar='NAME', 'name', metavar='NAME',
help=_('Name of action to create')) help=_('Name of action to create'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -752,7 +787,7 @@ class CreatePolicyAction(neutronV20.CreateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'action_type']) 'action_type', 'shared'])
return body return body
@@ -780,6 +815,9 @@ class UpdatePolicyAction(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--name', '--name',
help=_('New name of the action')) help=_('New name of the action'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -791,7 +829,8 @@ class UpdatePolicyAction(neutronV20.UpdateCommand):
parsed_args.action_value)) parsed_args.action_value))
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description']) ['name', 'tenant_id', 'description',
'shared'])
return body return body
@@ -837,6 +876,9 @@ class CreatePolicyRule(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'name', metavar='NAME', 'name', metavar='NAME',
help=_('Name of policy_rule to create')) help=_('Name of policy_rule to create'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -857,7 +899,7 @@ class CreatePolicyRule(neutronV20.CreateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description', ['name', 'tenant_id', 'description',
'enabled']) 'enabled', 'shared'])
return body return body
@@ -885,6 +927,9 @@ class UpdatePolicyRule(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--actions', type=string.split, '--actions', type=string.split,
help=_('List of policy actions')) help=_('List of policy actions'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -905,7 +950,7 @@ class UpdatePolicyRule(neutronV20.UpdateCommand):
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'description', ['name', 'description',
'enabled']) 'enabled', 'shared'])
return body return body
@@ -946,6 +991,9 @@ class CreatePolicyRuleSet(neutronV20.CreateCommand):
parser.add_argument( parser.add_argument(
'name', metavar='NAME', 'name', metavar='NAME',
help=_('Name of policy rule set to create')) help=_('Name of policy rule set to create'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -965,7 +1013,7 @@ class CreatePolicyRuleSet(neutronV20.CreateCommand):
elem) for elem in parsed_args.child_policy_rule_sets] elem) for elem in parsed_args.child_policy_rule_sets]
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'tenant_id', 'description']) ['name', 'tenant_id', 'description', 'shared'])
return body return body
@@ -989,6 +1037,9 @@ class UpdatePolicyRuleSet(neutronV20.UpdateCommand):
parser.add_argument( parser.add_argument(
'--child-policy-rule-sets', type=string.split, '--child-policy-rule-sets', type=string.split,
help=_('List of child policy rule sets')) help=_('List of child policy rule sets'))
parser.add_argument(
'--shared', type=bool,
help=_('Shared flag'))
def args2body(self, parsed_args): def args2body(self, parsed_args):
body = {self.resource: {}, } body = {self.resource: {}, }
@@ -1010,7 +1061,7 @@ class UpdatePolicyRuleSet(neutronV20.UpdateCommand):
parsed_args.child_policy_rule_sets) parsed_args.child_policy_rule_sets)
neutronV20.update_dict(parsed_args, body[self.resource], neutronV20.update_dict(parsed_args, body[self.resource],
['name', 'description', 'policy_rules', ['name', 'description', 'policy_rules',
'child_policy_rule_sets']) 'child_policy_rule_sets', 'shared'])
return body return body

View File

@@ -39,6 +39,27 @@ class CLITestV20L2PolicyJSON(test_cli20.CLITestV20Base):
position_names, position_values, position_names, position_values,
tenant_id=tenant_id) tenant_id=tenant_id)
def test_create_l2_policy_with_all_params(self):
"""l2-policy-create with all params."""
resource = 'l2_policy'
cmd = gbp.CreateL2Policy(test_cli20.MyApp(sys.stdout), None)
my_id = 'my-id'
tenant_id = 'my-tenant'
name = 'my-name'
description = 'l2p description'
l3_policy_id = 'l3p'
shared = 'True'
args = [name,
'--tenant-id', tenant_id,
'--description', description,
'--l3-policy-id', l3_policy_id,
'--shared', shared]
position_names = ['name', 'description', 'l3_policy_id']
position_values = [name, description, l3_policy_id]
self._test_create_resource(resource, cmd, name, my_id, args,
position_names, position_values,
tenant_id=tenant_id, shared=True)
def test_list_l2_policies(self): def test_list_l2_policies(self):
resource = 'l2_policies' resource = 'l2_policies'
cmd = gbp.ListL2Policy(test_cli20.MyApp(sys.stdout), None) cmd = gbp.ListL2Policy(test_cli20.MyApp(sys.stdout), None)
@@ -58,6 +79,28 @@ class CLITestV20L2PolicyJSON(test_cli20.CLITestV20Base):
'--tags', 'a', 'b'], '--tags', 'a', 'b'],
{'name': 'myname', 'tags': ['a', 'b'], }) {'name': 'myname', 'tags': ['a', 'b'], })
def test_update_l2_policy_with_all_params(self):
"""l2-policy-update."""
resource = 'l2_policy'
cmd = gbp.UpdateL2Policy(test_cli20.MyApp(sys.stdout), None)
my_id = 'someid'
name = 'l2policy'
description = 'l2policy description'
l3_policy_id = 'l3p'
shared = 'True'
args = [my_id,
'--name', name,
'--description', description,
'--l3-policy-id', l3_policy_id,
'--shared', shared]
params = {
'name': name,
'description': description,
'l3_policy_id': l3_policy_id,
'shared': True
}
self._test_update_resource(resource, cmd, my_id, args, params)
def test_delete_l2_policy_name(self): def test_delete_l2_policy_name(self):
resource = 'l2_policy' resource = 'l2_policy'
cmd = gbp.DeleteL2Policy(test_cli20.MyApp(sys.stdout), None) cmd = gbp.DeleteL2Policy(test_cli20.MyApp(sys.stdout), None)

View File

@@ -52,12 +52,14 @@ class CLITestV20L3PolicyJSON(test_cli20.CLITestV20Base):
subnet_prefix_length = '24' subnet_prefix_length = '24'
external_segment = 'seg_uuid1=1.1.1.0:2.2.2.0' external_segment = 'seg_uuid1=1.1.1.0:2.2.2.0'
expected_external_segments = {'seg_uuid1': ['1.1.1.0', '2.2.2.0']} expected_external_segments = {'seg_uuid1': ['1.1.1.0', '2.2.2.0']}
shared = 'True'
args = ['--tenant-id', tenant_id, args = ['--tenant-id', tenant_id,
'--description', description, '--description', description,
'--ip-version', ip_version, '--ip-version', ip_version,
'--ip-pool', ip_pool, '--ip-pool', ip_pool,
'--subnet-prefix-length', subnet_prefix_length, '--subnet-prefix-length', subnet_prefix_length,
'--external-segment', external_segment, '--external-segment', external_segment,
'--shared', shared,
name] name]
position_names = ['name', ] position_names = ['name', ]
position_values = [name, ] position_values = [name, ]
@@ -69,7 +71,7 @@ class CLITestV20L3PolicyJSON(test_cli20.CLITestV20Base):
ip_pool=ip_pool, ip_pool=ip_pool,
subnet_prefix_length=24, subnet_prefix_length=24,
external_segments= external_segments=
expected_external_segments) expected_external_segments, shared=True)
def test_list_l3_policies(self): def test_list_l3_policies(self):
resource = 'l3_policies' resource = 'l3_policies'
@@ -101,12 +103,14 @@ class CLITestV20L3PolicyJSON(test_cli20.CLITestV20Base):
subnet_prefix_length = '24' subnet_prefix_length = '24'
external_segment = 'seg_uuid1=1.1.1.0:2.2.2.0' external_segment = 'seg_uuid1=1.1.1.0:2.2.2.0'
expected_external_segments = {'seg_uuid1': ['1.1.1.0', '2.2.2.0']} expected_external_segments = {'seg_uuid1': ['1.1.1.0', '2.2.2.0']}
shared = 'True'
args = ['--name', name, args = ['--name', name,
'--description', description, '--description', description,
'--ip-version', ip_version, '--ip-version', ip_version,
'--ip-pool', ip_pool, '--ip-pool', ip_pool,
'--subnet-prefix-length', subnet_prefix_length, '--subnet-prefix-length', subnet_prefix_length,
'--external-segment', external_segment, '--external-segment', external_segment,
'--shared', shared,
my_id] my_id]
params = { params = {
'name': name, 'name': name,
@@ -115,6 +119,7 @@ class CLITestV20L3PolicyJSON(test_cli20.CLITestV20Base):
'ip_pool': ip_pool, 'ip_pool': ip_pool,
'subnet_prefix_length': 24, 'subnet_prefix_length': 24,
'external_segments': expected_external_segments, 'external_segments': expected_external_segments,
'shared': True
} }
self._test_update_resource(resource, cmd, my_id, args, params) self._test_update_resource(resource, cmd, my_id, args, params)

View File

@@ -47,9 +47,11 @@ class CLITestV20NetworkServicePolicyJSON(test_cli20.CLITestV20Base):
description = 'Mynsp' description = 'Mynsp'
my_id = 'someid' my_id = 'someid'
network_svc_params = "type=ip_single,name=vip,value=self_subnet" network_svc_params = "type=ip_single,name=vip,value=self_subnet"
shared = 'True'
args = ['--tenant_id', tenant_id, args = ['--tenant_id', tenant_id,
'--description', description, '--description', description,
'--network-service-params', network_svc_params, '--network-service-params', network_svc_params,
'--shared', shared,
name] name]
position_names = ['name', 'description', 'network_service_params'] position_names = ['name', 'description', 'network_service_params']
net_params = [{"type": "ip_single", "name": "vip", net_params = [{"type": "ip_single", "name": "vip",
@@ -57,7 +59,7 @@ class CLITestV20NetworkServicePolicyJSON(test_cli20.CLITestV20Base):
position_values = [name, description, net_params] position_values = [name, description, net_params]
self._test_create_resource(resource, cmd, name, my_id, args, self._test_create_resource(resource, cmd, name, my_id, args,
position_names, position_values, position_names, position_values,
tenant_id=tenant_id) tenant_id=tenant_id, shared=True)
def test_list_network_service_policies(self): def test_list_network_service_policies(self):
"""network-sercvice-policy-list.""" """network-sercvice-policy-list."""
@@ -117,15 +119,29 @@ class CLITestV20NetworkServicePolicyJSON(test_cli20.CLITestV20Base):
{'name': 'myname', 'tags': ['a', 'b'], }) {'name': 'myname', 'tags': ['a', 'b'], })
def test_update_network_service_policy_with_allparams(self): def test_update_network_service_policy_with_allparams(self):
"""network-service-policy-update with all params."""
resource = 'network_service_policy' resource = 'network_service_policy'
new_name = "new_name"
cmd = gbp.UpdateNetworkServicePolicy(test_cli20.MyApp(sys.stdout), cmd = gbp.UpdateNetworkServicePolicy(test_cli20.MyApp(sys.stdout),
None) None)
body = { name = 'nsp'
'name': new_name description = 'nsp description'
my_id = 'someid'
network_svc_params = "type=ip_single,name=vip,value=self_subnet"
shared = 'True'
args = [my_id,
'--name', name,
'--description', description,
'--network-service-params', network_svc_params,
'--shared', shared,
'--request-format', 'json']
params = {
'name': name,
'description': description,
'network_service_params': [{"type": "ip_single", "name": "vip",
"value": "self_subnet"}],
'shared': True
} }
args = ['myid', '--name', new_name, '--request-format', 'json'] self._test_update_resource(resource, cmd, my_id, args, params)
self._test_update_resource(resource, cmd, 'myid', args, body)
def test_delete_network_service_policy(self): def test_delete_network_service_policy(self):
"""network-service-policy-delete my-id.""" """network-service-policy-delete my-id."""

View File

@@ -46,10 +46,12 @@ class CLITestV20PolicyActionJSON(test_cli20.CLITestV20Base):
my_id = 'my-id' my_id = 'my-id'
action_type = "allow" action_type = "allow"
action_value = "1234" action_value = "1234"
shared = 'True'
args = ['--tenant-id', tenant_id, args = ['--tenant-id', tenant_id,
'--description', description, '--description', description,
'--action-type', action_type, '--action-type', action_type,
'--action-value', action_value, '--action-value', action_value,
'--shared', shared,
name] name]
position_names = ['name', ] position_names = ['name', ]
position_values = [name, ] position_values = [name, ]
@@ -58,7 +60,7 @@ class CLITestV20PolicyActionJSON(test_cli20.CLITestV20Base):
tenant_id=tenant_id, tenant_id=tenant_id,
description=description, description=description,
action_type=action_type, action_type=action_type,
action_value=action_value) action_value=action_value, shared=True)
def test_list_policy_actions(self): def test_list_policy_actions(self):
"""grouppolicy-policy-action-list.""" """grouppolicy-policy-action-list."""
@@ -116,15 +118,19 @@ class CLITestV20PolicyActionJSON(test_cli20.CLITestV20Base):
resource = 'policy_action' resource = 'policy_action'
action_type = "allow" action_type = "allow"
action_value = "1234" action_value = "1234"
shared = 'True'
my_id = 'someid'
cmd = gbp.UpdatePolicyAction(test_cli20.MyApp(sys.stdout), None) cmd = gbp.UpdatePolicyAction(test_cli20.MyApp(sys.stdout), None)
body = { body = {
'action_type': action_type, 'action_type': action_type,
'action_value': action_value 'action_value': action_value,
'shared': True
} }
args = ['myid', args = [my_id,
'--action-type', action_type, '--action-type', action_type,
'--action-value', action_value, ] '--action-value', action_value,
self._test_update_resource(resource, cmd, 'myid', args, body) '--shared', shared, ]
self._test_update_resource(resource, cmd, my_id, args, body)
def test_delete_policy_action(self): def test_delete_policy_action(self):
"""grouppolicy-policy-action-delete my-id.""" """grouppolicy-policy-action-delete my-id."""

View File

@@ -47,11 +47,13 @@ class CLITestV20PolicyClassifierJSON(test_cli20.CLITestV20Base):
protocol = 'tcp' protocol = 'tcp'
port_range = '10-80' port_range = '10-80'
direction = 'in' direction = 'in'
shared = 'True'
args = ['--tenant-id', tenant_id, args = ['--tenant-id', tenant_id,
'--description', description, '--description', description,
'--protocol', protocol, '--protocol', protocol,
'--port-range', port_range, '--port-range', port_range,
'--direction', direction, '--direction', direction,
'--shared', shared,
name] name]
position_names = ['name', ] position_names = ['name', ]
position_values = [name, ] position_values = [name, ]
@@ -61,7 +63,7 @@ class CLITestV20PolicyClassifierJSON(test_cli20.CLITestV20Base):
description=description, description=description,
protocol=protocol, protocol=protocol,
port_range=port_range, port_range=port_range,
direction=direction) direction=direction, shared=True)
def test_list_policy_classifiers(self): def test_list_policy_classifiers(self):
"""grouppolicy-policy-classifier-list.""" """grouppolicy-policy-classifier-list."""
@@ -122,15 +124,20 @@ class CLITestV20PolicyClassifierJSON(test_cli20.CLITestV20Base):
port_range = '10-80' port_range = '10-80'
direction = 'in' direction = 'in'
cmd = gbp.UpdatePolicyClassifier(test_cli20.MyApp(sys.stdout), None) cmd = gbp.UpdatePolicyClassifier(test_cli20.MyApp(sys.stdout), None)
my_id = 'someid'
shared = 'True'
body = { body = {
'protocol': protocol, 'protocol': protocol,
'port_range': port_range, 'port_range': port_range,
'direction': direction 'direction': direction,
'shared': True
} }
args = ['myid', '--protocol', protocol, args = [my_id,
'--protocol', protocol,
'--port-range', port_range, '--port-range', port_range,
'--direction', direction, ] '--direction', direction,
self._test_update_resource(resource, cmd, 'myid', args, body) '--shared', shared, ]
self._test_update_resource(resource, cmd, my_id, args, body)
def test_delete_policy_classifier(self): def test_delete_policy_classifier(self):
"""grouppolicy-policy-classifier-delete my-id.""" """grouppolicy-policy-classifier-delete my-id."""

View File

@@ -48,11 +48,13 @@ class CLITestV20PolicyRuleJSON(test_cli20.CLITestV20Base):
policy_classifier_id = 'pc-id' policy_classifier_id = 'pc-id'
policy_actions_res = ["pa1", "pa2"] policy_actions_res = ["pa1", "pa2"]
policy_actions_arg = "pa1 pa2" policy_actions_arg = "pa1 pa2"
shared = 'True'
args = ['--tenant-id', tenant_id, args = ['--tenant-id', tenant_id,
'--description', description, '--description', description,
'--enabled', "True", '--enabled', "True",
'--classifier', policy_classifier_id, '--classifier', policy_classifier_id,
'--actions', policy_actions_arg, '--actions', policy_actions_arg,
'--shared', shared,
name] name]
position_names = ['name', ] position_names = ['name', ]
position_values = [name, ] position_values = [name, ]
@@ -62,7 +64,8 @@ class CLITestV20PolicyRuleJSON(test_cli20.CLITestV20Base):
description=description, description=description,
enabled=enabled, enabled=enabled,
policy_classifier_id=policy_classifier_id, policy_classifier_id=policy_classifier_id,
policy_actions=policy_actions_res) policy_actions=policy_actions_res,
shared=True)
def test_list_policy_rules(self): def test_list_policy_rules(self):
"""grouppolicy-policy-rule-list.""" """grouppolicy-policy-rule-list."""
@@ -122,16 +125,21 @@ class CLITestV20PolicyRuleJSON(test_cli20.CLITestV20Base):
policy_classifier_id = 'pc-id' policy_classifier_id = 'pc-id'
policy_actions_res = ["pa1", "pa2"] policy_actions_res = ["pa1", "pa2"]
policy_actions_arg = "pa1 pa2" policy_actions_arg = "pa1 pa2"
my_id = 'someid'
shared = 'True'
cmd = gbp.UpdatePolicyRule(test_cli20.MyApp(sys.stdout), None) cmd = gbp.UpdatePolicyRule(test_cli20.MyApp(sys.stdout), None)
body = { body = {
'policy_classifier_id': policy_classifier_id, 'policy_classifier_id': policy_classifier_id,
'enabled': enabled, 'enabled': enabled,
'policy_actions': policy_actions_res 'policy_actions': policy_actions_res,
'shared': True
} }
args = ['myid', '--enabled', "True", args = [my_id,
'--enabled', "True",
'--classifier', policy_classifier_id, '--classifier', policy_classifier_id,
'--actions', policy_actions_arg, ] '--actions', policy_actions_arg,
self._test_update_resource(resource, cmd, 'myid', args, body) '--shared', shared, ]
self._test_update_resource(resource, cmd, my_id, args, body)
def test_delete_policy_classifier(self): def test_delete_policy_classifier(self):
"""grouppolicy-policy-rule-delete my-id.""" """grouppolicy-policy-rule-delete my-id."""

View File

@@ -40,6 +40,45 @@ class CLITestV20PolicyTargetGroupJSON(test_cli20.CLITestV20Base):
position_names, position_values, position_names, position_values,
tenant_id=tenant_id) tenant_id=tenant_id)
def test_create_policy_target_group_with_all_params(self):
"""policy-target-group-create with all params."""
resource = 'policy_target_group'
cmd = gbp.CreatePolicyTargetGroup(test_cli20.MyApp(sys.stdout), None)
my_id = 'my-id'
tenant_id = 'my-tenant'
name = 'my-name'
description = 'ptg description'
l2_policy_id = 'l2_policy_id'
provided_prs = "icmp-prs=false,web-prs=true"
consumed_prs = "ssh-prs=true,ftp-prs=false"
network_service_policy_id = 'network_service_policy_id'
shared = 'True'
args = [name,
'--tenant-id', tenant_id,
'--description', description,
'--l2-policy-id', l2_policy_id,
'--provided-policy-rule-sets', provided_prs,
'--consumed-policy-rule-sets', consumed_prs,
'--network-service-policy-id', network_service_policy_id,
'--shared', shared]
position_names = ['name', 'description', 'l2_policy_id',
'provided_policy_rule_sets',
'consumed_policy_rule_sets',
'network_service_policy_id']
provided_policy_rule_sets = {
'icmp-prs': 'false',
'web-prs': 'true'}
consumed_policy_rule_sets = {
'ssh-prs': 'true',
'ftp-prs': 'false'}
position_values = [name, description, l2_policy_id,
provided_policy_rule_sets,
consumed_policy_rule_sets,
network_service_policy_id]
self._test_create_resource(resource, cmd, name, my_id, args,
position_names, position_values,
tenant_id=tenant_id, shared=True)
def test_list_policy_target_groups(self): def test_list_policy_target_groups(self):
"""policy-target-group-list.""" """policy-target-group-list."""
resource = 'policy_target_groups' resource = 'policy_target_groups'
@@ -62,6 +101,43 @@ class CLITestV20PolicyTargetGroupJSON(test_cli20.CLITestV20Base):
'--tags', 'a', 'b'], '--tags', 'a', 'b'],
{'name': 'myname', 'tags': ['a', 'b'], }) {'name': 'myname', 'tags': ['a', 'b'], })
def test_update_policy_target_group_with_all_params(self):
"""policy-target-group-update."""
resource = 'policy_target_group'
cmd = gbp.UpdatePolicyTargetGroup(test_cli20.MyApp(sys.stdout), None)
my_id = 'my-id'
name = 'ptg'
description = 'ptg description'
l2_policy_id = 'l2_policy_id'
provided_prs = "icmp-prs=false,web-prs=true"
consumed_prs = "ssh-prs=true,ftp-prs=false"
network_service_policy_id = 'network_service_policy_id'
shared = 'True'
args = [my_id,
'--name', name,
'--description', description,
'--l2-policy-id', l2_policy_id,
'--provided-policy-rule-sets', provided_prs,
'--consumed-policy-rule-sets', consumed_prs,
'--network-service-policy-id', network_service_policy_id,
'--shared', shared]
provided_policy_rule_sets = {
'icmp-prs': 'false',
'web-prs': 'true'}
consumed_policy_rule_sets = {
'ssh-prs': 'true',
'ftp-prs': 'false'}
params = {
'name': name,
'description': description,
'l2_policy_id': l2_policy_id,
'provided_policy_rule_sets': provided_policy_rule_sets,
'consumed_policy_rule_sets': consumed_policy_rule_sets,
'network_service_policy_id': network_service_policy_id,
'shared': True
}
self._test_update_resource(resource, cmd, my_id, args, params)
def test_delete_policy_target_group_name(self): def test_delete_policy_target_group_name(self):
"""policy-target-group-delete.""" """policy-target-group-delete."""
resource = 'policy_target_group' resource = 'policy_target_group'