@@ -139,3 +139,69 @@ def test_500(self):
139139 eq_ (s .get_tag (http .METHOD ), 'GET' )
140140 eq_ (s .get_tag (http .STATUS_CODE ), '500' )
141141 eq_ (s .error , 1 )
142+
143+ def test_default_service_name (self ):
144+ # ensure a default service name is set
145+ out = self .session .get (URL_200 )
146+ eq_ (out .status_code , 200 )
147+
148+ spans = self .tracer .writer .pop ()
149+ eq_ (len (spans ), 1 )
150+ s = spans [0 ]
151+
152+ eq_ (s .service , 'requests' )
153+
154+ def test_user_set_service_name (self ):
155+ # ensure a service name set by the user has precedence
156+ self .session .service_name = 'clients'
157+ out = self .session .get (URL_200 )
158+ eq_ (out .status_code , 200 )
159+
160+ spans = self .tracer .writer .pop ()
161+ eq_ (len (spans ), 1 )
162+ s = spans [0 ]
163+
164+ eq_ (s .service , 'clients' )
165+
166+ def test_parent_service_name_precedence (self ):
167+ # ensure the parent service name has precedence if the value
168+ # is not set by the user
169+ with self .tracer .trace ('parent.span' , service = 'web' ):
170+ out = self .session .get (URL_200 )
171+ eq_ (out .status_code , 200 )
172+
173+ spans = self .tracer .writer .pop ()
174+ eq_ (len (spans ), 2 )
175+ s = spans [1 ]
176+
177+ eq_ (s .name , 'requests.request' )
178+ eq_ (s .service , 'web' )
179+
180+ def test_parent_without_service_name (self ):
181+ # ensure the default value is used if the parent
182+ # doesn't have a service
183+ with self .tracer .trace ('parent.span' ):
184+ out = self .session .get (URL_200 )
185+ eq_ (out .status_code , 200 )
186+
187+ spans = self .tracer .writer .pop ()
188+ eq_ (len (spans ), 2 )
189+ s = spans [1 ]
190+
191+ eq_ (s .name , 'requests.request' )
192+ eq_ (s .service , 'requests' )
193+
194+ def test_user_service_name_precedence (self ):
195+ # ensure the user service name takes precedence over
196+ # the parent Span
197+ with self .tracer .trace ('parent.span' , service = 'web' ):
198+ self .session .service_name = 'clients'
199+ out = self .session .get (URL_200 )
200+ eq_ (out .status_code , 200 )
201+
202+ spans = self .tracer .writer .pop ()
203+ eq_ (len (spans ), 2 )
204+ s = spans [1 ]
205+
206+ eq_ (s .name , 'requests.request' )
207+ eq_ (s .service , 'clients' )
0 commit comments