summaryrefslogtreecommitdiff
path: root/tests/integration
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2017-10-25 14:30:18 -0700
committerJoffrey F <joffrey@docker.com>2017-10-25 14:30:18 -0700
commitebfbe9a29e4269fa4c7688ca58797540818e3dc8 (patch)
tree1cd7bd44999cfffa6722e8c953d974e4eca29cec /tests/integration
parent0d21b5b2549f013889491e02226b5facd758e514 (diff)
downloaddocker-py-build_extra_hosts.tar.gz
Add support for extra_hosts option in buildbuild_extra_hosts
Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/api_build_test.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/integration/api_build_test.py b/tests/integration/api_build_test.py
index d0aa5c2..21464ff 100644
--- a/tests/integration/api_build_test.py
+++ b/tests/integration/api_build_test.py
@@ -244,6 +244,38 @@ class BuildTest(BaseAPIIntegrationTest):
with pytest.raises(errors.NotFound):
self.client.inspect_image('dockerpytest_nonebuild')
+ @requires_api_version('1.27')
+ def test_build_with_extra_hosts(self):
+ img_name = 'dockerpytest_extrahost_build'
+ self.tmp_imgs.append(img_name)
+
+ script = io.BytesIO('\n'.join([
+ 'FROM busybox',
+ 'RUN ping -c1 hello.world.test',
+ 'RUN ping -c1 extrahost.local.test',
+ 'RUN cp /etc/hosts /hosts-file'
+ ]).encode('ascii'))
+
+ stream = self.client.build(
+ fileobj=script, tag=img_name,
+ extra_hosts={
+ 'extrahost.local.test': '127.0.0.1',
+ 'hello.world.test': '8.8.8.8',
+ }, decode=True
+ )
+ for chunk in stream:
+ if 'errorDetail' in chunk:
+ pytest.fail(chunk)
+
+ assert self.client.inspect_image(img_name)
+ ctnr = self.run_container(img_name, 'cat /hosts-file')
+ self.tmp_containers.append(ctnr)
+ logs = self.client.logs(ctnr)
+ if six.PY3:
+ logs = logs.decode('utf-8')
+ assert '127.0.0.1\textrahost.local.test' in logs
+ assert '8.8.8.8\thello.world.test' in logs
+
@requires_experimental(until=None)
@requires_api_version('1.25')
def test_build_squash(self):