Files
2020-04-08 10:39:44 -07:00

53 lines
1.6 KiB
Python

from falcon import testing
from tests.test_tracer import get_dummy_tracer
from .app import get_app
class DistributedTracingTestCase(testing.TestCase):
"""Executes tests using the manual instrumentation so a middleware
is explicitly added.
"""
def setUp(self):
super(DistributedTracingTestCase, self).setUp()
self._service = 'falcon'
self.tracer = get_dummy_tracer()
self.api = get_app(tracer=self.tracer)
def test_distributred_tracing(self):
headers = {
'x-datadog-trace-id': '100',
'x-datadog-parent-id': '42',
}
out = self.simulate_get('/200', headers=headers)
assert out.status_code == 200
assert out.content.decode('utf-8') == 'Success'
traces = self.tracer.writer.pop_traces()
assert len(traces) == 1
assert len(traces[0]) == 1
assert traces[0][0].parent_id == 42
assert traces[0][0].trace_id == 100
def test_distributred_tracing_disabled(self):
self.tracer = get_dummy_tracer()
self.api = get_app(tracer=self.tracer, distributed_tracing=False)
headers = {
'x-datadog-trace-id': '100',
'x-datadog-parent-id': '42',
}
out = self.simulate_get('/200', headers=headers)
assert out.status_code == 200
assert out.content.decode('utf-8') == 'Success'
traces = self.tracer.writer.pop_traces()
assert len(traces) == 1
assert len(traces[0]) == 1
assert traces[0][0].parent_id != 42
assert traces[0][0].trace_id != 100