refactor common test code to use utility method (#700)

This commit is contained in:
alrex
2021-10-14 15:19:02 -07:00
committed by GitHub
parent 3ebfdb1a54
commit face2a3272
6 changed files with 15 additions and 60 deletions

View File

@ -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()

View File

@ -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]

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)