Merge pull request #1659 from viranch/hostip-random-port
Allow scaling services that have port binding of the form `host_ip::container_port`
This commit is contained in:
commit
5d60fbe31e
2 changed files with 83 additions and 3 deletions
|
|
@ -437,6 +437,68 @@ class ServiceTest(unittest.TestCase):
|
|||
}
|
||||
self.assertEqual(config_dict, expected)
|
||||
|
||||
def test_specifies_host_port_with_no_ports(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo')
|
||||
self.assertEqual(service.specifies_host_port(), False)
|
||||
|
||||
def test_specifies_host_port_with_container_port(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["2000"])
|
||||
self.assertEqual(service.specifies_host_port(), False)
|
||||
|
||||
def test_specifies_host_port_with_host_port(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["1000:2000"])
|
||||
self.assertEqual(service.specifies_host_port(), True)
|
||||
|
||||
def test_specifies_host_port_with_host_ip_no_port(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["127.0.0.1::2000"])
|
||||
self.assertEqual(service.specifies_host_port(), False)
|
||||
|
||||
def test_specifies_host_port_with_host_ip_and_port(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["127.0.0.1:1000:2000"])
|
||||
self.assertEqual(service.specifies_host_port(), True)
|
||||
|
||||
def test_specifies_host_port_with_container_port_range(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["2000-3000"])
|
||||
self.assertEqual(service.specifies_host_port(), False)
|
||||
|
||||
def test_specifies_host_port_with_host_port_range(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["1000-2000:2000-3000"])
|
||||
self.assertEqual(service.specifies_host_port(), True)
|
||||
|
||||
def test_specifies_host_port_with_host_ip_no_port_range(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["127.0.0.1::2000-3000"])
|
||||
self.assertEqual(service.specifies_host_port(), False)
|
||||
|
||||
def test_specifies_host_port_with_host_ip_and_port_range(self):
|
||||
service = Service(
|
||||
'foo',
|
||||
image='foo',
|
||||
ports=["127.0.0.1:1000-2000:2000-3000"])
|
||||
self.assertEqual(service.specifies_host_port(), True)
|
||||
|
||||
|
||||
class NetTestCase(unittest.TestCase):
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue