From 81c9b3f32732b69263014f6b2cdb3b18b5c4fcbd Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Wed, 14 Oct 2015 10:55:23 +0100 Subject: [PATCH] Check that HostConfig parameters supplied on /start are passed to Docker, also what happens when you supply a HostConfig named HostConfig --- test/666_abuse_of_start_test.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/test/666_abuse_of_start_test.sh b/test/666_abuse_of_start_test.sh index d575e311..81ed84ab 100755 --- a/test/666_abuse_of_start_test.sh +++ b/test/666_abuse_of_start_test.sh @@ -12,7 +12,12 @@ proxy_start_container $HOST1 --name=c1 proxy docker_on $HOST1 create --name=c2 $SMALL_IMAGE $CHECK_ETHWE_UP proxy docker_api_on $HOST1 POST /containers/c2/start '{"NetworkMode": "container:c1"}' docker_on $HOST1 attach c2 >/dev/null 2>&1 || true # Wait for container to exit -assert "docker_on $HOST1 inspect -f '{{.State.Running}} {{.State.ExitCode}} {{.HostConfig.Dns}}' c2" "false 0 [$docker_bridge_ip]" +assert "docker_on $HOST1 inspect -f '{{.HostConfig.NetworkMode}} {{.State.Running}} {{.State.ExitCode}} {{.HostConfig.Dns}}' c2" "container:c1 false 0 [$docker_bridge_ip]" + +# Start c5 with a differently sneaky HostConfig +proxy docker_on $HOST1 create --name=c5 $SMALL_IMAGE $CHECK_ETHWE_UP +proxy docker_api_on $HOST1 POST /containers/c5/start '{"HostConfig": {"NetworkMode": "container:c1"}}' +assert "docker_on $HOST1 inspect -f '{{.HostConfig.NetworkMode}} {{.State.Running}} {{.State.ExitCode}} {{.HostConfig.Dns}}' c5" "container:c1 false 0 [$docker_bridge_ip]" # Start c3 with HostConfig having empty binds and null dns/networking settings proxy docker_on $HOST1 create --name=c3 -v /tmp:/hosttmp $SMALL_IMAGE $CHECK_ETHWE_UP @@ -25,4 +30,9 @@ proxy docker_on $HOST1 create --name=c4 --memory-swap -1 $SMALL_IMAGE echo foo assert_raises "proxy docker_api_on $HOST1 POST /containers/c4/start 'null'" assert "docker_on $HOST1 inspect -f '{{.HostConfig.MemorySwap}}' c4" "-1" +# Start c6 with both named and unnamed HostConfig +proxy docker_on $HOST1 create --name=c6 $SMALL_IMAGE $CHECK_ETHWE_UP +proxy docker_api_on $HOST1 POST /containers/c6/start '{"NetworkMode": "container:c2", "HostConfig": {"NetworkMode": "container:c1"}}' +assert "docker_on $HOST1 inspect -f '{{.HostConfig.NetworkMode}} {{.State.Running}} {{.State.ExitCode}} {{.HostConfig.Dns}}' c6" "container:c1 false 0 [$docker_bridge_ip]" + end_suite