mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-31 22:23:12 +08:00
refactor common test code to use utility method (#700)
This commit is contained in:
@ -34,12 +34,7 @@ from opentelemetry.sdk.trace import Span
|
||||
from opentelemetry.semconv.trace import SpanAttributes
|
||||
from opentelemetry.test.test_base import TestBase
|
||||
from opentelemetry.test.wsgitestutil import WsgiTestBase
|
||||
from opentelemetry.trace import (
|
||||
SpanKind,
|
||||
StatusCode,
|
||||
format_span_id,
|
||||
format_trace_id,
|
||||
)
|
||||
from opentelemetry.trace import SpanKind, StatusCode
|
||||
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
|
||||
|
||||
# pylint: disable=import-error
|
||||
@ -345,15 +340,8 @@ class TestMiddleware(TestBase, WsgiTestBase):
|
||||
set_global_response_propagator(TraceResponsePropagator())
|
||||
|
||||
response = Client().get("/span_name/1234/")
|
||||
span = self.memory_exporter.get_finished_spans()[0]
|
||||
|
||||
self.assertIn("traceresponse", response.headers)
|
||||
self.assertEqual(
|
||||
response.headers["Access-Control-Expose-Headers"], "traceresponse",
|
||||
)
|
||||
self.assertEqual(
|
||||
response.headers["traceresponse"],
|
||||
f"00-{format_trace_id(span.get_span_context().trace_id)}-{format_span_id(span.get_span_context().span_id)}-01",
|
||||
self.assertTraceResponseHeaderMatchesSpan(
|
||||
response.headers, self.memory_exporter.get_finished_spans()[0]
|
||||
)
|
||||
self.memory_exporter.clear()
|
||||
|
||||
|
@ -291,7 +291,6 @@ class _TraceMiddleware:
|
||||
reason = "NotFound"
|
||||
else:
|
||||
status = "500"
|
||||
reason = "{}: {}".format(exc_type.__name__, exc)
|
||||
reason = f"{exc_type.__name__}: {exc}"
|
||||
|
||||
status = status.split(" ")[0]
|
||||
|
@ -25,7 +25,8 @@ from opentelemetry.instrumentation.propagators import (
|
||||
from opentelemetry.sdk.resources import Resource
|
||||
from opentelemetry.semconv.trace import SpanAttributes
|
||||
from opentelemetry.test.test_base import TestBase
|
||||
from opentelemetry.trace import StatusCode, format_span_id, format_trace_id
|
||||
from opentelemetry.test.wsgitestutil import WsgiTestBase
|
||||
from opentelemetry.trace import StatusCode
|
||||
|
||||
from .app import make_app
|
||||
|
||||
@ -58,7 +59,7 @@ class TestFalconBase(TestBase):
|
||||
self.env_patch.stop()
|
||||
|
||||
|
||||
class TestFalconInstrumentation(TestFalconBase):
|
||||
class TestFalconInstrumentation(TestFalconBase, WsgiTestBase):
|
||||
def test_get(self):
|
||||
self._test_method("GET")
|
||||
|
||||
@ -198,16 +199,8 @@ class TestFalconInstrumentation(TestFalconBase):
|
||||
set_global_response_propagator(TraceResponsePropagator())
|
||||
|
||||
response = self.client().simulate_get(path="/hello?q=abc")
|
||||
headers = response.headers
|
||||
span = self.memory_exporter.get_finished_spans()[0]
|
||||
|
||||
self.assertIn("traceresponse", headers)
|
||||
self.assertEqual(
|
||||
headers["access-control-expose-headers"], "traceresponse",
|
||||
)
|
||||
self.assertEqual(
|
||||
headers["traceresponse"],
|
||||
f"00-{format_trace_id(span.get_span_context().trace_id)}-{format_span_id(span.get_span_context().span_id)}-01",
|
||||
self.assertTraceResponseHeaderMatchesSpan(
|
||||
response.headers, self.memory_exporter.get_finished_spans()[0]
|
||||
)
|
||||
|
||||
set_global_response_propagator(orig)
|
||||
|
@ -153,19 +153,11 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
||||
|
||||
set_global_response_propagator(TraceResponsePropagator())
|
||||
response = self.client.get("/hello/123")
|
||||
headers = response.headers
|
||||
|
||||
span_list = self.memory_exporter.get_finished_spans()
|
||||
self.assertEqual(len(span_list), 1)
|
||||
span = span_list[0]
|
||||
|
||||
self.assertIn("traceresponse", headers)
|
||||
self.assertEqual(
|
||||
headers["access-control-expose-headers"], "traceresponse",
|
||||
)
|
||||
self.assertEqual(
|
||||
headers["traceresponse"],
|
||||
f"00-{trace.format_trace_id(span.get_span_context().trace_id)}-{trace.format_span_id(span.get_span_context().span_id)}-01",
|
||||
self.assertTraceResponseHeaderMatchesSpan(
|
||||
response.headers, span_list[0],
|
||||
)
|
||||
|
||||
set_global_response_propagator(orig)
|
||||
|
@ -112,16 +112,8 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
||||
set_global_response_propagator(TraceResponsePropagator())
|
||||
|
||||
response = self.client.get("/hello/500")
|
||||
headers = response.headers
|
||||
span = self.memory_exporter.get_finished_spans()[0]
|
||||
|
||||
self.assertIn("traceresponse", headers)
|
||||
self.assertEqual(
|
||||
headers["access-control-expose-headers"], "traceresponse",
|
||||
)
|
||||
self.assertEqual(
|
||||
headers["traceresponse"],
|
||||
f"00-{trace.format_trace_id(span.get_span_context().trace_id)}-{trace.format_span_id(span.get_span_context().span_id)}-01",
|
||||
self.assertTraceResponseHeaderMatchesSpan(
|
||||
response.headers, self.memory_exporter.get_finished_spans()[0]
|
||||
)
|
||||
|
||||
set_global_response_propagator(orig)
|
||||
|
@ -30,6 +30,7 @@ from opentelemetry.instrumentation.tornado import (
|
||||
)
|
||||
from opentelemetry.semconv.trace import SpanAttributes
|
||||
from opentelemetry.test.test_base import TestBase
|
||||
from opentelemetry.test.wsgitestutil import WsgiTestBase
|
||||
from opentelemetry.trace import SpanKind
|
||||
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
|
||||
|
||||
@ -110,7 +111,7 @@ class TestTornadoInstrumentor(TornadoTest):
|
||||
unpatch_handler_class(AsyncHandler)
|
||||
|
||||
|
||||
class TestTornadoInstrumentation(TornadoTest):
|
||||
class TestTornadoInstrumentation(TornadoTest, WsgiTestBase):
|
||||
def test_http_calls(self):
|
||||
methods = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]
|
||||
for method in methods:
|
||||
@ -446,20 +447,10 @@ class TestTornadoInstrumentation(TornadoTest):
|
||||
set_global_response_propagator(TraceResponsePropagator())
|
||||
|
||||
response = self.fetch("/")
|
||||
headers = response.headers
|
||||
|
||||
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
|
||||
self.assertEqual(len(spans), 3)
|
||||
server_span = spans[1]
|
||||
|
||||
self.assertIn("traceresponse", headers)
|
||||
self.assertEqual(
|
||||
headers["access-control-expose-headers"], "traceresponse",
|
||||
)
|
||||
self.assertEqual(
|
||||
headers["traceresponse"],
|
||||
f"00-{trace.format_trace_id(server_span.get_span_context().trace_id)}-{trace.format_span_id(server_span.get_span_context().span_id)}-01",
|
||||
)
|
||||
self.assertTraceResponseHeaderMatchesSpan(response.headers, spans[1])
|
||||
|
||||
self.memory_exporter.clear()
|
||||
set_global_response_propagator(orig)
|
||||
|
Reference in New Issue
Block a user