@@ -47,20 +47,30 @@ def test_websocket_client(self):
4747 self .assertEqual (get_websocket_url (url ), ws_url )
4848
4949 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' ]),
5458 ]:
59+ # setup input
5560 config = Configuration ()
5661 if proxy is not None :
5762 setattr (config , 'proxy' , proxy )
5863 if idpass is not None :
5964 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
6069 connect_opt = websocket_proxycare ( {}, config , None , None )
6170 self .assertEqual ( dictval (connect_opt ,'http_proxy_host' ), expect_host )
6271 self .assertEqual ( dictval (connect_opt ,'http_proxy_port' ), expect_port )
6372 self .assertEqual ( dictval (connect_opt ,'http_proxy_auth' ), expect_auth )
73+ self .assertEqual ( dictval (connect_opt ,'http_no_proxy' ), expect_noproxy )
6474
6575if __name__ == '__main__' :
6676 unittest .main ()
0 commit comments