فهرست منبع

Test that you can set the default network to be external

Signed-off-by: Aanand Prasad <[email protected]>
Aanand Prasad 9 سال پیش
والد
کامیت
746033ed9d
2فایلهای تغییر یافته به همراه35 افزوده شده و 0 حذف شده
  1. 23 0
      tests/acceptance/cli_test.py
  2. 12 0
      tests/fixtures/networks/external-default.yml

+ 23 - 0
tests/acceptance/cli_test.py

@@ -528,6 +528,29 @@ class CLITestCase(DockerClientTestCase):
         container = self.project.containers()[0]
         assert sorted(list(container.get('NetworkSettings.Networks'))) == sorted(network_names)
 
+    @v2_only()
+    def test_up_with_external_default_network(self):
+        filename = 'external-default.yml'
+
+        self.base_dir = 'tests/fixtures/networks'
+        self._project = get_project(self.base_dir, [filename])
+
+        result = self.dispatch(['-f', filename, 'up', '-d'], returncode=1)
+        assert 'declared as external, but could not be found' in result.stderr
+
+        networks = [
+            n['Name'] for n in self.client.networks()
+            if n['Name'].startswith('{}_'.format(self.project.name))
+        ]
+        assert not networks
+
+        network_name = 'composetest_external_network'
+        self.client.create_network(network_name)
+
+        self.dispatch(['-f', filename, 'up', '-d'])
+        container = self.project.containers()[0]
+        assert list(container.get('NetworkSettings.Networks')) == [network_name]
+
     @v2_only()
     def test_up_no_services(self):
         self.base_dir = 'tests/fixtures/no-services'

+ 12 - 0
tests/fixtures/networks/external-default.yml

@@ -0,0 +1,12 @@
+version: 2
+services:
+  simple:
+    image: busybox:latest
+    command: top
+  another:
+    image: busybox:latest
+    command: top
+networks:
+  default:
+    external:
+      name: composetest_external_network