def test_default_tracer(self): tracer_provider = trace.DefaultTracerProvider() tracer = tracer_provider.get_tracer(__name__) with tracer.start_span("test") as span: self.assertEqual(span.get_context(), trace.INVALID_SPAN_CONTEXT) self.assertEqual(span, trace.INVALID_SPAN) self.assertIs(span.is_recording(), False) with tracer.start_span("test2") as span2: self.assertEqual(span2.get_context(), trace.INVALID_SPAN_CONTEXT) self.assertEqual(span2, trace.INVALID_SPAN) self.assertIs(span2.is_recording(), False)
def setUp(self): self.span_attrs = {} self.tracer_provider = trace.DefaultTracerProvider() self.tracer = trace.DefaultTracer() self.get_tracer_patcher = mock.patch.object( self.tracer_provider, "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.get_context.return_value = trace.INVALID_SPAN_CONTEXT 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_provider) distver = pkg_resources.get_distribution( "opentelemetry-ext-http-requests").version self.get_tracer.assert_called_with( opentelemetry.ext.http_requests.__name__, distver)