1212from urllib .error import HTTPError
1313from urllib .request import OpenerDirector
1414
15- import httpretty
15+ from mocket import Mocket , Mocketizer
16+ from mocket .mocks .mockhttp import Entry
1617
1718import opentelemetry .instrumentation .urllib # pylint: disable=no-name-in-module,import-error
1819from opentelemetry import trace
@@ -85,20 +86,21 @@ def setUp(self):
8586 self .exclude_patch .start ()
8687
8788 URLLibInstrumentor ().instrument ()
88- httpretty .enable ()
89- httpretty .register_uri (httpretty .GET , self .URL , body = b"Hello!" )
90- httpretty .register_uri (
91- httpretty .GET ,
89+ self .mocketizer = Mocketizer (strict_mode = True )
90+ self .mocketizer .enter ()
91+ Entry .single_register (Entry .GET , self .URL , body = b"Hello!" )
92+ Entry .single_register (
93+ Entry .GET ,
9294 self .URL_TIMEOUT ,
93- body = self . timeout_exception_callback ,
95+ exception = socket . timeout () ,
9496 )
95- httpretty . register_uri (
96- httpretty .GET ,
97+ Entry . single_register (
98+ Entry .GET ,
9799 self .URL_EXCEPTION ,
98- body = self . base_exception_callback ,
100+ exception = Exception ( "test" ), # pylint: disable=broad-exception-raised
99101 )
100- httpretty . register_uri (
101- httpretty .GET ,
102+ Entry . single_register (
103+ Entry .GET ,
102104 "http://mock/status/500" ,
103105 status = 500 ,
104106 )
@@ -107,15 +109,7 @@ def setUp(self):
107109 def tearDown (self ):
108110 super ().tearDown ()
109111 URLLibInstrumentor ().uninstrument ()
110- httpretty .disable ()
111-
112- @staticmethod
113- def timeout_exception_callback (* _ , ** __ ):
114- raise socket .timeout
115-
116- @staticmethod
117- def base_exception_callback (* _ , ** __ ):
118- raise Exception ("test" ) # pylint: disable=broad-exception-raised
112+ self .mocketizer .exit ()
119113
120114 def assert_span (self , exporter = None , num_spans = 1 ):
121115 if exporter is None :
@@ -214,8 +208,8 @@ def test_basic_both_semconv(self):
214208
215209 def test_excluded_urls_explicit (self ):
216210 url_201 = "http://mock/status/201"
217- httpretty . register_uri (
218- httpretty .GET ,
211+ Entry . single_register (
212+ Entry .GET ,
219213 url_201 ,
220214 status = 201 ,
221215 )
@@ -229,8 +223,8 @@ def test_excluded_urls_explicit(self):
229223
230224 def test_excluded_urls_from_env (self ):
231225 url = "http://localhost/env_excluded_arg/123"
232- httpretty . register_uri (
233- httpretty .GET ,
226+ Entry . single_register (
227+ Entry .GET ,
234228 url ,
235229 status = 200 ,
236230 )
@@ -244,8 +238,8 @@ def test_excluded_urls_from_env(self):
244238
245239 def test_not_foundbasic (self ):
246240 url_404 = "http://mock/status/404/"
247- httpretty . register_uri (
248- httpretty .GET ,
241+ Entry . single_register (
242+ Entry .GET ,
249243 url_404 ,
250244 status = 404 ,
251245 )
@@ -268,8 +262,8 @@ def test_not_foundbasic(self):
268262
269263 def test_not_foundbasic_new_semconv (self ):
270264 url_404 = "http://mock/status/404/"
271- httpretty . register_uri (
272- httpretty .GET ,
265+ Entry . single_register (
266+ Entry .GET ,
273267 url_404 ,
274268 status = 404 ,
275269 )
@@ -292,8 +286,8 @@ def test_not_foundbasic_new_semconv(self):
292286
293287 def test_not_foundbasic_both_semconv (self ):
294288 url_404 = "http://mock/status/404/"
295- httpretty . register_uri (
296- httpretty .GET ,
289+ Entry . single_register (
290+ Entry .GET ,
297291 url_404 ,
298292 status = 404 ,
299293 )
@@ -410,7 +404,7 @@ def test_distributed_context(self):
410404
411405 span = self .assert_span ()
412406
413- headers_ = dict (httpretty .last_request ().headers )
407+ headers_ = dict (Mocket .last_request ().headers )
414408 headers = {}
415409 for k , v in headers_ .items ():
416410 headers [k .lower ()] = v
@@ -510,6 +504,8 @@ def test_requests_timeout_exception(self, *_, **__):
510504 def test_remove_sensitive_params (self ):
511505 url = "http://username:password@mock/status/200"
512506
507+ Mocket .reset ()
508+ Entry .single_register (Entry .GET , url , exception = Exception ("test" ))
513509 with self .assertRaises (Exception ):
514510 self .perform_request (url )
515511
@@ -558,9 +554,12 @@ def test_custom_response_headers_captured(self):
558554 "X-Custom-Header" : "custom-value" ,
559555 "X-Another-Header" : "another-value" ,
560556 }
561- url = "http://mock//capture_headers"
562- httpretty .register_uri (
563- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
557+ url = "http://mock/capture_headers"
558+ Entry .single_register (
559+ Entry .GET ,
560+ url ,
561+ body = "Hello!" ,
562+ headers = response_headers ,
564563 )
565564 self .perform_request (url )
566565
@@ -613,9 +612,12 @@ def test_sensitive_headers_sanitized(self):
613612 "Set-Cookie" : "session=abc123" ,
614613 "X-Secret" : "secret" ,
615614 }
616- url = "http://mock//capture_headers"
617- httpretty .register_uri (
618- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
615+ url = "http://mock/capture_headers"
616+ Entry .single_register (
617+ Entry .GET ,
618+ url ,
619+ body = "Hello!" ,
620+ headers = response_headers ,
619621 )
620622 self .perform_request (
621623 url ,
@@ -656,9 +658,12 @@ def test_custom_headers_with_regex(self):
656658 "X-Custom-Response-B" : "value-B" ,
657659 "X-Other-Response-Header" : "other-value" ,
658660 }
659- url = "http://mock//capture_headers"
660- httpretty .register_uri (
661- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
661+ url = "http://mock/capture_headers"
662+ Entry .single_register (
663+ Entry .GET ,
664+ url ,
665+ body = "Hello!" ,
666+ headers = response_headers ,
662667 )
663668 self .perform_request (
664669 url ,
@@ -702,9 +707,12 @@ def test_custom_headers_case_insensitive(self):
702707 )
703708
704709 response_headers = {"X-ReSPoNse-HeaDER" : "custom-value" }
705- url = "http://mock//capture_headers"
706- httpretty .register_uri (
707- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
710+ url = "http://mock/capture_headers"
711+ Entry .single_register (
712+ Entry .GET ,
713+ url ,
714+ body = "Hello!" ,
715+ headers = response_headers ,
708716 )
709717 self .perform_request (
710718 url ,
@@ -733,9 +741,12 @@ def test_standard_http_headers_captured(self):
733741 "Content-Type" : "text/plain" ,
734742 "Server" : "TestServer/1.0" ,
735743 }
736- url = "http://mock//capture_headers"
737- httpretty .register_uri (
738- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
744+ url = "http://mock/capture_headers"
745+ Entry .single_register (
746+ Entry .GET ,
747+ url ,
748+ body = "Hello!" ,
749+ headers = response_headers ,
739750 )
740751 self .perform_request (
741752 url ,
@@ -801,9 +812,12 @@ def test_capture_all_response_headers(self):
801812 "X-Response-Two" : "value2" ,
802813 "X-Response-Three" : "value3" ,
803814 }
804- url = "http://mock//capture_headers"
805- httpretty .register_uri (
806- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
815+ url = "http://mock/capture_headers"
816+ Entry .single_register (
817+ Entry .GET ,
818+ url ,
819+ body = "Hello!" ,
820+ headers = response_headers ,
807821 )
808822 self .perform_request (url )
809823
@@ -863,9 +877,12 @@ def test_capture_and_sanitize_environment_variables(self):
863877 "X-Response-One" : "value1" ,
864878 "X-Response-Two" : "value2" ,
865879 }
866- url = "http://mock//capture_headers"
867- httpretty .register_uri (
868- httpretty .GET , url , body = "Hello!" , adding_headers = response_headers
880+ url = "http://mock/capture_headers"
881+ Entry .single_register (
882+ Entry .GET ,
883+ url ,
884+ body = "Hello!" ,
885+ headers = response_headers ,
869886 )
870887 self .perform_request (
871888 url , headers = [("x-request-one" , "one" ), ("x-request-two" , "two" )]
0 commit comments