def test__on_flow_delete_enabled_False(self):
        Dispatcher = Mock()
        Dispatcher.network_id = "NetworkId"
        Network_id = "NetworkId"
        flow_body1 = Flow("BasicFlow", "v01", "FlowId1", "Owner", False, 65535,
                          "none", {})
        flow_body2 = Flow("BasicFlow", "v01", "FlowId1", "Owner", True, 65535,
                          "established", {})

        self.target._network_interfaces["NetworkId"] =\
            NetworkInterface(Dispatcher, Network_id)

        with nested(
                patch(
                    'org.o3project.odenos.core.util.network_interface.'
                    'NetworkInterface.get_flow',
                    return_value=flow_body1),
                patch('org.o3project.odenos.core.util.network_interface.'
                      'NetworkInterface.put_flow')) as (m_get_flow,
                                                        m_put_flow):

            self.target._on_flow_delete("NetworkId", flow_body2)

            self.assertEqual(m_get_flow.call_count, 1)
            m_get_flow.assert_any_call("FlowId1")
            self.assertEqual(m_put_flow.call_count, 0)
            self.assertEqual(flow_body1.status, "none")
示例#2
0
    def test_create_from_packed(self):
        Type = "BasicFlow"
        Version = "v02"
        Flow_id = "Id02"
        Owner = "Owner"
        Enabled = True
        Priority = "65535"
        Status = "none"
        Attributes = {
            "bandwidth": "20Mbps",
            "req_bandwidth": "11Mbps",
            "latency": "30msec",
            "req_latency": "11msec"
        }
        Publisher_id = 'Id1'
        Event_type = 'flowchanged'

        flow_target = Flow(Type, Version, Flow_id, Owner, Enabled, Priority,
                           Status, Attributes)
        value = [Publisher_id, Event_type, flow_target]
        self.result = self.target.create_from_packed(value)

        self.assertEqual(self.result.publisher_id, self.Publisher_id)
        self.assertEqual(self.result.event_type, self.Event_type)
        self.assertEqual(self.result.body, flow_target)
示例#3
0
class ResponseTest(unittest.TestCase):

    Type = "BasicFlow"
    Version = "v01"
    Flow_id = "Id01"
    Owner = "Owner"
    Enabled = True
    Priority = "65535"
    Status = "none"
    Attributes = {
        "bandwidth": "10Mbps",
        "req_bandwidth": "11Mbps",
        "latency": "10msec",
        "req_latency": "11msec"
    }
    Publisher_id = 'Id1'
    Event_type = 'flow'
    value = {
        "type": Type,
        "version": Version,
        "flow_id": Flow_id,
        "owner": Owner,
        "enabled": Enabled,
        "priority": Priority,
        "status": Status,
        "attributes": Attributes
    }
    Packed = [Response.StatusCode.OK, value]

    flow_target = Flow(Type, Version, Flow_id, Owner, Enabled, Priority,
                       Status, Attributes)

    flow_target_packed_object = flow_target.packed_object()

    def setUp(self):
        self.target = Response(Response.StatusCode.OK, self.flow_target)

    def tearDown(self):
        self.target = None

    def test_constructor_hasattr_True(self):
        self.assertEqual(self.target.status_code, Response.StatusCode.OK)
        self.assertEqual(self.target.body, self.value)

    def test_constructor_hasattr_Falseself(self):
        self.target2 = Response(Response.StatusCode.CREATED, self.value)
        self.assertEqual(self.target2.status_code, Response.StatusCode.CREATED)
        self.assertEqual(self.target2.body, self.value)

    def test_is_error_method_GET_status_code_OK(self):
        self.result = Response(Response.StatusCode.OK, self.flow_target)
        self.assertEqual(self.result.is_error("GET"), False)

    def test_is_error_method_GET_status_code_NotOK(self):
        self.result = Response(Response.StatusCode.CREATED, self.flow_target)
        self.assertEqual(self.result.is_error("GET"), True)

    def test_is_error_method_DELETE_status_code_OK(self):
        self.result = Response(Response.StatusCode.OK, self.flow_target)
        self.assertEqual(self.result.is_error("DELETE"), False)

    def test_is_error_method_DELETE_status_code_NotOK(self):
        self.result = Response(Response.StatusCode.CREATED, self.flow_target)
        self.assertEqual(self.result.is_error("DELETE"), True)

    def test_is_error_method_PUT_status_code_OK(self):
        self.result = Response(Response.StatusCode.OK, self.flow_target)
        self.assertEqual(self.result.is_error("PUT"), False)

    def test_is_error_method_PUT_status_code_CREATED(self):
        self.result = Response(Response.StatusCode.CREATED, self.flow_target)
        self.assertEqual(self.result.is_error("PUT"), False)

    def test_is_error_method_PUT_status_code_NotOKandCREATED(self):
        self.result = Response(Response.StatusCode.ACCEPTED, self.flow_target)
        self.assertEqual(self.result.is_error("PUT"), True)

    def test_is_error_method_other_status_code_OK(self):
        self.result = Response(Response.StatusCode.OK, self.flow_target)
        self.assertEqual(self.result.is_error("POST"), False)

    def test_is_error_method_other_status_code_CREATED(self):
        self.result = Response(Response.StatusCode.CREATED, self.flow_target)
        self.assertEqual(self.result.is_error("POST"), False)

    def test_is_error_method_other_status_code_NotOKandCREATED(self):
        self.result = Response(Response.StatusCode.ACCEPTED, self.flow_target)
        self.assertEqual(self.result.is_error("POST"), True)

    def test_create_from_packed(self):
        self.result = self.target.create_from_packed(self.Packed)
        self.assertEqual(self.result.status_code, Response.StatusCode.OK)
        self.assertEqual(self.result.body, self.value)

    def test_packed_object(self):
        self.result = self.target.packed_object()
        self.assertEqual(self.result, (Response.StatusCode.OK, self.value))
        self.assertEqual(len(self.result), 2)
