|
@@ -7,6 +7,8 @@ from .. import unittest
|
|
|
from compose.const import LABEL_SERVICE
|
|
|
from compose.container import Container
|
|
|
from compose.project import Project
|
|
|
+from compose.service import ContainerNet
|
|
|
+from compose.service import Net
|
|
|
from compose.service import Service
|
|
|
|
|
|
|
|
@@ -263,6 +265,32 @@ class ProjectTest(unittest.TestCase):
|
|
|
service = project.get_service('test')
|
|
|
self.assertEqual(service.net.mode, 'container:' + container_name)
|
|
|
|
|
|
+ def test_uses_default_network_true(self):
|
|
|
+ web = Service('web', project='test', image="alpine", net=Net('test'))
|
|
|
+ db = Service('web', project='test', image="alpine", net=Net('other'))
|
|
|
+ project = Project('test', [web, db], None)
|
|
|
+ assert project.uses_default_network()
|
|
|
+
|
|
|
+ def test_uses_default_network_custom_name(self):
|
|
|
+ web = Service('web', project='test', image="alpine", net=Net('other'))
|
|
|
+ project = Project('test', [web], None)
|
|
|
+ assert not project.uses_default_network()
|
|
|
+
|
|
|
+ def test_uses_default_network_host(self):
|
|
|
+ web = Service('web', project='test', image="alpine", net=Net('host'))
|
|
|
+ project = Project('test', [web], None)
|
|
|
+ assert not project.uses_default_network()
|
|
|
+
|
|
|
+ def test_uses_default_network_container(self):
|
|
|
+ container = mock.Mock(id='test')
|
|
|
+ web = Service(
|
|
|
+ 'web',
|
|
|
+ project='test',
|
|
|
+ image="alpine",
|
|
|
+ net=ContainerNet(container))
|
|
|
+ project = Project('test', [web], None)
|
|
|
+ assert not project.uses_default_network()
|
|
|
+
|
|
|
def test_container_without_name(self):
|
|
|
self.mock_client.containers.return_value = [
|
|
|
{'Image': 'busybox:latest', 'Id': '1', 'Name': '1'},
|