Skip to content

Commit 02f330d

Browse files
committed
Merge pull request #765 from docker/api_1.20_support
Support API version 1.20
2 parents 4f99290 + 48d72f6 commit 02f330d

File tree

2 files changed

+24
-14
lines changed

2 files changed

+24
-14
lines changed

docker/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
DEFAULT_DOCKER_API_VERSION = '1.19'
1+
DEFAULT_DOCKER_API_VERSION = '1.20'
22
DEFAULT_TIMEOUT_SECONDS = 60
33
STREAM_HEADER_SIZE_BYTES = 8
44
CONTAINER_LIMITS_KEYS = [

tests/integration_test.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -264,14 +264,8 @@ def test_rw(self):
264264
if six.PY3:
265265
logs = logs.decode('utf-8')
266266
self.assertIn(self.filename, logs)
267-
268-
# FIXME: format changes in API version >= 1.20
269267
inspect_data = self.client.inspect_container(container)
270-
self.assertEqual(
271-
self.mount_origin,
272-
inspect_data['Volumes'][self.mount_dest]
273-
)
274-
self.assertTrue(inspect_data['VolumesRW'][self.mount_dest])
268+
self.check_container_data(inspect_data, True)
275269

276270
def test_ro(self):
277271
container = self.run_with_volume(
@@ -285,13 +279,28 @@ def test_ro(self):
285279
logs = logs.decode('utf-8')
286280
self.assertIn(self.filename, logs)
287281

288-
# FIXME: format changes in API version >= 1.20
289282
inspect_data = self.client.inspect_container(container)
290-
self.assertEqual(
291-
self.mount_origin,
292-
inspect_data['Volumes'][self.mount_dest]
293-
)
294-
self.assertFalse(inspect_data['VolumesRW'][self.mount_dest])
283+
self.check_container_data(inspect_data, False)
284+
285+
def check_container_data(self, inspect_data, rw):
286+
if docker.utils.compare_version('1.20', self.client._version) < 0:
287+
self.assertIn('Volumes', inspect_data)
288+
self.assertIn(self.mount_dest, inspect_data['Volumes'])
289+
self.assertEqual(
290+
self.mount_origin, inspect_data['Volumes'][self.mount_dest]
291+
)
292+
self.assertIn(self.mount_dest, inspect_data['VolumesRW'])
293+
self.assertFalse(inspect_data['VolumesRW'][self.mount_dest])
294+
else:
295+
self.assertIn('Mounts', inspect_data)
296+
filtered = list(filter(
297+
lambda x: x['Destination'] == self.mount_dest,
298+
inspect_data['Mounts']
299+
))
300+
self.assertEqual(len(filtered), 1)
301+
mount_data = filtered[0]
302+
self.assertEqual(mount_data['Source'], self.mount_origin)
303+
self.assertEqual(mount_data['RW'], rw)
295304

296305

297306
@requires_api_version('1.20')
@@ -325,6 +334,7 @@ def test_group_id_strings(self):
325334
logs = self.client.logs(container)
326335
if six.PY3:
327336
logs = logs.decode('utf-8')
337+
328338
groups = logs.strip().split(' ')
329339
self.assertIn('1000', groups)
330340
self.assertIn('1001', groups)

0 commit comments

Comments
 (0)