mirror of
https://github.com/openvswitch/ovs
synced 2025-10-11 13:57:52 +00:00
Add unit tests for OFPFlow class and ip-port range decoder Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
131 lines
3.8 KiB
Python
131 lines
3.8 KiB
Python
from netaddr import IPAddress
|
|
import pytest
|
|
|
|
from ovs.flow.decoders import decode_ip_port_range
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"input_string,expected",
|
|
[
|
|
(
|
|
"192.168.0.0-192.168.0.200:1000-2000",
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress("192.168.0.0"),
|
|
"end": IPAddress("192.168.0.200"),
|
|
},
|
|
"ports": {
|
|
"start": 1000,
|
|
"end": 2000,
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"192.168.0.0-192.168.0.200",
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress("192.168.0.0"),
|
|
"end": IPAddress("192.168.0.200"),
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"192.168.0.0-192.168.0.200:2000",
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress("192.168.0.0"),
|
|
"end": IPAddress("192.168.0.200"),
|
|
},
|
|
"ports": {
|
|
"start": 2000,
|
|
"end": 2000,
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"192.168.0.1:1000-2000",
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress("192.168.0.1"),
|
|
"end": IPAddress("192.168.0.1"),
|
|
},
|
|
"ports": {
|
|
"start": 1000,
|
|
"end": 2000,
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"[fe80:0000:0000:0000:0204:61ff:fe9d:f150]-[fe80:0000:0000:0000:0204:61ff:fe9d:f15f]:255", # noqa: E501
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f150"
|
|
),
|
|
"end": IPAddress(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f15f"
|
|
),
|
|
},
|
|
"ports": {
|
|
"start": 255,
|
|
"end": 255,
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"[fe80::204:61ff:254.157.241.86]-[fe80::204:61ff:254.157.241.100]:255-300", # noqa: E501
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress("fe80::204:61ff:254.157.241.86"),
|
|
"end": IPAddress("fe80::204:61ff:254.157.241.100"),
|
|
},
|
|
"ports": {
|
|
"start": 255,
|
|
"end": 300,
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"[fe80::f150]-[fe80::f15f]:255-300",
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress("fe80::f150"),
|
|
"end": IPAddress("fe80::f15f"),
|
|
},
|
|
"ports": {
|
|
"start": 255,
|
|
"end": 300,
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f150-fe80:0000:0000:0000:0204:61ff:fe9d:f15f", # noqa: E501
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f150"
|
|
),
|
|
"end": IPAddress(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f15f"
|
|
),
|
|
},
|
|
},
|
|
),
|
|
(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f156",
|
|
{
|
|
"addrs": {
|
|
"start": IPAddress(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f156"
|
|
),
|
|
"end": IPAddress(
|
|
"fe80:0000:0000:0000:0204:61ff:fe9d:f156"
|
|
),
|
|
},
|
|
},
|
|
),
|
|
],
|
|
)
|
|
def test_decode_ip_port_range(input_string, expected):
|
|
assert expected == decode_ip_port_range(input_string)
|