File: test_decoders.py

package info (click to toggle)
openvswitch 3.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 97,848 kB
  • sloc: sh: 1,643,930; ansic: 313,386; python: 27,939; xml: 21,526; makefile: 546; javascript: 191
file content (130 lines) | stat: -rw-r--r-- 3,887 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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)