@@ -230,7 +230,7 @@ def test_basic_post_request_metric_success(self):
230230 dict (point .attributes ), expected_duration_attributes
231231 )
232232 if metric .name == "http.server.duration" :
233- self .assertAlmostEqual (duration , point .sum , delta = 30 )
233+ self .assertAlmostEqual (duration , point .sum , delta = 350 )
234234 elif metric .name == "http.server.response.size" :
235235 self .assertEqual (response_size , point .sum )
236236 elif metric .name == "http.server.request.size" :
@@ -667,17 +667,22 @@ async def _(websocket: WebSocket) -> None:
667667
668668
669669class 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 ()
679680 super ().setUp ()
680681
682+ def tearDown (self ):
683+ self .test_env_patch .stop ()
684+ super ().tearDown ()
685+
681686 def test_custom_request_headers_in_span_attributes (self ):
682687 expected = {
683688 "http.request.header.custom_test_header_1" : (
@@ -793,17 +798,22 @@ def test_custom_response_headers_not_in_span_attributes(self):
793798
794799
795800class 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 ()
805811 super ().setUp ()
806812
813+ def tearDown (self ):
814+ self .test_env_patch .stop ()
815+ super ().tearDown ()
816+
807817 def test_custom_request_headers_in_span_attributes (self ):
808818 expected = {
809819 "http.request.header.custom_test_header_1" : (
@@ -918,23 +928,29 @@ def test_custom_response_headers_not_in_span_attributes(self):
918928 self .assertNotIn (key , server_span .attributes )
919929
920930
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- )
929931class TestNonRecordingSpanWithCustomHeaders (TestBaseWithCustomHeaders ):
930932 def setUp (self ):
931933 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+
932944 reset_trace_globals ()
933945 set_tracer_provider (tracer_provider = NoOpTracerProvider ())
934946
935947 self ._app = self .create_app ()
936948 self ._client = TestClient (self ._app )
937949
950+ def tearDown (self ):
951+ self .test_env_patch .stop ()
952+ super ().tearDown ()
953+
938954 def test_custom_header_not_present_in_non_recording_span (self ):
939955 resp = self ._client .get (
940956 "/foobar" ,
0 commit comments