summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2016-12-06 16:58:07 -0800
committerJoffrey F <joffrey@docker.com>2016-12-07 14:51:14 -0800
commit738cfdcdf96e7ff56f6bb3a4966e337187ba51c4 (patch)
tree4394765fe0ad73e657f44d739c57f8cf09b60ec5 /tests
parentb71f34e948bdf986660989f3e8a052db7bb1335c (diff)
downloaddocker-py-dnephin-add-attachable.tar.gz
Update code and tests for Engine 1.13 compatibilitydnephin-add-attachable
Makefile now runs tests against Docker 1.13 RC Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/helpers.py2
-rw-r--r--tests/integration/api_network_test.py16
-rw-r--r--tests/integration/api_service_test.py22
-rw-r--r--tests/integration/models_images_test.py4
-rw-r--r--tests/integration/models_services_test.py10
-rw-r--r--tests/integration/models_swarm_test.py7
-rw-r--r--tests/unit/api_network_test.py4
7 files changed, 42 insertions, 23 deletions
diff --git a/tests/helpers.py b/tests/helpers.py
index 1d24577..53cf57a 100644
--- a/tests/helpers.py
+++ b/tests/helpers.py
@@ -73,4 +73,4 @@ def force_leave_swarm(client):
if e.explanation == "context deadline exceeded":
continue
else:
- raise
+ return
diff --git a/tests/integration/api_network_test.py b/tests/integration/api_network_test.py
index e5a3801..2c297a0 100644
--- a/tests/integration/api_network_test.py
+++ b/tests/integration/api_network_test.py
@@ -20,12 +20,10 @@ class TestNetworks(BaseAPIIntegrationTest):
@requires_api_version('1.21')
def test_list_networks(self):
networks = self.client.networks()
- initial_size = len(networks)
net_name, net_id = self.create_network()
networks = self.client.networks()
- self.assertEqual(len(networks), initial_size + 1)
self.assertTrue(net_id in [n['Id'] for n in networks])
networks_by_name = self.client.networks(names=[net_name])
@@ -435,11 +433,21 @@ class TestNetworks(BaseAPIIntegrationTest):
@requires_api_version('1.23')
def test_create_network_ipv6_enabled(self):
- _, net_id = self.create_network(enable_ipv6=True)
+ _, net_id = self.create_network(
+ enable_ipv6=True, ipam=IPAMConfig(
+ driver='default',
+ pool_configs=[
+ IPAMPool(
+ subnet="2001:389::1/64", iprange="2001:389::0/96",
+ gateway="2001:389::ffff"
+ )
+ ]
+ )
+ )
net = self.client.inspect_network(net_id)
assert net['EnableIPv6'] is True
- @requires_api_version('1.24')
+ @requires_api_version('1.25')
def test_create_network_attachable(self):
assert self.client.init_swarm('eth0')
_, net_id = self.create_network(driver='overlay', attachable=True)
diff --git a/tests/integration/api_service_test.py b/tests/integration/api_service_test.py
index bdf7c01..04f2fe0 100644
--- a/tests/integration/api_service_test.py
+++ b/tests/integration/api_service_test.py
@@ -221,15 +221,19 @@ class ServiceTest(BaseAPIIntegrationTest):
svc_info = self.client.inspect_service(svc_id)
print(svc_info)
ports = svc_info['Spec']['EndpointSpec']['Ports']
- assert {
- 'PublishedPort': 12562, 'TargetPort': 678, 'Protocol': 'tcp'
- } in ports
- assert {
- 'PublishedPort': 53243, 'TargetPort': 8080, 'Protocol': 'tcp'
- } in ports
- assert {
- 'PublishedPort': 12357, 'TargetPort': 1990, 'Protocol': 'udp'
- } in ports
+ for port in ports:
+ if port['PublishedPort'] == 12562:
+ assert port['TargetPort'] == 678
+ assert port['Protocol'] == 'tcp'
+ elif port['PublishedPort'] == 53243:
+ assert port['TargetPort'] == 8080
+ assert port['Protocol'] == 'tcp'
+ elif port['PublishedPort'] == 12357:
+ assert port['TargetPort'] == 1990
+ assert port['Protocol'] == 'udp'
+ else:
+ self.fail('Invalid port specification: {0}'.format(port))
+
assert len(ports) == 3
def test_create_service_with_env(self):
diff --git a/tests/integration/models_images_test.py b/tests/integration/models_images_test.py
index 2be6232..876ec29 100644
--- a/tests/integration/models_images_test.py
+++ b/tests/integration/models_images_test.py
@@ -1,5 +1,8 @@
import io
+
import docker
+import pytest
+
from .base import BaseIntegrationTest
@@ -14,6 +17,7 @@ class ImageCollectionTest(BaseIntegrationTest):
self.tmp_imgs.append(image.id)
assert client.containers.run(image) == b"hello world\n"
+ @pytest.mark.xfail(reason='Engine 1.13 responds with status 500')
def test_build_with_error(self):
client = docker.from_env()
with self.assertRaises(docker.errors.BuildError) as cm:
diff --git a/tests/integration/models_services_test.py b/tests/integration/models_services_test.py
index 99cffc0..baa40a9 100644
--- a/tests/integration/models_services_test.py
+++ b/tests/integration/models_services_test.py
@@ -1,5 +1,8 @@
import unittest
+
import docker
+import pytest
+
from .. import helpers
@@ -29,7 +32,7 @@ class ServiceTest(unittest.TestCase):
assert service.name == name
assert service.attrs['Spec']['Labels']['foo'] == 'bar'
container_spec = service.attrs['Spec']['TaskTemplate']['ContainerSpec']
- assert container_spec['Image'] == "alpine"
+ assert "alpine" in container_spec['Image']
assert container_spec['Labels'] == {'container': 'label'}
def test_get(self):
@@ -78,6 +81,7 @@ class ServiceTest(unittest.TestCase):
assert len(tasks) == 1
assert tasks[0]['ServiceID'] == service2.id
+ @pytest.mark.skip(reason="Makes Swarm unstable?")
def test_update(self):
client = docker.from_env()
service = client.services.create(
@@ -87,14 +91,12 @@ class ServiceTest(unittest.TestCase):
image="alpine",
command="sleep 300"
)
- new_name = helpers.random_name()
service.update(
# create argument
- name=new_name,
+ name=service.name,
# ContainerSpec argument
command="sleep 600"
)
service.reload()
- assert service.name == new_name
container_spec = service.attrs['Spec']['TaskTemplate']['ContainerSpec']
assert container_spec['Command'] == ["sleep", "600"]
diff --git a/tests/integration/models_swarm_test.py b/tests/integration/models_swarm_test.py
index abdff41..72bf9e5 100644
--- a/tests/integration/models_swarm_test.py
+++ b/tests/integration/models_swarm_test.py
@@ -19,4 +19,9 @@ class SwarmTest(unittest.TestCase):
assert client.swarm.leave(force=True)
with self.assertRaises(docker.errors.APIError) as cm:
client.swarm.reload()
- assert cm.exception.response.status_code == 406
+ assert (
+ # FIXME: test for both until
+ # https://github.com/docker/docker/issues/29192 is resolved
+ cm.exception.response.status_code == 406 or
+ cm.exception.response.status_code == 503
+ )
diff --git a/tests/unit/api_network_test.py b/tests/unit/api_network_test.py
index 7af531b..f997a1b 100644
--- a/tests/unit/api_network_test.py
+++ b/tests/unit/api_network_test.py
@@ -104,10 +104,6 @@ class NetworkTest(BaseAPIClientTest):
}
})
- @requires_api_version('1.24')
- def test_create_network_with_attachable(self):
- pass
-
@requires_api_version('1.21')
def test_remove_network(self):
network_id = 'abc12345'