def create_from_packed(cls, packed): ports = None ports_except = None if packed[cls.PORTS] is not None: ports = packed[cls.PORTS] ports_except = None else: ports_except = packed[cls.PORTS_EXCEPT] ports = None return cls(packed[cls.PACKET_ID], packed[cls.TYPE], packed[cls.ATTRIBUTES], packed[cls.NODE], ports, ports_except, BasicFlowMatch.create_from_packed(packed[cls.HEADER]), packed[cls.DATA])
def create_from_packed(cls, packed): version = None if cls.VERSION in packed: version = packed[cls.VERSION] matches = [] for match in packed[cls.MATCHES]: matches.append(BasicFlowMatch.create_from_packed(match)) edge_actions = {} for node_id, basic_flow_actions in packed[cls.EDGE_ACTIONS].items(): flow_action_list = [] for flow_action in basic_flow_actions: flow_action_list.append(globals()[flow_action[ FlowAction.TYPE]].create_from_packed(flow_action)) edge_actions[node_id] = flow_action_list return cls(packed[cls.TYPE], version, packed[cls.FLOW_ID], packed[cls.OWNER], packed[cls.ENABLED], packed[cls.PRIORITY], packed[cls.STATUS], packed[cls.ATTRIBUTES], matches, packed[cls.PATH], edge_actions)
def create_from_packed(cls, packed): version = None if cls.VERSION in packed: version = packed[cls.VERSION] matches = [] for match in packed[cls.MATCHES]: matches.append(BasicFlowMatch.create_from_packed(match)) edge_actions = {} for node_id, basic_flow_actions in packed[cls.EDGE_ACTIONS].items(): flow_action_list = [] for flow_action in basic_flow_actions: flow_action_list.append( globals()[flow_action[FlowAction.TYPE]]. create_from_packed(flow_action)) edge_actions[node_id] = flow_action_list return cls(packed[cls.TYPE], version, packed[cls.FLOW_ID], packed[cls.OWNER], packed[cls.ENABLED], packed[cls.PRIORITY], packed[cls.STATUS], packed[cls.ATTRIBUTES], matches, packed[cls.PATH], edge_actions)
def create_from_packed(cls, packed): return cls(packed[cls.PACKET_ID], packed[cls.TYPE], packed[cls.ATTRIBUTES], packed[cls.NODE], packed[cls.PORT], BasicFlowMatch.create_from_packed(packed[cls.HEADER]), packed[cls.DATA])
def test_in_port_port_None(self): self.port_None_target = BasicFlowMatch(self.Type, self.In_node, None) self.assertIsNone(self.port_None_target.in_port)
def setUp(self): self.target = BasicFlowMatch(self.Type, self.In_node, self.In_port)
class BasicFlowMatchTest(unittest.TestCase): Type = "BasicFlowMatch" In_node = "node_id" In_port = "ANY" def setUp(self): self.target = BasicFlowMatch(self.Type, self.In_node, self.In_port) def tearDown(self): self.target = None def test_constructor(self): self.assertEqual(self.target._body[self.target.TYPE], self.Type) self.assertEqual(self.target._body[self.target.IN_NODE], self.In_node) self.assertEqual(self.target._body[self.target.IN_PORT], self.In_port) def test_type_property(self): self.assertEqual(self.target.type, self.Type) def test_in_node_property(self): self.assertEqual(self.target.in_node, self.In_node) def test_in_node_setter(self): self.assertEqual(self.target._body[self.target.IN_NODE], self.In_node) self.target.in_node = "node_id_second" self.assertEqual(self.target._body[self.target.IN_NODE], "node_id_second") def test_in_port_port_NotNone(self): self.assertEqual(self.target.in_port, self.In_port) def test_in_port_port_None(self): self.port_None_target = BasicFlowMatch(self.Type, self.In_node, None) self.assertIsNone(self.port_None_target.in_port) def test_in_port_port_setter(self): self.assertEqual(self.target._body[self.target.IN_PORT], self.In_port) self.target.in_port = "port_id" self.assertEqual(self.target._body[self.target.IN_PORT], "port_id") def test_create_from_packed_port_NotNone(self): self.value = {"type": self.Type, "in_node": "In_node01", "in_port": "In_port01"} self.result = self.target.create_from_packed(self.value) self.assertEqual(self.result._body[self.target.TYPE], self.Type) self.assertEqual(self.result._body[self.target.IN_NODE], "In_node01") self.assertEqual(self.result._body[self.target.IN_PORT], "In_port01") def test_create_from_packed_port_None(self): self.value = {"type": self.Type, "in_node": "In_node01"} self.result = self.target.create_from_packed(self.value) self.assertEqual(self.result._body, self.value) def test_packed_object(self): self.result = self.target.packed_object() self.assertEqual(self.result[self.target.TYPE], self.Type) self.assertEqual(self.result[self.target.IN_NODE], self.In_node) self.assertEqual(self.result[self.target.IN_PORT], self.In_port)