summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Disable compression by default when using get_archive methodNiklas Saari2020-08-101-1/+1
| | | | Signed-off-by: Niklas Saari <niklas.saari@tutanota.com>
* Spelling fixes (#2571)Ville Skyttä2020-08-101-1/+1
| | | Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
* Add device requests (#2471)Lucidiot2020-08-101-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add DeviceRequest type Signed-off-by: Erwan Rouchet <rouchet@teklia.com> * Add device_requests kwarg in host config Signed-off-by: Erwan Rouchet <rouchet@teklia.com> * Add unit test for device requests Signed-off-by: Erwan Rouchet <rouchet@teklia.com> * Fix unit test Signed-off-by: Erwan Rouchet <rouchet@teklia.com> * Use parentheses for multiline import Signed-off-by: Erwan Rouchet <rouchet@teklia.com> * Create 1.40 client for device-requests test Signed-off-by: Laurie O <laurie_opperman@hotmail.com> Co-authored-by: Laurie O <laurie_opperman@hotmail.com> Co-authored-by: Bastien Abadie <abadie@teklia.com>
* Fix CreateContainerTest.test_invalid_log_driver_raises_exceptionSebastiaan van Stijn2020-08-101-1/+1
| | | | | | | | | | | | | | This test was updated in 7d92fbdee1b8621f54faa595ba53d7ef78ef1acc, but omitted the "error" prefix in the message, causing the test to fail; _________ CreateContainerTest.test_invalid_log_driver_raises_exception _________ tests/integration/api_container_test.py:293: in test_invalid_log_driver_raises_exception assert excinfo.value.explanation in expected_msgs E AssertionError: assert 'error looking up logging plugin asdf: plugin "asdf" not found' in ["logger: no log driver named 'asdf' is registered", 'looking up logging plugin asdf: plugin "asdf" not found'] E + where 'error looking up logging plugin asdf: plugin "asdf" not found' = APIError(HTTPError('400 Client Error: Bad Request for url: http+docker://localhost/v1.39/containers/create')).explanation E + where APIError(HTTPError('400 Client Error: Bad Request for url: http+docker://localhost/v1.39/containers/create')) = <ExceptionInfo APIError tblen=6>.value Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Add support for DriverOpts in EndpointConfigMike Haboustak2020-08-102-1/+24
| | | | | | | Docker API 1.32 added support for providing options to a network driver via EndpointConfig when connecting a container to a network. Signed-off-by: Mike Haboustak <haboustak@gmail.com>
* Update credentials-helpers to v0.6.2Sebastiaan van Stijn2020-08-101-1/+1
| | | | Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* add test for context load without orchestratoraiordache2020-06-021-0/+7
| | | | Signed-off-by: aiordache <anca.iordache@docker.com>
* Specify when to use `tls` on Context constructorUlysses Souza2020-06-021-0/+4
| | | | Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
* Fix tests to support both log plugin feedbacksWilson Júnior2020-06-021-3/+6
| | | | | Signed-off-by: Wilson Júnior <wilsonpjunior@gmail.com> Docker-DCO-1.1-Signed-off-by: Wilson Júnior <wilsonpjunior@gmail.com> (github: wpjunior)
* xfail "docker top" tests, and adjust for alpine imageSebastiaan van Stijn2020-06-021-8/+7
| | | | Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Implement context management, lifecycle and unittests.Anca Iordache2020-02-063-10/+107
| | | | Signed-off-by: Anca Iordache <anca.iordache@docker.com>
* Fix ImageCollectionTest.test_pull_multiple flakinessSebastiaan van Stijn2020-02-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ImageCollectionTest.test_pull_multiple test performs a `docker pull` without a `:tag` specified) to pull all tags of the given repository (image). After pulling the image, the image(s) pulled are checked to verify if the list of images contains the `:latest` tag. However, the test assumes that all tags of the image are tags for the same version of the image (same digest), and thus a *single* image is returned, which is not always the case. Currently, the `hello-world:latest` and `hello-world:linux` tags point to a different digest, therefore the `client.images.pull()` returns multiple images: one image for digest, making the test fail: =================================== FAILURES =================================== ____________________ ImageCollectionTest.test_pull_multiple ____________________ tests/integration/models_images_test.py:90: in test_pull_multiple assert len(images) == 1 E AssertionError: assert 2 == 1 E + where 2 = len([<Image: 'hello-world:linux'>, <Image: 'hello-world:latest'>]) This patch updates the test to not assume a single image is returned, and instead loop through the list of images and check if any of the images contains the `:latest` tag. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Fix broken test due to BUSYBOX -> TEST_IMG renameSebastiaan van Stijn2019-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | The BUSYBOX variable was renamed to TEST_IMG in 54b48a9b7ab59b4dcf49acf49ddf52035ba3ea08, however 0ddf428b6ce7accdac3506b45047df2cb72941ec got merged after that change, but was out of date, and therefore caused the tests to fail: ``` =================================== FAILURES =================================== ________ ServiceTest.test_create_service_with_network_attachment_config ________ tests/integration/api_service_test.py:379: in test_create_service_with_network_attachment_config container_spec = docker.types.ContainerSpec(BUSYBOX, ['true']) E NameError: global name 'BUSYBOX' is not defined ``` Fix the test by using the correct variable name. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Add NetworkAttachmentConfig typeHannes Ljungberg2019-10-031-0/+29
| | | | Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>
* test/Dockerfile: allow using a mirror for the apt repositorySebastiaan van Stijn2019-10-031-0/+5
| | | | | | | | | | | | | | | | | | | | | With this change applied, the default debian package repository can be replaced with a mirror; ``` make APT_MIRROR=cdn-fastly.deb.debian.org build-py3 ... Step 5/19 : RUN apt-get update && apt-get -y install gnupg2 pass curl ---> Running in 01c1101a0bd0 Get:1 http://cdn-fastly.deb.debian.org/debian buster InRelease [118 kB] Get:2 http://cdn-fastly.deb.debian.org/debian-security buster/updates InRelease [39.1 kB] Get:3 http://cdn-fastly.deb.debian.org/debian buster-updates InRelease [46.8 kB] Get:4 http://cdn-fastly.deb.debian.org/debian buster/main amd64 Packages [7897 kB] Get:5 http://cdn-fastly.deb.debian.org/debian-security buster/updates/main amd64 Packages [22.8 kB] ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Fix for empty auth keys in config.jsonMatt Fluet2019-10-031-0/+116
| | | | Signed-off-by: Matt Fluet <matt.fluet@appian.com>
* Update alpine version to 3.10, and rename BUSYBOX variableSebastiaan van Stijn2019-10-0312-189/+189
| | | | Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Adjust `--platform` tests for changes in docker engineSebastiaan van Stijn2019-10-032-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests started failing on recent versions of the engine because the error string changed, and due to a regression, the status code for one endpoint changed from a 400 to a 500. On Docker 18.03: The `docker build` case properly returns a 400, and "invalid platform" as error string; ```bash docker build --platform=foobar -<<EOF FROM busybox EOF Sending build context to Docker daemon 2.048kB Error response from daemon: invalid platform: invalid platform os "foobar" ``` ``` DEBU[2019-07-15T12:17:22.745511870Z] Calling GET /_ping DEBU[2019-07-15T12:17:22.748224796Z] Calling POST /session DEBU[2019-07-15T12:17:22.748692282Z] Calling POST /v1.37/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&platform=foobar&rm=1&session=d7b6ceba9d8d0aed67a805528554feb5285781fe888a4bf4e0c15cb09bffd614&shmsize=0&target=&ulimits=null ``` The `docker pull --platform=foobar hello-world:latest` case incorrectly returns a 500 ``` DEBU[2019-07-15T12:16:08.744827612Z] Calling POST /v1.37/images/create?fromImage=hello-world&platform=foobar&tag=latest DEBU[2019-07-15T12:16:08.745594874Z] FIXME: Got an API for which error does not match any expected type!!!: invalid platform: invalid platform os "foobar" error_type="*errors.errorString" module=api ERRO[2019-07-15T12:16:08.745916686Z] Handler for POST /v1.37/images/create returned error: invalid platform: invalid platform os "foobar" DEBU[2019-07-15T12:16:08.746191172Z] FIXME: Got an API for which error does not match any expected type!!!: invalid platform: invalid platform os "foobar" error_type="*errors.errorString" module=api ``` On Docker 18.09; ```bash docker build --platform=foobar -<<EOF FROM busybox EOF Error response from daemon: "foobar": unknown operating system or architecture: invalid argument ``` Which incorrectly returns a 500 status; ``` DEBU[2019-07-15T11:59:20.687268380Z] Calling POST /v1.39/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&platform=foobar&rm=1&session=jko7kejjvs93judyfnq7shoda&shmsize=0&target=&ulimits=null&version=1 DEBU[2019-07-15T11:59:20.687282279Z] Calling POST /session INFO[2019-07-15T11:59:20.687761392Z] parsed scheme: "" module=grpc INFO[2019-07-15T11:59:20.687833668Z] scheme "" not registered, fallback to default scheme module=grpc INFO[2019-07-15T11:59:20.688017578Z] ccResolverWrapper: sending new addresses to cc: [{ 0 <nil>}] module=grpc INFO[2019-07-15T11:59:20.688270160Z] ClientConn switching balancer to "pick_first" module=grpc INFO[2019-07-15T11:59:20.688353083Z] pickfirstBalancer: HandleSubConnStateChange: 0xc4209b0630, CONNECTING module=grpc INFO[2019-07-15T11:59:20.688985698Z] pickfirstBalancer: HandleSubConnStateChange: 0xc4209b0630, READY module=grpc DEBU[2019-07-15T11:59:20.812700550Z] client is session enabled DEBU[2019-07-15T11:59:20.813139288Z] FIXME: Got an API for which error does not match any expected type!!!: invalid argument github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs.init /go/src/github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs/errors.go:40 github.com/docker/docker/vendor/github.com/containerd/containerd/content.init <autogenerated>:1 github.com/docker/docker/builder/builder-next.init <autogenerated>:1 github.com/docker/docker/api/server/backend/build.init <autogenerated>:1 main.init <autogenerated>:1 runtime.main /usr/local/go/src/runtime/proc.go:186 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:2361 error_type="*errors.fundamental" module=api ERRO[2019-07-15T11:59:20.813210677Z] Handler for POST /v1.39/build returned error: "foobar": unknown operating system or architecture: invalid argument DEBU[2019-07-15T11:59:20.813276737Z] FIXME: Got an API for which error does not match any expected type!!!: invalid argument github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs.init /go/src/github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs/errors.go:40 github.com/docker/docker/vendor/github.com/containerd/containerd/content.init <autogenerated>:1 github.com/docker/docker/builder/builder-next.init <autogenerated>:1 github.com/docker/docker/api/server/backend/build.init <autogenerated>:1 main.init <autogenerated>:1 runtime.main /usr/local/go/src/runtime/proc.go:186 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:2361 error_type="*errors.fundamental" module=api ``` Same for the `docker pull --platform=foobar hello-world:latest` case: ```bash docker pull --platform=foobar hello-world:latest Error response from daemon: "foobar": unknown operating system or architecture: invalid argument ``` ``` DEBU[2019-07-15T12:00:18.812995330Z] Calling POST /v1.39/images/create?fromImage=hello-world&platform=foobar&tag=latest DEBU[2019-07-15T12:00:18.813229172Z] FIXME: Got an API for which error does not match any expected type!!!: invalid argument github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs.init /go/src/github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs/errors.go:40 github.com/docker/docker/vendor/github.com/containerd/containerd/content.init <autogenerated>:1 github.com/docker/docker/builder/builder-next.init <autogenerated>:1 github.com/docker/docker/api/server/backend/build.init <autogenerated>:1 main.init <autogenerated>:1 runtime.main /usr/local/go/src/runtime/proc.go:186 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:2361 error_type="*errors.fundamental" module=api ERRO[2019-07-15T12:00:18.813365546Z] Handler for POST /v1.39/images/create returned error: "foobar": unknown operating system or architecture: invalid argument DEBU[2019-07-15T12:00:18.813461428Z] FIXME: Got an API for which error does not match any expected type!!!: invalid argument github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs.init /go/src/github.com/docker/docker/vendor/github.com/containerd/containerd/errdefs/errors.go:40 github.com/docker/docker/vendor/github.com/containerd/containerd/content.init <autogenerated>:1 github.com/docker/docker/builder/builder-next.init <autogenerated>:1 github.com/docker/docker/api/server/backend/build.init <autogenerated>:1 main.init <autogenerated>:1 runtime.main /usr/local/go/src/runtime/proc.go:186 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:2361 error_type="*errors.fundamental" module=api ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* xfail test_init_swarm_data_path_addrSebastiaan van Stijn2019-10-031-0/+1
| | | | | | | | | | | This test can fail if `eth0` has multiple IP addresses; E docker.errors.APIError: 400 Client Error: Bad Request ("interface eth0 has more than one IPv6 address (2001:db8:1::242:ac11:2 and fe80::42:acff:fe11:2)") Which is not a failiure, but depends on the environment that the test is run in. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Update credentials-helpers to v0.6.3Sebastiaan van Stijn2019-10-031-1/+1
| | | | | | | full diff: https://github.com/docker/docker-credential-helpers/compare/v0.6.2...v0.6.3 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Update to python 3.7 (buster) and use build-argsSebastiaan van Stijn2019-10-032-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The build arg can be used to either test different versions, but also makes it easier to "grep" when upgrading versions. The output format of `gpg2 --list-secret-keys` changed in the version installed on Buster, so `grep` was replaced with `awk` to address the new output format; Debian Jessie: gpg2 --no-auto-check-trustdb --list-secret-keys /root/.gnupg/secring.gpg ------------------------ sec 1024D/A7B21401 2018-04-25 uid Sakuya Izayoi <sakuya@gensokyo.jp> ssb 1024g/C235E4CE 2018-04-25 Debian Buster: gpg2 --no-auto-check-trustdb --list-secret-keys /root/.gnupg/pubring.kbx ------------------------ sec dsa1024 2018-04-25 [SCA] 9781B87DAB042E6FD51388A5464ED987A7B21401 uid [ultimate] Sakuya Izayoi <sakuya@gensokyo.jp> ssb elg1024 2018-04-25 [E] Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Update credentials-helpers to v0.6.2Sebastiaan van Stijn2019-10-031-1/+1
| | | | Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* Remove exec detach testMichael Crosby2019-10-031-18/+0
| | | | | | Forking off an exec process and detaching isn't a supported method Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
* Xfail test_attach_stream_and_cancel on TLSUlysses Souza2019-05-131-0/+3
| | | | | | This test is quite flaky on ssl integration test Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
* Change use_config_proxy default value to True to match CLI behaviorJoffrey F2019-05-012-7/+7
| | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* Merge pull request #2295 from hannseman/swarm-rotate-tokenJoffrey F2019-05-011-0/+13
|\ | | | | Add support for rotate_manager_unlock_key
| * Add support for rotate_manager_unlock_keyHannes Ljungberg2019-05-011-0/+13
| | | | | | | | Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>
* | Merge pull request #2328 from docker/modernize_test_depsJoffrey F2019-05-013-28/+25
|\ \ | |/ |/| Update some test dependencies / default values with newer versions
| * Update some test dependencies / default values with newer versionsJoffrey F2019-05-013-28/+25
| | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Merge pull request #2296 from hannseman/swarm-init-responseJoffrey F2019-05-011-1/+3
|\ \ | | | | | | Return node id on swarm init
| * | Return node id on swarm initHannes Ljungberg2019-05-011-1/+3
| | | | | | | | | | | | Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>
* | | Merge pull request #2303 from hannseman/swarm-DataPathAddrJoffrey F2019-05-012-0/+16
|\ \ \ | | | | | | | | Add support for swarm DataPathAddr
| * | | Add test for join on already joined swarmHannes Ljungberg2019-05-011-0/+12
| | | | | | | | | | | | | | | | Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>
| * | | Add swarm support for data_addr_pathHannes Ljungberg2019-05-011-0/+4
| |/ / | | | | | | | | | Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>
* | | Merge pull request #2222 from docker/vendor_dockerpycredsJoffrey F2019-05-018-4/+155
|\ \ \ | |_|/ |/| | Make dockerpycreds part of the SDK under docker.credentials
| * | Make dockerpycreds part of the SDK under docker.credentialsJoffrey F2019-04-308-4/+155
| | | | | | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | | Improve low_timeout test resilienceJoffrey F2019-05-011-4/+4
| | | | | | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | | Streaming TTY messages sometimes get truncated. Handle gracefully in demux testsdemux_test_fixesJoffrey F2019-05-011-4/+12
| |/ |/| | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Increase timeout on test with long sleepsfix_socket_detach_helperJoffrey F2019-05-011-1/+1
| | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Reorder importsJoffrey F2019-05-011-3/+3
| | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Improve socket_detached test helper to support future versions of the daemonJoffrey F2019-05-011-4/+9
| | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Separate into individual testsfix_exec_demux_testsJoffrey F2019-05-011-63/+77
| | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Avoid demux test flakinessJoffrey F2019-04-301-27/+21
| | | | | | | | Signed-off-by: Joffrey F <joffrey@docker.com>
* | Merge pull request #2309 from thaJeztah/remove_init_path_createJoffrey F2019-04-301-13/+0
|\ \ | |/ |/| Remove init_path from create
| * Remove init_path from createSebastiaan van Stijn2019-04-101-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | This option was never functional, and was not intended to be added to the "container create" API, so let's remove it, because it has been removed in Docker 17.05, and was broken in versions before that; see - https://github.com/moby/moby/issues/32355 --init-path does not seem to work - https://github.com/moby/moby/pull/32470 remove --init-path from client Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
* | Merge pull request #2297 from hannseman/service-initJoffrey F2019-04-141-0/+14
|\ \ | |/ |/| Add support for setting init on services
| * Add support for setting init on servicesHannes Ljungberg2019-03-281-0/+14
| | | | | | | | Signed-off-by: Hannes Ljungberg <hannes@5monkeys.se>
* | Add 'sleep 2' to avoid race condition on attachUlysses Souza2019-04-041-5/+2
| | | | | | | | Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
* | Merge pull request #1882 from larkost/1743-container-portsUlysses Souza2019-04-031-0/+60
|\ \ | |/ |/| add ports to containers
| * Refactor and add testsUlysses Souza2019-03-261-8/+46
| | | | | | | | Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>