mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-29 21:23:55 +08:00
33 lines
813 B
Python
33 lines
813 B
Python
import contextlib
|
|
import os
|
|
|
|
from ddtrace.ext import http
|
|
|
|
|
|
def assert_span_http_status_code(span, code):
|
|
"""Assert on the span's 'http.status_code' tag"""
|
|
tag = span.get_tag(http.STATUS_CODE)
|
|
code = str(code)
|
|
assert tag == code, "%r != %r" % (tag, code)
|
|
|
|
|
|
@contextlib.contextmanager
|
|
def override_env(env):
|
|
"""
|
|
Temporarily override ``os.environ`` with provided values::
|
|
|
|
>>> with self.override_env(dict(DATADOG_TRACE_DEBUG=True)):
|
|
# Your test
|
|
"""
|
|
# Copy the full original environment
|
|
original = dict(os.environ)
|
|
|
|
# Update based on the passed in arguments
|
|
os.environ.update(env)
|
|
try:
|
|
yield
|
|
finally:
|
|
# Full clear the environment out and reset back to the original
|
|
os.environ.clear()
|
|
os.environ.update(original)
|