@@ -230,7 +230,7 @@ def test_basic_post_request_metric_success(self):
230
230
dict (point .attributes ), expected_duration_attributes
231
231
)
232
232
if metric .name == "http.server.duration" :
233
- self .assertAlmostEqual (duration , point .sum , delta = 30 )
233
+ self .assertAlmostEqual (duration , point .sum , delta = 350 )
234
234
elif metric .name == "http.server.response.size" :
235
235
self .assertEqual (response_size , point .sum )
236
236
elif metric .name == "http.server.request.size" :
@@ -667,17 +667,22 @@ async def _(websocket: WebSocket) -> None:
667
667
668
668
669
669
class TestHTTPAppWithCustomHeaders (TestBaseWithCustomHeaders ):
670
- @patch .dict (
671
- "os.environ" ,
672
- {
673
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS : ".*my-secret.*" ,
674
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*" ,
675
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*" ,
676
- },
677
- )
678
- def setUp (self ) -> None :
670
+ def setUp (self ):
671
+ self .test_env_patch = patch .dict (
672
+ "os.environ" ,
673
+ {
674
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS : ".*my-secret.*" ,
675
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*" ,
676
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*" ,
677
+ },
678
+ )
679
+ self .test_env_patch .start ()
679
680
super ().setUp ()
680
681
682
+ def tearDown (self ):
683
+ self .test_env_patch .stop ()
684
+ super ().tearDown ()
685
+
681
686
def test_custom_request_headers_in_span_attributes (self ):
682
687
expected = {
683
688
"http.request.header.custom_test_header_1" : (
@@ -793,17 +798,22 @@ def test_custom_response_headers_not_in_span_attributes(self):
793
798
794
799
795
800
class TestWebSocketAppWithCustomHeaders (TestBaseWithCustomHeaders ):
796
- @patch .dict (
797
- "os.environ" ,
798
- {
799
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS : ".*my-secret.*" ,
800
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*" ,
801
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*" ,
802
- },
803
- )
804
- def setUp (self ) -> None :
801
+ def setUp (self ):
802
+ self .test_env_patch = patch .dict (
803
+ "os.environ" ,
804
+ {
805
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS : ".*my-secret.*" ,
806
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*" ,
807
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*" ,
808
+ },
809
+ )
810
+ self .test_env_patch .start ()
805
811
super ().setUp ()
806
812
813
+ def tearDown (self ):
814
+ self .test_env_patch .stop ()
815
+ super ().tearDown ()
816
+
807
817
def test_custom_request_headers_in_span_attributes (self ):
808
818
expected = {
809
819
"http.request.header.custom_test_header_1" : (
@@ -918,23 +928,29 @@ def test_custom_response_headers_not_in_span_attributes(self):
918
928
self .assertNotIn (key , server_span .attributes )
919
929
920
930
921
- @patch .dict (
922
- "os.environ" ,
923
- {
924
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS : ".*my-secret.*" ,
925
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*" ,
926
- OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*" ,
927
- },
928
- )
929
931
class TestNonRecordingSpanWithCustomHeaders (TestBaseWithCustomHeaders ):
930
932
def setUp (self ):
931
933
super ().setUp ()
934
+ self .test_env_patch = patch .dict (
935
+ "os.environ" ,
936
+ {
937
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS : ".*my-secret.*" ,
938
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,Regex-Test-Header-.*,Regex-Invalid-Test-Header-.*,.*my-secret.*" ,
939
+ OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE : "Custom-Test-Header-1,Custom-Test-Header-2,Custom-Test-Header-3,my-custom-regex-header-.*,invalid-regex-header-.*,.*my-secret.*" ,
940
+ },
941
+ )
942
+ self .test_env_patch .start ()
943
+
932
944
reset_trace_globals ()
933
945
set_tracer_provider (tracer_provider = NoOpTracerProvider ())
934
946
935
947
self ._app = self .create_app ()
936
948
self ._client = TestClient (self ._app )
937
949
950
+ def tearDown (self ):
951
+ self .test_env_patch .stop ()
952
+ super ().tearDown ()
953
+
938
954
def test_custom_header_not_present_in_non_recording_span (self ):
939
955
resp = self ._client .get (
940
956
"/foobar" ,
0 commit comments