@@ -38,23 +38,35 @@ def test_config_validation(self):
3838 self .assertRaises (ConfigError , lambda : Service (name = 'foo' , port = ['8000' ]))
3939 Service (name = 'foo' , ports = ['8000' ])
4040
41- def test_split_port (self ):
41+ def test_split_port_with_host_ip (self ):
4242 internal_port , external_port = split_port ("127.0.0.1:1000:2000" )
4343 self .assertEqual (internal_port , "2000" )
4444 self .assertEqual (external_port , ("127.0.0.1" , "1000" ))
4545
46+ def test_split_port_with_protocol (self ):
4647 internal_port , external_port = split_port ("127.0.0.1:1000:2000/udp" )
4748 self .assertEqual (internal_port , "2000/udp" )
4849 self .assertEqual (external_port , ("127.0.0.1" , "1000" ))
4950
51+ def test_split_port_with_host_ip_no_port (self ):
5052 internal_port , external_port = split_port ("127.0.0.1::2000" )
5153 self .assertEqual (internal_port , "2000" )
52- self .assertEqual (external_port , ("127.0.0.1" ,))
54+ self .assertEqual (external_port , ("127.0.0.1" , None ))
5355
56+ def test_split_port_with_host_port (self ):
5457 internal_port , external_port = split_port ("1000:2000" )
5558 self .assertEqual (internal_port , "2000" )
5659 self .assertEqual (external_port , "1000" )
5760
61+ def test_split_port_no_host_port (self ):
62+ internal_port , external_port = split_port ("2000" )
63+ self .assertEqual (internal_port , "2000" )
64+ self .assertEqual (external_port , None )
65+
66+ def test_split_port_invalid (self ):
67+ with self .assertRaises (ConfigError ):
68+ split_port ("0.0.0.0:1000:2000:tcp" )
69+
5870 def test_split_domainname_none (self ):
5971 service = Service ('foo' ,
6072 hostname = 'name' ,
0 commit comments