refactor common test code to use utility method (#700)
This commit is contained in:
parent
3ebfdb1a54
commit
face2a3272
|
|
@ -34,12 +34,7 @@ from opentelemetry.sdk.trace import Span
|
||||||
from opentelemetry.semconv.trace import SpanAttributes
|
from opentelemetry.semconv.trace import SpanAttributes
|
||||||
from opentelemetry.test.test_base import TestBase
|
from opentelemetry.test.test_base import TestBase
|
||||||
from opentelemetry.test.wsgitestutil import WsgiTestBase
|
from opentelemetry.test.wsgitestutil import WsgiTestBase
|
||||||
from opentelemetry.trace import (
|
from opentelemetry.trace import SpanKind, StatusCode
|
||||||
SpanKind,
|
|
||||||
StatusCode,
|
|
||||||
format_span_id,
|
|
||||||
format_trace_id,
|
|
||||||
)
|
|
||||||
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
|
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
|
||||||
|
|
||||||
# pylint: disable=import-error
|
# pylint: disable=import-error
|
||||||
|
|
@ -345,15 +340,8 @@ class TestMiddleware(TestBase, WsgiTestBase):
|
||||||
set_global_response_propagator(TraceResponsePropagator())
|
set_global_response_propagator(TraceResponsePropagator())
|
||||||
|
|
||||||
response = Client().get("/span_name/1234/")
|
response = Client().get("/span_name/1234/")
|
||||||
span = self.memory_exporter.get_finished_spans()[0]
|
self.assertTraceResponseHeaderMatchesSpan(
|
||||||
|
response.headers, 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.memory_exporter.clear()
|
self.memory_exporter.clear()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,6 @@ class _TraceMiddleware:
|
||||||
reason = "NotFound"
|
reason = "NotFound"
|
||||||
else:
|
else:
|
||||||
status = "500"
|
status = "500"
|
||||||
reason = "{}: {}".format(exc_type.__name__, exc)
|
|
||||||
reason = f"{exc_type.__name__}: {exc}"
|
reason = f"{exc_type.__name__}: {exc}"
|
||||||
|
|
||||||
status = status.split(" ")[0]
|
status = status.split(" ")[0]
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,8 @@ from opentelemetry.instrumentation.propagators import (
|
||||||
from opentelemetry.sdk.resources import Resource
|
from opentelemetry.sdk.resources import Resource
|
||||||
from opentelemetry.semconv.trace import SpanAttributes
|
from opentelemetry.semconv.trace import SpanAttributes
|
||||||
from opentelemetry.test.test_base import TestBase
|
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
|
from .app import make_app
|
||||||
|
|
||||||
|
|
@ -58,7 +59,7 @@ class TestFalconBase(TestBase):
|
||||||
self.env_patch.stop()
|
self.env_patch.stop()
|
||||||
|
|
||||||
|
|
||||||
class TestFalconInstrumentation(TestFalconBase):
|
class TestFalconInstrumentation(TestFalconBase, WsgiTestBase):
|
||||||
def test_get(self):
|
def test_get(self):
|
||||||
self._test_method("GET")
|
self._test_method("GET")
|
||||||
|
|
||||||
|
|
@ -198,16 +199,8 @@ class TestFalconInstrumentation(TestFalconBase):
|
||||||
set_global_response_propagator(TraceResponsePropagator())
|
set_global_response_propagator(TraceResponsePropagator())
|
||||||
|
|
||||||
response = self.client().simulate_get(path="/hello?q=abc")
|
response = self.client().simulate_get(path="/hello?q=abc")
|
||||||
headers = response.headers
|
self.assertTraceResponseHeaderMatchesSpan(
|
||||||
span = self.memory_exporter.get_finished_spans()[0]
|
response.headers, 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",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set_global_response_propagator(orig)
|
set_global_response_propagator(orig)
|
||||||
|
|
|
||||||
|
|
@ -153,19 +153,11 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
||||||
|
|
||||||
set_global_response_propagator(TraceResponsePropagator())
|
set_global_response_propagator(TraceResponsePropagator())
|
||||||
response = self.client.get("/hello/123")
|
response = self.client.get("/hello/123")
|
||||||
headers = response.headers
|
|
||||||
|
|
||||||
span_list = self.memory_exporter.get_finished_spans()
|
span_list = self.memory_exporter.get_finished_spans()
|
||||||
self.assertEqual(len(span_list), 1)
|
self.assertEqual(len(span_list), 1)
|
||||||
span = span_list[0]
|
|
||||||
|
|
||||||
self.assertIn("traceresponse", headers)
|
self.assertTraceResponseHeaderMatchesSpan(
|
||||||
self.assertEqual(
|
response.headers, span_list[0],
|
||||||
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",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set_global_response_propagator(orig)
|
set_global_response_propagator(orig)
|
||||||
|
|
|
||||||
|
|
@ -112,16 +112,8 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
||||||
set_global_response_propagator(TraceResponsePropagator())
|
set_global_response_propagator(TraceResponsePropagator())
|
||||||
|
|
||||||
response = self.client.get("/hello/500")
|
response = self.client.get("/hello/500")
|
||||||
headers = response.headers
|
self.assertTraceResponseHeaderMatchesSpan(
|
||||||
span = self.memory_exporter.get_finished_spans()[0]
|
response.headers, 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",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set_global_response_propagator(orig)
|
set_global_response_propagator(orig)
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ from opentelemetry.instrumentation.tornado import (
|
||||||
)
|
)
|
||||||
from opentelemetry.semconv.trace import SpanAttributes
|
from opentelemetry.semconv.trace import SpanAttributes
|
||||||
from opentelemetry.test.test_base import TestBase
|
from opentelemetry.test.test_base import TestBase
|
||||||
|
from opentelemetry.test.wsgitestutil import WsgiTestBase
|
||||||
from opentelemetry.trace import SpanKind
|
from opentelemetry.trace import SpanKind
|
||||||
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
|
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
|
||||||
|
|
||||||
|
|
@ -110,7 +111,7 @@ class TestTornadoInstrumentor(TornadoTest):
|
||||||
unpatch_handler_class(AsyncHandler)
|
unpatch_handler_class(AsyncHandler)
|
||||||
|
|
||||||
|
|
||||||
class TestTornadoInstrumentation(TornadoTest):
|
class TestTornadoInstrumentation(TornadoTest, WsgiTestBase):
|
||||||
def test_http_calls(self):
|
def test_http_calls(self):
|
||||||
methods = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]
|
methods = ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]
|
||||||
for method in methods:
|
for method in methods:
|
||||||
|
|
@ -446,20 +447,10 @@ class TestTornadoInstrumentation(TornadoTest):
|
||||||
set_global_response_propagator(TraceResponsePropagator())
|
set_global_response_propagator(TraceResponsePropagator())
|
||||||
|
|
||||||
response = self.fetch("/")
|
response = self.fetch("/")
|
||||||
headers = response.headers
|
|
||||||
|
|
||||||
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
|
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
|
||||||
self.assertEqual(len(spans), 3)
|
self.assertEqual(len(spans), 3)
|
||||||
server_span = spans[1]
|
self.assertTraceResponseHeaderMatchesSpan(response.headers, 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.memory_exporter.clear()
|
self.memory_exporter.clear()
|
||||||
set_global_response_propagator(orig)
|
set_global_response_propagator(orig)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue