def test_port_spec_throws_full_address_error(self): expanded_spec = {'apps': {'gcweb': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 80}]}, 'gcapi': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 81}]}}} with self.assertRaises(ReusedHostFullAddress): get_port_spec_document(expanded_spec, '192.168.5.10')
def test_port_spec_throws_stream_host_port(self): expanded_spec = {'apps': {'gcweb': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 80, 'type': 'stream'}]}, 'gcapi': {'host_forwarding':[{'host_name': 'local.api.com', 'host_port': 80, 'container_port': 81, 'type': 'stream'}]}}} with self.assertRaises(ReusedStreamHostPort): get_port_spec_document(expanded_spec, '192.168.5.10')
def test_port_spec_throws_full_address_error(self): expanded_spec = {'apps': {'gcweb': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 80, 'type': 'http'}]}, 'gcapi': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 81, 'type': 'http'}]}}} with self.assertRaises(ReusedHostFullAddress): get_port_spec_document(expanded_spec, '192.168.5.10')
def test_port_spec_throws_container_port(self): expanded_spec = {'apps': {'gcweb': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 80}, {'host_name': 'local.gc.com', 'host_port': 81, 'container_port': 80}]}, 'gcapi': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 82, 'container_port': 81}]}}} with self.assertRaises(ReusedContainerPort): get_port_spec_document(expanded_spec, '192.168.5.10')
def test_get_port_spec_document_2_apps(self): expanded_spec = {'apps': {'gcweb': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 80, 'type': 'http'}]}, 'gcapi': {'host_forwarding':[{'host_name': 'local.gcapi.com', 'host_port': 8000, 'container_port': 8001, 'type': 'http'}]}}} correct_port_spec = {'docker_compose':{'gcweb':[{'in_container_port': '80', 'mapped_host_port': '65001'}], 'gcapi':[{'in_container_port': '8001', 'mapped_host_port': '65000'}]}, 'nginx':[{'proxied_port': '65000', 'host_address': 'local.gcapi.com', 'host_port': '8000', 'type': 'http'}, {'proxied_port': '65001', 'host_address': 'local.gc.com', 'host_port': '80', 'type': 'http'}], 'hosts_file':[{'forwarded_ip': '192.168.5.10', 'host_address': 'local.gcapi.com'}, {'forwarded_ip': '192.168.5.10', 'host_address': 'local.gc.com'}]} self.assertEqual(get_port_spec_document(expanded_spec, '192.168.5.10'), correct_port_spec)
def test_app_with_multiple_host_forwardings(self): expanded_spec = {'apps': {'gcweb': {'host_forwarding':[{'host_name': 'local.gc.com', 'host_port': 80, 'container_port': 80}, {'host_name': 'local.gc.com', 'host_port': 81, 'container_port': 81}]}, 'gcapi': {'host_forwarding':[{'host_name': 'local.gcapi.com', 'host_port': 82, 'container_port': 82}]}}} correct_port_spec = {'docker_compose':{'gcweb':[{'in_container_port': '80', 'mapped_host_port': '65001'}, {'in_container_port': '81', 'mapped_host_port': '65002'}], 'gcapi':[{'in_container_port': '82', 'mapped_host_port': '65000'}]}, 'nginx':[{'proxied_port': '65000', 'boot2docker_ip': '192.168.5.10', 'host_address': 'local.gcapi.com', 'host_port': '82'}, {'proxied_port': '65001', 'boot2docker_ip': '192.168.5.10', 'host_address': 'local.gc.com', 'host_port': '80'}, {'proxied_port': '65002', 'boot2docker_ip': '192.168.5.10', 'host_address': 'local.gc.com', 'host_port': '81'}], 'hosts_file':[{'forwarded_ip': LOCALHOST, 'host_address': 'local.gcapi.com'}, {'forwarded_ip': LOCALHOST, 'host_address': 'local.gc.com'}]} self.assertEqual(get_port_spec_document(expanded_spec, '192.168.5.10'), correct_port_spec)