@@ -13,33 +13,36 @@ def session_auth_proxy(session_target_sat):
1313@pytest .fixture
1414def setup_http_proxy (request , module_org , target_sat ):
1515 """Create a new HTTP proxy and set related settings based on proxy"""
16- content_proxy = target_sat .api .Setting ().search (
17- query = {'search' : 'name=content_default_http_proxy' }
18- )[0 ]
19- content_proxy_value = '' if content_proxy .value is None else content_proxy .value
20- general_proxy = target_sat .api .Setting ().search (query = {'search' : 'name=http_proxy' })[0 ]
21- general_proxy_value = '' if general_proxy .value is None else general_proxy .value
16+ proxy_settings = ['content_default_http_proxy' , 'http_proxy' ]
17+ saved_proxies = list (
18+ map (
19+ lambda x : target_sat .api .Setting ().search (query = {'search' : f'name={ x } ' })[0 ],
20+ proxy_settings ,
21+ )
22+ )
2223
2324 http_proxy = target_sat .api_factory .make_http_proxy (module_org , request .param )
24- content_proxy = target_sat .api .Setting ().search (
25- query = {'search' : 'name=content_default_http_proxy' }
26- )[0 ]
27- assert content_proxy .value == (http_proxy .name if request .param is not None else '' )
2825
29- if request .param is not None :
30- general_proxy = (
31- f'http://{ settings .http_proxy .username } :{ settings .http_proxy .password } @{ http_proxy .url [7 :]} '
26+ if request .param is None :
27+ target_sat .update_setting ('content_default_http_proxy' , '' )
28+ target_sat .update_setting ('http_proxy' , '' )
29+ else :
30+ content_proxy_setting = target_sat .api .Setting ().search (
31+ query = {'search' : 'name=content_default_http_proxy' }
32+ )[0 ]
33+ assert content_proxy_setting .value == http_proxy .name
34+ protocol , hostname_port = http_proxy .url .split ('://' )
35+ general_proxy_url = (
36+ f'{ protocol } ://{ settings .http_proxy .username } :{ settings .http_proxy .password } @{ hostname_port } '
3237 if request .param
3338 else http_proxy .url
3439 )
35- target_sat .update_setting ('http_proxy' , general_proxy )
36- else :
37- target_sat .update_setting ('content_default_http_proxy' , '' )
38- target_sat .update_setting ('http_proxy' , '' )
40+ target_sat .update_setting ('http_proxy' , general_proxy_url )
3941
4042 yield http_proxy , request .param
41- target_sat .update_setting ('content_default_http_proxy' , content_proxy_value )
42- target_sat .update_setting ('http_proxy' , general_proxy_value )
43+
44+ for setting in proxy_settings :
45+ target_sat .update_setting (setting , saved_proxies .pop (0 ).value )
4346 if http_proxy :
4447 http_proxy .delete ()
4548
0 commit comments