示例#4
0
class EventTest(unittest.TestCase):

    Type = "BasicFlow"
    Version = "v01"
    Flow_id = "Id01"
    Owner = "Owner"
    Enabled = True
    Priority = "65535"
    Status = "none"
    Attributes = {
        "bandwidth": "10Mbps",
        "req_bandwidth": "11Mbps",
        "latency": "10msec",
        "req_latency": "11msec"
    }
    Publisher_id = 'Id1'
    Event_type = 'flowchanged'

    flow_target = Flow(Type, Version, Flow_id, Owner, Enabled, Priority,
                       Status, Attributes)

    flow_target_packed_object = flow_target.packed_object()

    def setUp(self):
        self.target = Event(self.Publisher_id, self.Event_type,
                            self.flow_target)

    def tearDown(self):
        self.target = None

    def test_constructor(self):
        self.assertEqual(self.target.publisher_id, self.Publisher_id)
        self.assertEqual(self.target.event_type, self.Event_type)
        self.assertEqual(self.target.body, self.flow_target)

    def test_create_from_packed(self):
        Type = "BasicFlow"
        Version = "v02"
        Flow_id = "Id02"
        Owner = "Owner"
        Enabled = True
        Priority = "65535"
        Status = "none"
        Attributes = {
            "bandwidth": "20Mbps",
            "req_bandwidth": "11Mbps",
            "latency": "30msec",
            "req_latency": "11msec"
        }
        Publisher_id = 'Id1'
        Event_type = 'flowchanged'

        flow_target = Flow(Type, Version, Flow_id, Owner, Enabled, Priority,
                           Status, Attributes)
        value = [Publisher_id, Event_type, flow_target]
        self.result = self.target.create_from_packed(value)

        self.assertEqual(self.result.publisher_id, self.Publisher_id)
        self.assertEqual(self.result.event_type, self.Event_type)
        self.assertEqual(self.result.body, flow_target)

    def test_packed_object_hasattr_True(self):
        self.result = self.target.packed_object()
        self.assertEqual(self.result[0], self.Publisher_id)
        self.assertEqual(self.result[1], self.Event_type)
        self.assertEqual(self.result[2], self.flow_target_packed_object)

    def test_packed_object_hasattr_False(self):
        self.newtarget = Event(self.Publisher_id, self.Event_type,
                               self.flow_target_packed_object)
        self.result = self.newtarget.packed_object()
        self.assertEqual(self.result[0], self.Publisher_id)
        self.assertEqual(self.result[1], self.Event_type)
        self.assertEqual(self.result[2], self.flow_target_packed_object)
示例#5
0
class RequestTest(unittest.TestCase):

    Type = "BasicFlow"
    Version = "v01"
    Flow_id = "Id01"
    Owner = "Owner"
    Enabled = True
    Priority = "65535"
    Status = "none"
    Attributes = {
        "bandwidth": "10Mbps",
        "req_bandwidth": "11Mbps",
        "latency": "10msec",
        "req_latency": "11msec"
    }
    Publisher_id = 'Id1'
    Event_type = 'flow'
    value = {
        "type": Type,
        "version": Version,
        "flow_id": Flow_id,
        "owner": Owner,
        "enabled": Enabled,
        "priority": Priority,
        "status": Status,
        "attributes": Attributes
    }
    Packed = ["FlowId2", Request.Method.GET, "flows/FlowId2", value]

    flow_target = Flow(Type, Version, Flow_id, Owner, Enabled, Priority,
                       Status, Attributes)

    flow_target_packed_object = flow_target.packed_object()

    def setUp(self):
        self.target = Request("FlowId1", Request.Method.GET, "flows/FlowId1",
                              self.flow_target)

    def tearDown(self):
        self.target = None

    def test_constructor_hasattr_True(self):
        self.assertEqual(self.target.object_id, "FlowId1")
        self.assertEqual(self.target.method, Request.Method.GET)
        self.assertEqual(self.target.path, "flows/FlowId1")
        self.assertEqual(self.target.body, self.value)

    def test_constructor_hasattr_False(self):
        self.target2 = Request("FlowId2", Request.Method.GET, "flows/FlowId2",
                               self.value)
        self.assertEqual(self.target2.object_id, "FlowId2")
        self.assertEqual(self.target2.method, Request.Method.GET)
        self.assertEqual(self.target2.path, "flows/FlowId2")
        self.assertEqual(self.target2.body, self.value)

    def test_create_from_packed(self):
        self.result = self.target.create_from_packed(self.Packed)
        self.assertEqual(self.result.object_id, "FlowId2")
        self.assertEqual(self.result.method, Request.Method.GET)
        self.assertEqual(self.result.path, "flows/FlowId2")
        self.assertEqual(self.result.body, self.value)

    def test_packed_object(self):
        self.result = self.target.packed_object()
        self.assertEqual(
            self.result,
            ("FlowId1", Request.Method.GET, "flows/FlowId1", self.value))
        self.assertEqual(len(self.result), 4)
示例#6
0
 def setUp(self):
     self.target = Flow(self.Type, self.Version, self.Flow_id, self.Owner,
                        self.Enabled, self.Priority, self.Status,
                        self.Attributes)