Merge "Add acl_rule missing property"

This commit is contained in:
Zuul 2019-03-09 00:04:34 +00:00 committed by Gerrit Code Review
commit 9ae58e8368
2 changed files with 17 additions and 19 deletions

View File

@ -25,40 +25,38 @@ from rsd_lib import utils as rsd_lib_utils
LOG = logging.getLogger(__name__)
class IPSourceField(base.CompositeField):
class IPConditionTypeField(base.CompositeField):
ipv4_address = base.Field('IPv4Address')
mask = base.Field('Mask')
class MACSourceField(base.CompositeField):
address = base.Field('Address')
mask = base.Field('Mask', adapter=rsd_lib_utils.num_or_none)
class MACConditionTypeField(base.CompositeField):
mac_address = base.Field('Address')
mask = base.Field('Mask')
class VLANIdField(base.CompositeField):
class VlanIdConditionTypeField(base.CompositeField):
id = base.Field('Id', adapter=rsd_lib_utils.num_or_none)
mask = base.Field('Mask', adapter=rsd_lib_utils.num_or_none)
class L4SourcePortField(base.CompositeField):
class PortConditionTypeField(base.CompositeField):
port = base.Field('Port', adapter=rsd_lib_utils.num_or_none)
mask = base.Field('Mask', adapter=rsd_lib_utils.num_or_none)
class ConditionField(base.CompositeField):
ip_source = IPSourceField('IPSource')
ip_destination = base.Field('IPDestination')
mac_source = MACSourceField('MACSource')
mac_destination = base.Field('MACDestination')
vlan_id = VLANIdField('VLANId')
l4_source_port = L4SourcePortField('L4SourcePort')
l4_destination_port = base.Field('L4DestinationPort',
adapter=rsd_lib_utils.num_or_none)
l4_protocol = base.Field('L4Protocol')
class ConditionTypeField(base.CompositeField):
ip_source = IPConditionTypeField('IPSource')
ip_destination = IPConditionTypeField('IPDestination')
mac_source = MACConditionTypeField('MACSource')
mac_destination = MACConditionTypeField('MACDestination')
vlan_id = VlanIdConditionTypeField('VLANId')
l4_source_port = PortConditionTypeField('L4SourcePort')
l4_destination_port = PortConditionTypeField('L4DestinationPort')
l4_protocol = base.Field('L4Protocol', adapter=rsd_lib_utils.num_or_none)
class ACLRule(base.ResourceBase):
identity = base.Field('Id')
"""The acl rule identity string"""
@ -86,7 +84,7 @@ class ACLRule(base.ResourceBase):
mirror_type = base.Field('MirrorType')
"""The acl rule mirror type"""
condition = ConditionField('Condition')
condition = ConditionTypeField('Condition')
"""The acl rule condition field"""
oem = base.Field('Oem')

View File

@ -59,7 +59,7 @@ class ACLRuleTestCase(testtools.TestCase):
self.acl_rule_inst.condition.ip_source.mask)
self.assertEqual(None, self.acl_rule_inst.condition.ip_destination)
self.assertEqual('00:11:22:33:44:55',
self.acl_rule_inst.condition.mac_source.address)
self.acl_rule_inst.condition.mac_source.mac_address)
self.assertEqual(None, self.acl_rule_inst.condition.mac_source.mask)
self.assertEqual(1088, self.acl_rule_inst.condition.vlan_id.id)
self.assertEqual(4095,