diff options
| author | Joffrey F <f.joffrey@gmail.com> | 2015-09-23 15:32:00 -0700 |
|---|---|---|
| committer | Joffrey F <f.joffrey@gmail.com> | 2015-09-23 15:32:00 -0700 |
| commit | 02f330d8dc3da47215bed47b44fac73941ea6920 (patch) | |
| tree | 9131aaa33c121ca91f7b2eadec3e7f6cc494e4c9 | |
| parent | 4f992904f05b46f9f7564daaf9942ac61912fa1a (diff) | |
| parent | 48d72f670340b969d0e894cd6e368f76bd428bb8 (diff) | |
| download | docker-py-02f330d8dc3da47215bed47b44fac73941ea6920.tar.gz | |
Merge pull request #765 from docker/api_1.20_support
Support API version 1.20
| -rw-r--r-- | docker/constants.py | 2 | ||||
| -rw-r--r-- | tests/integration_test.py | 36 |
2 files changed, 24 insertions, 14 deletions
diff --git a/docker/constants.py b/docker/constants.py index 10a2fee..3647a3b 100644 --- a/docker/constants.py +++ b/docker/constants.py @@ -1,4 +1,4 @@ -DEFAULT_DOCKER_API_VERSION = '1.19' +DEFAULT_DOCKER_API_VERSION = '1.20' DEFAULT_TIMEOUT_SECONDS = 60 STREAM_HEADER_SIZE_BYTES = 8 CONTAINER_LIMITS_KEYS = [ diff --git a/tests/integration_test.py b/tests/integration_test.py index f801627..763c863 100644 --- a/tests/integration_test.py +++ b/tests/integration_test.py @@ -264,14 +264,8 @@ class TestCreateContainerWithBinds(BaseTestCase): if six.PY3: logs = logs.decode('utf-8') self.assertIn(self.filename, logs) - - # FIXME: format changes in API version >= 1.20 inspect_data = self.client.inspect_container(container) - self.assertEqual( - self.mount_origin, - inspect_data['Volumes'][self.mount_dest] - ) - self.assertTrue(inspect_data['VolumesRW'][self.mount_dest]) + self.check_container_data(inspect_data, True) def test_ro(self): container = self.run_with_volume( @@ -285,13 +279,28 @@ class TestCreateContainerWithBinds(BaseTestCase): logs = logs.decode('utf-8') self.assertIn(self.filename, logs) - # FIXME: format changes in API version >= 1.20 inspect_data = self.client.inspect_container(container) - self.assertEqual( - self.mount_origin, - inspect_data['Volumes'][self.mount_dest] - ) - self.assertFalse(inspect_data['VolumesRW'][self.mount_dest]) + self.check_container_data(inspect_data, False) + + def check_container_data(self, inspect_data, rw): + if docker.utils.compare_version('1.20', self.client._version) < 0: + self.assertIn('Volumes', inspect_data) + self.assertIn(self.mount_dest, inspect_data['Volumes']) + self.assertEqual( + self.mount_origin, inspect_data['Volumes'][self.mount_dest] + ) + self.assertIn(self.mount_dest, inspect_data['VolumesRW']) + self.assertFalse(inspect_data['VolumesRW'][self.mount_dest]) + else: + self.assertIn('Mounts', inspect_data) + filtered = list(filter( + lambda x: x['Destination'] == self.mount_dest, + inspect_data['Mounts'] + )) + self.assertEqual(len(filtered), 1) + mount_data = filtered[0] + self.assertEqual(mount_data['Source'], self.mount_origin) + self.assertEqual(mount_data['RW'], rw) @requires_api_version('1.20') @@ -325,6 +334,7 @@ class CreateContainerWithGroupAddTest(BaseTestCase): logs = self.client.logs(container) if six.PY3: logs = logs.decode('utf-8') + groups = logs.strip().split(' ') self.assertIn('1000', groups) self.assertIn('1001', groups) |
