Ejemplo n.º 1
0
    def test__build_sample(self):
        e = RPCRequestEndpointUnit()

        heads = {
            "conv-id": sentinel.conv_id,
            "ts": "1",
            "op": "remove_femur",
            "sender": sentinel.sender,
            "receiver": sentinel.receiver,
        }
        resp_heads = {"sender-service": "theservice"}

        samp = e._build_sample(sentinel.name, 200, "Ok", "msg", heads, "response", resp_heads)

        self.assertEquals(
            samp,
            {
                "app_name": sentinel.name,
                "op": "theservice.remove_femur",
                "attrs": {"conv-id": sentinel.conv_id, "service": "theservice"},
                "status_descr": "Ok",
                "status": "0",
                "req_bytes": len("msg"),
                "resp_bytes": len("response"),
                "uS": 999000,  # it's in microseconds!
                "initiator": sentinel.sender,
                "target": sentinel.receiver,
            },
        )
Ejemplo n.º 2
0
    def test__sample_request(self):
        e = RPCRequestEndpointUnit()

        e._get_sflow_manager = Mock(return_value=Mock(spec=SFlowManager))
        e._get_sflow_manager.return_value.should_sample = True
        e._build_sample = Mock(return_value={"test": sentinel.test})

        e._sample_request(
            sentinel.status,
            sentinel.status_descr,
            sentinel.msg,
            sentinel.headers,
            sentinel.response,
            sentinel.response_headers,
        )

        e._get_sflow_manager.assert_called_once_with()
        e._build_sample.assert_called_once_with(
            ANY,
            sentinel.status,
            sentinel.status_descr,
            sentinel.msg,
            sentinel.headers,
            sentinel.response,
            sentinel.response_headers,
        )

        e._get_sflow_manager.return_value.transaction.assert_called_once_with(test=sentinel.test)
Ejemplo n.º 3
0
    def test__build_sample(self):
        e = RPCRequestEndpointUnit()

        heads = {
            'conv-id': sentinel.conv_id,
            'ts': '1',
            'op': 'remove_femur',
            'sender': sentinel.sender,
            'receiver': sentinel.receiver
        }
        resp_heads = {'sender-service': 'theservice'}

        samp = e._build_sample(sentinel.name, 200, "Ok", "msg", heads,
                               "response", resp_heads)

        self.assertEquals(
            samp,
            {
                'app_name': sentinel.name,
                'op': 'theservice.remove_femur',
                'attrs': {
                    'conv-id': sentinel.conv_id,
                    'service': 'theservice'
                },
                'status_descr': "Ok",
                'status': '0',
                'req_bytes': len('msg'),
                'resp_bytes': len('response'),
                'uS': 999000,  # it's in microseconds!
                'initiator': sentinel.sender,
                'target': sentinel.receiver
            })
Ejemplo n.º 4
0
    def test__sample_request_exception(self, mocklog):

        e = RPCRequestEndpointUnit()

        e._get_sflow_manager = Mock(return_value=Mock(spec=SFlowManager))
        e._get_sflow_manager.return_value.should_sample = True
        e._build_sample = Mock(side_effect=TestError)

        e._sample_request(sentinel.status, sentinel.status_descr, sentinel.msg, sentinel.headers, sentinel.response, sentinel.response_headers)

        mocklog.exception.assert_called_once_with("Could not sample, ignoring")
Ejemplo n.º 5
0
    def test__sample_request_exception(self, mocklog):

        e = RPCRequestEndpointUnit(interceptors={})

        e._get_sflow_manager = Mock(return_value=Mock(spec=SFlowManager))
        e._get_sflow_manager.return_value.should_sample = True
        e._build_sample = Mock(side_effect=TestError)

        e._sample_request(sentinel.status, sentinel.status_descr, sentinel.msg, sentinel.headers, sentinel.response, sentinel.response_headers)

        mocklog.exception.assert_called_once_with("Could not sample, ignoring")
Ejemplo n.º 6
0
    def test__sample_request(self):
        e = RPCRequestEndpointUnit()

        e._get_sflow_manager = Mock(return_value=Mock(spec=SFlowManager))
        e._get_sflow_manager.return_value.should_sample = True
        e._build_sample = Mock(return_value={'test':sentinel.test})

        e._sample_request(sentinel.status, sentinel.status_descr, sentinel.msg, sentinel.headers, sentinel.response, sentinel.response_headers)

        e._get_sflow_manager.assert_called_once_with()
        e._build_sample.assert_called_once_with(ANY, sentinel.status, sentinel.status_descr, sentinel.msg, sentinel.headers, sentinel.response, sentinel.response_headers)

        e._get_sflow_manager.return_value.transaction.assert_called_once_with(test=sentinel.test)
Ejemplo n.º 7
0
    def test__build_sample_uses_last_name_for_op(self):
        e = RPCRequestEndpointUnit()

        heads = {'conv-id': sentinel.conv_id,
                 'ts': '1',
                 'op': 'remove_femur',
                 'sender': sentinel.sender,
                 'receiver': sentinel.receiver}
        resp_heads = {'sender-service': 'service1,service2,service3'}

        samp = e._build_sample(sentinel.name, 200, "Ok", "msg", heads, "response", resp_heads)

        self.assertIn('op', samp)
        self.assertEquals(samp['op'], 'service3.remove_femur')
Ejemplo n.º 8
0
    def test__build_sample_uses_last_name_for_op(self):
        e = RPCRequestEndpointUnit(interceptors={})

        heads = {'conv-id': sentinel.conv_id,
                 'ts': '1',
                 'op': 'remove_femur',
                 'sender': sentinel.sender,
                 'receiver': sentinel.receiver}
        resp_heads = {'sender-service': 'service1,service2,service3'}

        samp = e._build_sample(sentinel.name, 200, "Ok", "msg", heads, "response", resp_heads)

        self.assertIn('op', samp)
        self.assertEquals(samp['op'], 'service3.remove_femur')
Ejemplo n.º 9
0
    def test__build_sample_uses_last_name_for_op(self):
        e = RPCRequestEndpointUnit()

        heads = {
            "conv-id": sentinel.conv_id,
            "ts": "1",
            "op": "remove_femur",
            "sender": sentinel.sender,
            "receiver": sentinel.receiver,
        }
        resp_heads = {"sender-service": "service1,service2,service3"}

        samp = e._build_sample(sentinel.name, 200, "Ok", "msg", heads, "response", resp_heads)

        self.assertIn("op", samp)
        self.assertEquals(samp["op"], "service3.remove_femur")
Ejemplo n.º 10
0
    def test__build_sample(self):
        e = RPCRequestEndpointUnit(interceptors={})

        heads = {'conv-id': sentinel.conv_id,
                 'ts': '1',
                 'op': 'remove_femur',
                 'sender': sentinel.sender,
                 'receiver': sentinel.receiver}
        resp_heads = {'sender-service': 'theservice'}

        samp = e._build_sample(sentinel.name, 200, "Ok", "msg", heads, "response", resp_heads)

        self.assertEquals(samp, {
            'app_name' : sentinel.name,
            'op' : 'theservice.remove_femur',
            'attrs' : {'conv-id': sentinel.conv_id, 'service': 'theservice'},
            'status_descr' : "Ok",
            'status' : '0',
            'req_bytes' : len('msg'),
            'resp_bytes': len('response'),
            'uS' : 999000, # it's in microseconds!
            'initiator' : sentinel.sender,
            'target' : sentinel.receiver
        })