@@ -77,6 +77,110 @@ def test_get_request(self):
77
77
self .assertTrue (type (urllib3_span .stack ) is list )
78
78
self .assertTrue (len (urllib3_span .stack ) > 1 )
79
79
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
+
80
184
def test_put_request (self ):
81
185
with tracer .start_active_span ('test' ):
82
186
r = self .http .request ('PUT' , 'http://127.0.0.1:5000/notfound' )
0 commit comments