@@ -77,6 +77,110 @@ def test_get_request(self):
7777 self .assertTrue (type (urllib3_span .stack ) is list )
7878 self .assertTrue (len (urllib3_span .stack ) > 1 )
7979
80+ def test_get_request_with_query (self ):
81+ with tracer .start_active_span ('test' ):
82+ r = self .http .request ('GET' , 'http://127.0.0.1:5000/?one=1&two=2' )
83+
84+ spans = self .recorder .queued_spans ()
85+ self .assertEqual (3 , len (spans ))
86+
87+ wsgi_span = spans [0 ]
88+ urllib3_span = spans [1 ]
89+ test_span = spans [2 ]
90+
91+ assert (r )
92+ self .assertEqual (200 , r .status )
93+ self .assertIsNone (tracer .active_span )
94+
95+ # Same traceId
96+ self .assertEqual (test_span .t , urllib3_span .t )
97+ self .assertEqual (urllib3_span .t , wsgi_span .t )
98+
99+ # Parent relationships
100+ self .assertEqual (urllib3_span .p , test_span .s )
101+ self .assertEqual (wsgi_span .p , urllib3_span .s )
102+
103+ # Error logging
104+ self .assertFalse (test_span .error )
105+ self .assertIsNone (test_span .ec )
106+ self .assertFalse (urllib3_span .error )
107+ self .assertIsNone (urllib3_span .ec )
108+ self .assertFalse (wsgi_span .error )
109+ self .assertIsNone (wsgi_span .ec )
110+
111+ # wsgi
112+ self .assertEqual ("wsgi" , wsgi_span .n )
113+ self .assertEqual ('127.0.0.1:5000' , wsgi_span .data .http .host )
114+ self .assertEqual ('/' , wsgi_span .data .http .url )
115+ self .assertEqual ('GET' , wsgi_span .data .http .method )
116+ self .assertEqual ('200' , wsgi_span .data .http .status )
117+ self .assertIsNone (wsgi_span .data .http .error )
118+ self .assertIsNotNone (wsgi_span .stack )
119+ self .assertEqual (2 , len (wsgi_span .stack ))
120+
121+ # urllib3
122+ self .assertEqual ("test" , test_span .data .sdk .name )
123+ self .assertEqual ("urllib3" , urllib3_span .n )
124+ self .assertEqual (200 , urllib3_span .data .http .status )
125+ self .assertEqual ("http://127.0.0.1:5000/" , urllib3_span .data .http .url )
126+ self .assertTrue (urllib3_span .data .http .params in ["one=1&two=2" , "two=2&one=1" ] )
127+ self .assertEqual ("GET" , urllib3_span .data .http .method )
128+ self .assertIsNotNone (urllib3_span .stack )
129+ self .assertTrue (type (urllib3_span .stack ) is list )
130+ self .assertTrue (len (urllib3_span .stack ) > 1 )
131+
132+ def test_get_request_with_alt_query (self ):
133+ with tracer .start_active_span ('test' ):
134+ r = self .http .request ('GET' , 'http://127.0.0.1:5000/' , fields = {'one' : '1' , 'two' : 2 })
135+
136+ spans = self .recorder .queued_spans ()
137+ self .assertEqual (3 , len (spans ))
138+
139+ wsgi_span = spans [0 ]
140+ urllib3_span = spans [1 ]
141+ test_span = spans [2 ]
142+
143+ assert (r )
144+ self .assertEqual (200 , r .status )
145+ self .assertIsNone (tracer .active_span )
146+
147+ # Same traceId
148+ self .assertEqual (test_span .t , urllib3_span .t )
149+ self .assertEqual (urllib3_span .t , wsgi_span .t )
150+
151+ # Parent relationships
152+ self .assertEqual (urllib3_span .p , test_span .s )
153+ self .assertEqual (wsgi_span .p , urllib3_span .s )
154+
155+ # Error logging
156+ self .assertFalse (test_span .error )
157+ self .assertIsNone (test_span .ec )
158+ self .assertFalse (urllib3_span .error )
159+ self .assertIsNone (urllib3_span .ec )
160+ self .assertFalse (wsgi_span .error )
161+ self .assertIsNone (wsgi_span .ec )
162+
163+ # wsgi
164+ self .assertEqual ("wsgi" , wsgi_span .n )
165+ self .assertEqual ('127.0.0.1:5000' , wsgi_span .data .http .host )
166+ self .assertEqual ('/' , wsgi_span .data .http .url )
167+ self .assertEqual ('GET' , wsgi_span .data .http .method )
168+ self .assertEqual ('200' , wsgi_span .data .http .status )
169+ self .assertIsNone (wsgi_span .data .http .error )
170+ self .assertIsNotNone (wsgi_span .stack )
171+ self .assertEqual (2 , len (wsgi_span .stack ))
172+
173+ # urllib3
174+ self .assertEqual ("test" , test_span .data .sdk .name )
175+ self .assertEqual ("urllib3" , urllib3_span .n )
176+ self .assertEqual (200 , urllib3_span .data .http .status )
177+ self .assertEqual ("http://127.0.0.1:5000/" , urllib3_span .data .http .url )
178+ self .assertTrue (urllib3_span .data .http .params in ["one=1&two=2" , "two=2&one=1" ] )
179+ self .assertEqual ("GET" , urllib3_span .data .http .method )
180+ self .assertIsNotNone (urllib3_span .stack )
181+ self .assertTrue (type (urllib3_span .stack ) is list )
182+ self .assertTrue (len (urllib3_span .stack ) > 1 )
183+
80184 def test_put_request (self ):
81185 with tracer .start_active_span ('test' ):
82186 r = self .http .request ('PUT' , 'http://127.0.0.1:5000/notfound' )
0 commit comments