test_bgpspeaker: Add unit tests for IPv6 Flow Spec
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
bb38fb2f30
commit
c53605385e
|
@ -867,3 +867,156 @@ class Test_BGPSpeaker(unittest.TestCase):
|
|||
# Check
|
||||
mock_call.assert_called_with(
|
||||
'flowspec.del_local', **expected_kwargs)
|
||||
|
||||
@mock.patch(
|
||||
'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__',
|
||||
mock.MagicMock(return_value=None))
|
||||
@mock.patch('ryu.services.protocols.bgp.bgpspeaker.call')
|
||||
def test_flowspec_prefix_add_ipv6(self, mock_call):
|
||||
# Prepare test data
|
||||
flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV6
|
||||
rules = {
|
||||
'dst_prefix': '2001::3/128/32',
|
||||
}
|
||||
|
||||
actions = {
|
||||
'traffic_marking': {
|
||||
'dscp': 24,
|
||||
}
|
||||
}
|
||||
|
||||
expected_kwargs = {
|
||||
'flowspec_family': flowspec_family,
|
||||
'rules': rules,
|
||||
'actions': actions,
|
||||
}
|
||||
|
||||
# Test
|
||||
speaker = bgpspeaker.BGPSpeaker(65000, '10.0.0.1')
|
||||
speaker.flowspec_prefix_add(
|
||||
flowspec_family=flowspec_family,
|
||||
rules=rules,
|
||||
actions=actions)
|
||||
|
||||
# Check
|
||||
mock_call.assert_called_with(
|
||||
'flowspec.add', **expected_kwargs)
|
||||
|
||||
@mock.patch(
|
||||
'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__',
|
||||
mock.MagicMock(return_value=None))
|
||||
@mock.patch('ryu.services.protocols.bgp.bgpspeaker.call')
|
||||
def test_flowspec_prefix_add_ipv6_without_actions(self, mock_call):
|
||||
# Prepare test data
|
||||
flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV6
|
||||
rules = {
|
||||
'dst_prefix': '2001::3/128/32',
|
||||
}
|
||||
|
||||
expected_kwargs = {
|
||||
'flowspec_family': flowspec_family,
|
||||
'rules': rules,
|
||||
'actions': {},
|
||||
}
|
||||
|
||||
# Test
|
||||
speaker = bgpspeaker.BGPSpeaker(65000, '10.0.0.1')
|
||||
speaker.flowspec_prefix_add(
|
||||
flowspec_family=flowspec_family,
|
||||
rules=rules)
|
||||
|
||||
# Check
|
||||
mock_call.assert_called_with(
|
||||
'flowspec.add', **expected_kwargs)
|
||||
|
||||
@mock.patch(
|
||||
'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__',
|
||||
mock.MagicMock(return_value=None))
|
||||
@mock.patch('ryu.services.protocols.bgp.bgpspeaker.call')
|
||||
def test_flowspec_prefix_del_ipv6(self, mock_call):
|
||||
# Prepare test data
|
||||
flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_IPV6
|
||||
rules = {
|
||||
'dst_prefix': '2001::3/128/32',
|
||||
}
|
||||
|
||||
expected_kwargs = {
|
||||
'flowspec_family': flowspec_family,
|
||||
'rules': rules,
|
||||
}
|
||||
|
||||
# Test
|
||||
speaker = bgpspeaker.BGPSpeaker(65000, '10.0.0.1')
|
||||
speaker.flowspec_prefix_del(
|
||||
flowspec_family=flowspec_family,
|
||||
rules=rules)
|
||||
|
||||
# Check
|
||||
mock_call.assert_called_with(
|
||||
'flowspec.del', **expected_kwargs)
|
||||
|
||||
@mock.patch(
|
||||
'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__',
|
||||
mock.MagicMock(return_value=None))
|
||||
@mock.patch('ryu.services.protocols.bgp.bgpspeaker.call')
|
||||
def test_flowspec_prefix_add_vpnv6(self, mock_call):
|
||||
# Prepare test data
|
||||
flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_VPNV6
|
||||
route_dist = '65001:100'
|
||||
rules = {
|
||||
'dst_prefix': '2001::3/128/32',
|
||||
}
|
||||
|
||||
actions = {
|
||||
'traffic_marking': {
|
||||
'dscp': 24,
|
||||
}
|
||||
}
|
||||
|
||||
expected_kwargs = {
|
||||
'flowspec_family': flowspec_family,
|
||||
'route_dist': route_dist,
|
||||
'rules': rules,
|
||||
'actions': actions,
|
||||
}
|
||||
|
||||
# Test
|
||||
speaker = bgpspeaker.BGPSpeaker(65000, '10.0.0.1')
|
||||
speaker.flowspec_prefix_add(
|
||||
flowspec_family=flowspec_family,
|
||||
route_dist=route_dist,
|
||||
rules=rules,
|
||||
actions=actions)
|
||||
|
||||
# Check
|
||||
mock_call.assert_called_with(
|
||||
'flowspec.add_local', **expected_kwargs)
|
||||
|
||||
@mock.patch(
|
||||
'ryu.services.protocols.bgp.bgpspeaker.BGPSpeaker.__init__',
|
||||
mock.MagicMock(return_value=None))
|
||||
@mock.patch('ryu.services.protocols.bgp.bgpspeaker.call')
|
||||
def test_flowspec_prefix_del_vpnv6(self, mock_call):
|
||||
# Prepare test data
|
||||
flowspec_family = bgpspeaker.FLOWSPEC_FAMILY_VPNV6
|
||||
route_dist = '65001:100'
|
||||
rules = {
|
||||
'dst_prefix': '2001::3/128/32',
|
||||
}
|
||||
|
||||
expected_kwargs = {
|
||||
'flowspec_family': flowspec_family,
|
||||
'route_dist': route_dist,
|
||||
'rules': rules,
|
||||
}
|
||||
|
||||
# Test
|
||||
speaker = bgpspeaker.BGPSpeaker(65000, '10.0.0.1')
|
||||
speaker.flowspec_prefix_del(
|
||||
flowspec_family=flowspec_family,
|
||||
route_dist=route_dist,
|
||||
rules=rules)
|
||||
|
||||
# Check
|
||||
mock_call.assert_called_with(
|
||||
'flowspec.del_local', **expected_kwargs)
|
||||
|
|
Loading…
Reference in New Issue