@@ -47,20 +47,30 @@ def test_websocket_client(self):
47
47
self .assertEqual (get_websocket_url (url ), ws_url )
48
48
49
49
def test_websocket_proxycare (self ):
50
- for proxy , idpass , expect_host , expect_port , expect_auth in [
51
- ( None , None , None , None , None ),
52
- ( 'http://proxy.example.com:8080/' , None , 'proxy.example.com' , 8080 , None ),
53
- ( 'http://proxy.example.com:8080/' , 'user:pass' , 'proxy.example.com' , 8080 , ('user' ,'pass' ))
50
+ for proxy , idpass , no_proxy , expect_host , expect_port , expect_auth , expect_noproxy in [
51
+ ( None , None , None , None , None , None , None ),
52
+ ( 'http://proxy.example.com:8080/' , None , None , 'proxy.example.com' , 8080 , None , None ),
53
+ ( 'http://proxy.example.com:8080/' , 'user:pass' , None , 'proxy.example.com' , 8080 , ('user' ,'pass' ), None ),
54
+ ( 'http://proxy.example.com:8080/' , 'user:pass' , '' , 'proxy.example.com' , 8080 , ('user' ,'pass' ), None ),
55
+ ( 'http://proxy.example.com:8080/' , 'user:pass' , '*' , 'proxy.example.com' , 8080 , ('user' ,'pass' ), ['*' ]),
56
+ ( 'http://proxy.example.com:8080/' , 'user:pass' , '.example.com' , 'proxy.example.com' , 8080 , ('user' ,'pass' ), ['.example.com' ]),
57
+ ( 'http://proxy.example.com:8080/' , 'user:pass' , 'localhost,.local,.example.com' , 'proxy.example.com' , 8080 , ('user' ,'pass' ), ['localhost' ,'.local' ,'.example.com' ]),
54
58
]:
59
+ # setup input
55
60
config = Configuration ()
56
61
if proxy is not None :
57
62
setattr (config , 'proxy' , proxy )
58
63
if idpass is not None :
59
64
setattr (config , 'proxy_headers' , urllib3 .util .make_headers (proxy_basic_auth = idpass ))
65
+ if no_proxy is not None :
66
+ setattr (config , 'no_proxy' , no_proxy )
67
+ # setup done
68
+ # test starts
60
69
connect_opt = websocket_proxycare ( {}, config , None , None )
61
70
self .assertEqual ( dictval (connect_opt ,'http_proxy_host' ), expect_host )
62
71
self .assertEqual ( dictval (connect_opt ,'http_proxy_port' ), expect_port )
63
72
self .assertEqual ( dictval (connect_opt ,'http_proxy_auth' ), expect_auth )
73
+ self .assertEqual ( dictval (connect_opt ,'http_no_proxy' ), expect_noproxy )
64
74
65
75
if __name__ == '__main__' :
66
76
unittest .main ()
0 commit comments