TestFlowRemovedMsg.setUpClass()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 13
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 13
rs 9.8
c 0
b 0
f 0
cc 1
nop 1
1
"""Testing v0x04 FlowRemoved message."""
2
from pyof.v0x04.asynchronous.flow_removed import FlowRemoved, FlowRemovedReason
3
from pyof.v0x04.common.flow_match import (
4
    Match, MatchType, OxmClass, OxmOfbMatchField, OxmTLV)
5
from tests.unit.test_struct import TestStruct
6
7
8
class TestFlowRemovedMsg(TestStruct):
9
    """FlowRemoved message tests (also those in :class:`.TestDump`)."""
10
11
    @classmethod
12
    def setUpClass(cls):
13
        """Configure raw file and its object in parent class (TestDump)."""
14
        super().setUpClass()
15
        super().set_raw_dump_file('v0x04', 'ofpt_flow_removed')
16
        super().set_raw_dump_object(FlowRemoved, xid=0,
17
                                    cookie=0x0000000000000000, priority=1000,
18
                                    reason=FlowRemovedReason.OFPRR_DELETE,
19
                                    table_id=0, duration_sec=77,
20
                                    duration_nsec=559000000, idle_timeout=0,
21
                                    hard_timeout=0, packet_count=0,
22
                                    byte_count=0, match=_new_match())
23
        super().set_minimum_size(56)
24
25
26
def _new_match():
27
    """Crate new Match instance."""
28
    tlv1 = OxmTLV(oxm_class=OxmClass.OFPXMC_OPENFLOW_BASIC,
29
                  oxm_field=OxmOfbMatchField.OFPXMT_OFB_ETH_TYPE,
30
                  oxm_hasmask=False, oxm_value=b'\x88\xcc')
31
    tlv2 = OxmTLV(oxm_class=OxmClass.OFPXMC_OPENFLOW_BASIC,
32
                  oxm_field=OxmOfbMatchField.OFPXMT_OFB_VLAN_VID,
33
                  oxm_hasmask=False, oxm_value=b'\x1e\xd7')
34
    return Match(match_type=MatchType.OFPMT_OXM,
35
                 oxm_match_fields=[tlv1, tlv2])
36