Esempio n. 1
0
    def setUp(self):
        self.tracer = trace_api.DefaultTracer()
        self.span = MockSpan()
        self.start_current_span_patcher = mock.patch.object(
            self.tracer,
            "start_as_current_span",
            autospec=True,
            spec_set=True,
            return_value=self.span,
        )

        self.start_as_current_span = self.start_current_span_patcher.start()
Esempio n. 2
0
    def setUp(self):
        self.span_attrs = {}
        self.tracer_source = trace.DefaultTracerSource()
        self.tracer = trace.DefaultTracer()
        self.get_tracer_patcher = mock.patch.object(
            self.tracer_source,
            "get_tracer",
            autospec=True,
            spec_set=True,
            return_value=self.tracer,
        )
        self.get_tracer = self.get_tracer_patcher.start()
        self.span_context_manager = mock.MagicMock()
        self.span = mock.create_autospec(trace.Span, spec_set=True)
        self.span_context_manager.__enter__.return_value = self.span

        def setspanattr(key, value):
            self.assertIsInstance(key, str)
            self.span_attrs[key] = value

        self.span.set_attribute = setspanattr
        self.start_span_patcher = mock.patch.object(
            self.tracer,
            "start_as_current_span",
            autospec=True,
            spec_set=True,
            return_value=self.span_context_manager,
        )

        mocked_response = requests.models.Response()
        mocked_response.status_code = 200
        mocked_response.reason = "Roger that!"
        self.send_patcher = mock.patch.object(
            requests.Session,
            "send",
            autospec=True,
            spec_set=True,
            return_value=mocked_response,
        )

        self.start_as_current_span = self.start_span_patcher.start()
        self.send = self.send_patcher.start()

        opentelemetry.ext.http_requests.enable(self.tracer_source)
        distver = pkg_resources.get_distribution(
            "opentelemetry-ext-http-requests"
        ).version
        self.get_tracer.assert_called_with(
            opentelemetry.ext.http_requests.__name__, distver
        )
    def test_trace_integration(self):
        tracer = trace_api.DefaultTracer()
        span = mock.create_autospec(trace_api.Span, spec_set=True)
        start_current_span_patcher = mock.patch.object(
            tracer,
            "start_as_current_span",
            autospec=True,
            spec_set=True,
            return_value=span,
        )
        start_as_current_span = start_current_span_patcher.start()

        with mock.patch("mysql.connector.connect") as mock_connect:
            mock_connect.get.side_effect = mysql.connector.MySQLConnection()
            trace_integration(tracer)
            cnx = mysql.connector.connect(database="test")
            cursor = cnx.cursor()
            query = "SELECT * FROM test"
            cursor.execute(query)
            self.assertTrue(start_as_current_span.called)
Esempio n. 4
0
 def setUp(self):
     self.tracer = trace.DefaultTracer()
 def get_tracer(
     self,
     instrumenting_module_name: str,
     instrumenting_library_version: str = "",
 ) -> "trace.Tracer":
     return trace.DefaultTracer()
Esempio n. 6
0
 def test_trace_integration(self):
     tracer = trace_api.DefaultTracer()
     with mock.patch("psycopg2.connect"):
         trace_integration(tracer)
         cnx = psycopg2.connect(database="test")
         self.assertIsNotNone(cnx.cursor_factory)