@@ -589,6 +589,60 @@ def test_requestspkg_get(self):
589589 self .assertTrue (type (urllib3_span .stack ) is list )
590590 self .assertTrue (len (urllib3_span .stack ) > 1 )
591591
592+ def test_requestspkg_get_with_custom_headers (self ):
593+ my_custom_headers = dict ()
594+ my_custom_headers ['X-PGL-1' ] = '1'
595+
596+ with tracer .start_active_span ('test' ):
597+ r = requests .get (testenv ["wsgi_server" ] + '/' , timeout = 2 , headers = my_custom_headers )
598+
599+ spans = self .recorder .queued_spans ()
600+ self .assertEqual (3 , len (spans ))
601+
602+ wsgi_span = spans [0 ]
603+ urllib3_span = spans [1 ]
604+ test_span = spans [2 ]
605+
606+ assert (r )
607+ self .assertEqual (200 , r .status_code )
608+ self .assertIsNone (tracer .active_span )
609+
610+ # Same traceId
611+ self .assertEqual (test_span .t , urllib3_span .t )
612+ self .assertEqual (urllib3_span .t , wsgi_span .t )
613+
614+ # Parent relationships
615+ self .assertEqual (urllib3_span .p , test_span .s )
616+ self .assertEqual (wsgi_span .p , urllib3_span .s )
617+
618+ # Error logging
619+ self .assertFalse (test_span .error )
620+ self .assertIsNone (test_span .ec )
621+ self .assertFalse (urllib3_span .error )
622+ self .assertIsNone (urllib3_span .ec )
623+ self .assertFalse (wsgi_span .error )
624+ self .assertIsNone (wsgi_span .ec )
625+
626+ # wsgi
627+ self .assertEqual ("wsgi" , wsgi_span .n )
628+ self .assertEqual ('127.0.0.1:' + str (testenv ["wsgi_port" ]), wsgi_span .data .http .host )
629+ self .assertEqual ('/' , wsgi_span .data .http .url )
630+ self .assertEqual ('GET' , wsgi_span .data .http .method )
631+ self .assertEqual (200 , wsgi_span .data .http .status )
632+ self .assertIsNone (wsgi_span .data .http .error )
633+ self .assertIsNotNone (wsgi_span .stack )
634+ self .assertEqual (2 , len (wsgi_span .stack ))
635+
636+ # urllib3
637+ self .assertEqual ("test" , test_span .data .sdk .name )
638+ self .assertEqual ("urllib3" , urllib3_span .n )
639+ self .assertEqual (200 , urllib3_span .data .http .status )
640+ self .assertEqual (testenv ["wsgi_server" ] + "/" , urllib3_span .data .http .url )
641+ self .assertEqual ("GET" , urllib3_span .data .http .method )
642+ self .assertIsNotNone (urllib3_span .stack )
643+ self .assertTrue (type (urllib3_span .stack ) is list )
644+ self .assertTrue (len (urllib3_span .stack ) > 1 )
645+
592646 def test_requestspkg_put (self ):
593647 with tracer .start_active_span ('test' ):
594648 r = requests .put (testenv ["wsgi_server" ] + '/notfound' )
0 commit comments