예제 #1
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)
예제 #2
0
    def test__get_sflow_manager_with_container(self):
        Container.instance = None
        c = Container()     # ensure an instance
        e = RPCRequestEndpointUnit()
        self.assertEquals(e._get_sflow_manager(), c.sflow_manager)

        Container.instance = None
예제 #3
0
    def test__get_sflow_manager_with_container(self):
        Container.instance = None
        c = Container()  # ensure an instance
        e = RPCRequestEndpointUnit()
        self.assertEquals(e._get_sflow_manager(), c.sflow_manager)

        Container.instance = None
예제 #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")
예제 #5
0
    def test__sample_request_no_sample(self, mocklog):
        e = RPCRequestEndpointUnit()

        e._get_sflow_manager = Mock(return_value=Mock(spec=SFlowManager))
        e._get_sflow_manager.return_value.should_sample = False
        e._get_sample_name = Mock()

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

        self.assertEquals(mocklog.debug.call_count, 1)
        self.assertIn("not to sample", mocklog.debug.call_args[0][0])
예제 #6
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")
예제 #7
0
    def test__sample_request_no_sample(self, mocklog):
        e = RPCRequestEndpointUnit(interceptors={})

        e._get_sflow_manager = Mock(return_value=Mock(spec=SFlowManager))
        e._get_sflow_manager.return_value.should_sample = False
        e._get_sample_name = Mock()

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

        self.assertEquals(mocklog.debug.call_count, 1)
        self.assertIn("not to sample", mocklog.debug.call_args[0][0])
예제 #8
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)
예제 #9
0
 def test__get_sflow_manager(self):
     Container.instance = None
     e = RPCRequestEndpointUnit()
     self.assertIsNone(e._get_sflow_manager())
예제 #10
0
 def test__get_sflow_manager(self):
     Container.instance = None
     e = RPCRequestEndpointUnit()
     self.assertIsNone(e._get_sflow_manager())