2020from  unittest .mock  import  Mock , patch 
2121
2222from  django  import  VERSION , conf 
23+ from  django .core .handlers .wsgi  import  WSGIRequest 
2324from  django .http  import  HttpRequest , HttpResponse 
2425from  django .test .client  import  Client 
2526from  django .test .utils  import  setup_test_environment , teardown_test_environment 
26- from  django .core .handlers .wsgi  import  WSGIRequest 
2727
2828from  opentelemetry  import  trace 
2929from  opentelemetry .instrumentation ._semconv  import  (
@@ -1025,12 +1025,17 @@ def _format_request_objects_in_headers(attributes):
10251025        for  key , value_list  in  list (attributes .items ()):
10261026            new_values  =  []
10271027            for  value  in  value_list :
1028-                 if  hasattr (value , '__class__' ):
1029-                     if  value .__class__ .__name__  in  ('HttpRequest' , 'WSGIRequest' ):
1028+                 if  hasattr (value , "__class__" ):
1029+                     if  value .__class__ .__name__  in  (
1030+                         "HttpRequest" ,
1031+                         "WSGIRequest" ,
1032+                     ):
10301033                        try :
1031-                             method  =  getattr (value , 'method' , 'UNKNOWN' )
1032-                             path  =  getattr (value , 'path' , 'UNKNOWN' )
1033-                             new_values .append (f"HttpRequest({ method }   { path }  )" )
1034+                             method  =  getattr (value , "method" , "UNKNOWN" )
1035+                             request_path  =  getattr (value , "path" , "UNKNOWN" )
1036+                             new_values .append (
1037+                                 f"HttpRequest({ method }   { request_path }  )" 
1038+                             )
10341039                        except  (AttributeError , ValueError , TypeError ):
10351040                            new_values .append ("HttpRequest(...)" )
10361041                    else :
@@ -1046,23 +1051,39 @@ def test_wsgi_request_in_header_is_properly_formatted(self):
10461051        mock_wsgi_request .path  =  "/test/path" 
10471052        mock_wsgi_request .__class__ .__name__  =  "WSGIRequest" 
10481053
1049-         input_attributes  =  {"http.request.header.test_wsgirequest_header" : [mock_wsgi_request ]}
1050-         expected_attributes  =  {"http.request.header.test_wsgirequest_header" : ["HttpRequest(GET /test/path)" ]}
1054+         input_attributes  =  {
1055+             "http.request.header.test_wsgirequest_header" : [mock_wsgi_request ]
1056+         }
1057+         expected_attributes  =  {
1058+             "http.request.header.test_wsgirequest_header" : [
1059+                 "HttpRequest(GET /test/path)" 
1060+             ]
1061+         }
10511062
1052-         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (input_attributes )
1063+         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (
1064+             input_attributes 
1065+         )
10531066
10541067        self .assertEqual (formatted_attributes , expected_attributes )
10551068
10561069    def  test_wsgi_request_handles_extraction_error (self ):
10571070        mock_wsgi_request  =  Mock (spec = WSGIRequest )
10581071        mock_wsgi_request .__class__ .__name__  =  "WSGIRequest" 
10591072
1060-         type(mock_wsgi_request ).method  =  property (lambda  self : (_  for  _  in  ()).throw (ValueError ("Test error" )))
1073+         type(mock_wsgi_request ).method  =  property (
1074+             lambda  self : (_  for  _  in  ()).throw (ValueError ("Test error" ))
1075+         )
10611076
1062-         input_attributes  =  {"http.request.header.test_wsgirequest_header" : [mock_wsgi_request ]}
1063-         expected_attributes  =  {"http.request.header.test_wsgirequest_header" : ["HttpRequest(...)" ]}
1077+         input_attributes  =  {
1078+             "http.request.header.test_wsgirequest_header" : [mock_wsgi_request ]
1079+         }
1080+         expected_attributes  =  {
1081+             "http.request.header.test_wsgirequest_header" : ["HttpRequest(...)" ]
1082+         }
10641083
1065-         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (input_attributes )
1084+         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (
1085+             input_attributes 
1086+         )
10661087
10671088        self .assertEqual (formatted_attributes , expected_attributes )
10681089
@@ -1072,10 +1093,18 @@ def test_handles_http_request_as_well(self):
10721093        mock_http_request .path  =  "/api/data" 
10731094        mock_http_request .__class__ .__name__  =  "HttpRequest" 
10741095
1075-         input_attributes  =  {"http.request.header.test_httprequest_header" : [mock_http_request ]}
1076-         expected_attributes  =  {"http.request.header.test_httprequest_header" : ["HttpRequest(POST /api/data)" ]}
1096+         input_attributes  =  {
1097+             "http.request.header.test_httprequest_header" : [mock_http_request ]
1098+         }
1099+         expected_attributes  =  {
1100+             "http.request.header.test_httprequest_header" : [
1101+                 "HttpRequest(POST /api/data)" 
1102+             ]
1103+         }
10771104
1078-         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (input_attributes )
1105+         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (
1106+             input_attributes 
1107+         )
10791108
10801109        self .assertEqual (formatted_attributes , expected_attributes )
10811110
@@ -1087,14 +1116,18 @@ def test_regular_header_values_are_preserved(self):
10871116
10881117        input_attributes  =  {
10891118            "http.request.header.test_wsgirequest_header" : [mock_wsgi_request ],
1090-             "http.request.header.test_regular_header" : ["regular-value" ]
1119+             "http.request.header.test_regular_header" : ["regular-value" ], 
10911120        }
10921121        expected_attributes  =  {
1093-             "http.request.header.test_wsgirequest_header" : ["HttpRequest(GET /test/path)" ],
1094-             "http.request.header.test_regular_header" : ["regular-value" ]
1122+             "http.request.header.test_wsgirequest_header" : [
1123+                 "HttpRequest(GET /test/path)" 
1124+             ],
1125+             "http.request.header.test_regular_header" : ["regular-value" ],
10951126        }
10961127
1097-         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (input_attributes )
1128+         formatted_attributes  =  TestMiddlewareWsgiWithCustomHeaders ._format_request_objects_in_headers (
1129+             input_attributes 
1130+         )
10981131
10991132        self .assertEqual (formatted_attributes , expected_attributes )
11001133
0 commit comments