summaryrefslogtreecommitdiff
path: root/tests/fixtures
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fixtures')
-rw-r--r--tests/fixtures/UpperCaseDir/docker-compose.yml6
-rw-r--r--tests/fixtures/abort-on-container-exit-0/docker-compose.yml6
-rw-r--r--tests/fixtures/abort-on-container-exit-1/docker-compose.yml6
-rw-r--r--tests/fixtures/build-ctx/Dockerfile3
-rw-r--r--tests/fixtures/build-path-override-dir/docker-compose.yml2
-rw-r--r--tests/fixtures/build-path/docker-compose.yml2
-rw-r--r--tests/fixtures/build-shm-size/Dockerfile4
-rw-r--r--tests/fixtures/build-shm-size/docker-compose.yml7
-rw-r--r--tests/fixtures/bundle-with-digests/docker-compose.yml9
-rw-r--r--tests/fixtures/commands-composefile/docker-compose.yml5
-rw-r--r--tests/fixtures/default-env-file/.env4
-rw-r--r--tests/fixtures/default-env-file/docker-compose.yml6
-rw-r--r--tests/fixtures/dockerfile-with-volume/Dockerfile4
-rw-r--r--tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yaml3
-rw-r--r--tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yml3
-rw-r--r--tests/fixtures/duplicate-override-yaml-files/docker-compose.yml10
-rw-r--r--tests/fixtures/echo-services/docker-compose.yml6
-rw-r--r--tests/fixtures/entrypoint-composefile/docker-compose.yml6
-rw-r--r--tests/fixtures/entrypoint-dockerfile/Dockerfile4
-rw-r--r--tests/fixtures/entrypoint-dockerfile/docker-compose.yml4
-rw-r--r--tests/fixtures/env-file/docker-compose.yml4
-rw-r--r--tests/fixtures/env-file/test.env1
-rw-r--r--tests/fixtures/env/one.env11
-rw-r--r--tests/fixtures/env/resolve.env4
-rw-r--r--tests/fixtures/env/two.env2
-rw-r--r--tests/fixtures/environment-composefile/docker-compose.yml7
-rw-r--r--tests/fixtures/environment-interpolation/docker-compose.yml17
-rw-r--r--tests/fixtures/exit-code-from/docker-compose.yml6
-rw-r--r--tests/fixtures/expose-composefile/docker-compose.yml11
-rw-r--r--tests/fixtures/extends/circle-1.yml12
-rw-r--r--tests/fixtures/extends/circle-2.yml12
-rw-r--r--tests/fixtures/extends/common-env-labels-ulimits.yml13
-rw-r--r--tests/fixtures/extends/common.yml7
-rw-r--r--tests/fixtures/extends/docker-compose.yml17
-rw-r--r--tests/fixtures/extends/healthcheck-1.yml9
-rw-r--r--tests/fixtures/extends/healthcheck-2.yml6
-rw-r--r--tests/fixtures/extends/invalid-links.yml11
-rw-r--r--tests/fixtures/extends/invalid-net-v2.yml12
-rw-r--r--tests/fixtures/extends/invalid-net.yml8
-rw-r--r--tests/fixtures/extends/invalid-volumes.yml9
-rw-r--r--tests/fixtures/extends/nested-intermediate.yml6
-rw-r--r--tests/fixtures/extends/nested.yml6
-rw-r--r--tests/fixtures/extends/no-file-specified.yml9
-rw-r--r--tests/fixtures/extends/nonexistent-path-base.yml6
-rw-r--r--tests/fixtures/extends/nonexistent-path-child.yml8
-rw-r--r--tests/fixtures/extends/nonexistent-service.yml4
-rw-r--r--tests/fixtures/extends/service-with-invalid-schema.yml4
-rw-r--r--tests/fixtures/extends/service-with-valid-composite-extends.yml5
-rw-r--r--tests/fixtures/extends/specify-file-as-self.yml17
-rw-r--r--tests/fixtures/extends/valid-common-config.yml6
-rw-r--r--tests/fixtures/extends/valid-common.yml3
-rw-r--r--tests/fixtures/extends/valid-composite-extends.yml2
-rw-r--r--tests/fixtures/extends/valid-interpolation-2.yml3
-rw-r--r--tests/fixtures/extends/valid-interpolation.yml5
-rw-r--r--tests/fixtures/extends/verbose-and-shorthand.yml15
-rw-r--r--tests/fixtures/healthcheck/docker-compose.yml24
-rw-r--r--tests/fixtures/invalid-composefile/invalid.yml5
-rw-r--r--tests/fixtures/links-composefile/docker-compose.yml11
-rw-r--r--tests/fixtures/logging-composefile-legacy/docker-compose.yml10
-rw-r--r--tests/fixtures/logging-composefile/docker-compose.yml14
-rw-r--r--tests/fixtures/logs-composefile/docker-compose.yml6
-rw-r--r--tests/fixtures/logs-tail-composefile/docker-compose.yml3
-rw-r--r--tests/fixtures/longer-filename-composefile/docker-compose.yaml3
-rw-r--r--tests/fixtures/multiple-composefiles/compose2.yml3
-rw-r--r--tests/fixtures/multiple-composefiles/docker-compose.yml6
-rw-r--r--tests/fixtures/net-container/docker-compose.yml7
-rw-r--r--tests/fixtures/net-container/v2-invalid.yml10
-rw-r--r--tests/fixtures/networks/bridge.yml9
-rw-r--r--tests/fixtures/networks/default-network-config.yml13
-rw-r--r--tests/fixtures/networks/docker-compose.yml21
-rw-r--r--tests/fixtures/networks/external-default.yml12
-rw-r--r--tests/fixtures/networks/external-networks.yml16
-rw-r--r--tests/fixtures/networks/missing-network.yml10
-rw-r--r--tests/fixtures/networks/network-aliases.yml16
-rwxr-xr-xtests/fixtures/networks/network-internal.yml13
-rw-r--r--tests/fixtures/networks/network-label.yml13
-rw-r--r--tests/fixtures/networks/network-mode.yml27
-rwxr-xr-xtests/fixtures/networks/network-static-addresses.yml23
-rw-r--r--tests/fixtures/no-composefile/.gitignore0
-rw-r--r--tests/fixtures/no-links-composefile/docker-compose.yml9
-rw-r--r--tests/fixtures/no-services/docker-compose.yml5
-rw-r--r--tests/fixtures/override-files/docker-compose.override.yml7
-rw-r--r--tests/fixtures/override-files/docker-compose.yml10
-rw-r--r--tests/fixtures/override-files/extra.yml10
-rw-r--r--tests/fixtures/override-yaml-files/docker-compose.override.yaml3
-rw-r--r--tests/fixtures/override-yaml-files/docker-compose.yml10
-rw-r--r--tests/fixtures/pid-mode/docker-compose.yml17
-rw-r--r--tests/fixtures/ports-composefile-scale/docker-compose.yml6
-rw-r--r--tests/fixtures/ports-composefile/docker-compose.yml8
-rw-r--r--tests/fixtures/ports-composefile/expanded-notation.yml15
-rw-r--r--tests/fixtures/restart/docker-compose.yml17
-rw-r--r--tests/fixtures/run-workdir/docker-compose.yml4
-rw-r--r--tests/fixtures/scale/docker-compose.yml9
-rw-r--r--tests/fixtures/secrets/default1
-rw-r--r--tests/fixtures/simple-composefile-volume-ready/docker-compose.merge.yml9
-rw-r--r--tests/fixtures/simple-composefile-volume-ready/docker-compose.yml2
-rw-r--r--tests/fixtures/simple-composefile-volume-ready/files/example.txt1
-rw-r--r--tests/fixtures/simple-composefile/digest.yml6
-rw-r--r--tests/fixtures/simple-composefile/docker-compose.yml6
-rw-r--r--tests/fixtures/simple-composefile/ignore-pull-failures.yml6
-rw-r--r--tests/fixtures/simple-dockerfile/Dockerfile3
-rw-r--r--tests/fixtures/simple-dockerfile/docker-compose.yml2
-rw-r--r--tests/fixtures/simple-failing-dockerfile/Dockerfile7
-rw-r--r--tests/fixtures/simple-failing-dockerfile/docker-compose.yml2
-rw-r--r--tests/fixtures/sleeps-composefile/docker-compose.yml10
-rw-r--r--tests/fixtures/stop-signal-composefile/docker-compose.yml10
-rw-r--r--tests/fixtures/tls/ca.pem0
-rw-r--r--tests/fixtures/tls/cert.pem0
-rw-r--r--tests/fixtures/tls/key.key0
-rw-r--r--tests/fixtures/top/docker-compose.yml6
-rw-r--r--tests/fixtures/unicode-environment/docker-compose.yml7
-rw-r--r--tests/fixtures/user-composefile/docker-compose.yml4
-rw-r--r--tests/fixtures/v1-config/docker-compose.yml10
-rw-r--r--tests/fixtures/v2-dependencies/docker-compose.yml13
-rw-r--r--tests/fixtures/v2-full/Dockerfile4
-rw-r--r--tests/fixtures/v2-full/docker-compose.yml24
-rw-r--r--tests/fixtures/v2-simple/docker-compose.yml8
-rw-r--r--tests/fixtures/v2-simple/links-invalid.yml10
-rw-r--r--tests/fixtures/v3-full/docker-compose.yml57
-rw-r--r--tests/fixtures/volume-path-interpolation/docker-compose.yml5
-rw-r--r--tests/fixtures/volume-path/common/services.yml5
-rw-r--r--tests/fixtures/volume-path/docker-compose.yml6
-rw-r--r--tests/fixtures/volume/docker-compose.yml11
-rw-r--r--tests/fixtures/volumes-from-container/docker-compose.yml5
-rw-r--r--tests/fixtures/volumes/docker-compose.yml2
-rw-r--r--tests/fixtures/volumes/external-volumes-v2-x.yml17
-rw-r--r--tests/fixtures/volumes/external-volumes-v2.yml16
-rw-r--r--tests/fixtures/volumes/external-volumes-v3-4.yml17
-rw-r--r--tests/fixtures/volumes/external-volumes-v3-x.yml16
-rw-r--r--tests/fixtures/volumes/volume-label.yml13
130 files changed, 1104 insertions, 0 deletions
diff --git a/tests/fixtures/UpperCaseDir/docker-compose.yml b/tests/fixtures/UpperCaseDir/docker-compose.yml
new file mode 100644
index 00000000..b25beaf4
--- /dev/null
+++ b/tests/fixtures/UpperCaseDir/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+another:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/abort-on-container-exit-0/docker-compose.yml b/tests/fixtures/abort-on-container-exit-0/docker-compose.yml
new file mode 100644
index 00000000..ce41697b
--- /dev/null
+++ b/tests/fixtures/abort-on-container-exit-0/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+another:
+ image: busybox:latest
+ command: ls .
diff --git a/tests/fixtures/abort-on-container-exit-1/docker-compose.yml b/tests/fixtures/abort-on-container-exit-1/docker-compose.yml
new file mode 100644
index 00000000..7ec9b7e1
--- /dev/null
+++ b/tests/fixtures/abort-on-container-exit-1/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+another:
+ image: busybox:latest
+ command: ls /thecakeisalie
diff --git a/tests/fixtures/build-ctx/Dockerfile b/tests/fixtures/build-ctx/Dockerfile
new file mode 100644
index 00000000..dd864b83
--- /dev/null
+++ b/tests/fixtures/build-ctx/Dockerfile
@@ -0,0 +1,3 @@
+FROM busybox:latest
+LABEL com.docker.compose.test_image=true
+CMD echo "success"
diff --git a/tests/fixtures/build-path-override-dir/docker-compose.yml b/tests/fixtures/build-path-override-dir/docker-compose.yml
new file mode 100644
index 00000000..15dbb3e6
--- /dev/null
+++ b/tests/fixtures/build-path-override-dir/docker-compose.yml
@@ -0,0 +1,2 @@
+foo:
+ build: ./build-ctx/
diff --git a/tests/fixtures/build-path/docker-compose.yml b/tests/fixtures/build-path/docker-compose.yml
new file mode 100644
index 00000000..66e8916e
--- /dev/null
+++ b/tests/fixtures/build-path/docker-compose.yml
@@ -0,0 +1,2 @@
+foo:
+ build: ../build-ctx/
diff --git a/tests/fixtures/build-shm-size/Dockerfile b/tests/fixtures/build-shm-size/Dockerfile
new file mode 100644
index 00000000..f91733d6
--- /dev/null
+++ b/tests/fixtures/build-shm-size/Dockerfile
@@ -0,0 +1,4 @@
+FROM busybox
+
+# Report the shm_size (through the size of /dev/shm)
+RUN echo "shm_size:" $(df -h /dev/shm | tail -n 1 | awk '{print $2}')
diff --git a/tests/fixtures/build-shm-size/docker-compose.yml b/tests/fixtures/build-shm-size/docker-compose.yml
new file mode 100644
index 00000000..238a5132
--- /dev/null
+++ b/tests/fixtures/build-shm-size/docker-compose.yml
@@ -0,0 +1,7 @@
+version: '3.5'
+
+services:
+ custom_shm_size:
+ build:
+ context: .
+ shm_size: 100663296 # =96M
diff --git a/tests/fixtures/bundle-with-digests/docker-compose.yml b/tests/fixtures/bundle-with-digests/docker-compose.yml
new file mode 100644
index 00000000..b7013512
--- /dev/null
+++ b/tests/fixtures/bundle-with-digests/docker-compose.yml
@@ -0,0 +1,9 @@
+
+version: '2.0'
+
+services:
+ web:
+ image: dockercloud/hello-world@sha256:fe79a2cfbd17eefc344fb8419420808df95a1e22d93b7f621a7399fd1e9dca1d
+
+ redis:
+ image: redis@sha256:a84cb8f53a70e19f61ff2e1d5e73fb7ae62d374b2b7392de1e7d77be26ef8f7b
diff --git a/tests/fixtures/commands-composefile/docker-compose.yml b/tests/fixtures/commands-composefile/docker-compose.yml
new file mode 100644
index 00000000..87602bd6
--- /dev/null
+++ b/tests/fixtures/commands-composefile/docker-compose.yml
@@ -0,0 +1,5 @@
+implicit:
+ image: composetest_test
+explicit:
+ image: composetest_test
+ command: [ "/bin/true" ]
diff --git a/tests/fixtures/default-env-file/.env b/tests/fixtures/default-env-file/.env
new file mode 100644
index 00000000..9056de72
--- /dev/null
+++ b/tests/fixtures/default-env-file/.env
@@ -0,0 +1,4 @@
+IMAGE=alpine:latest
+COMMAND=true
+PORT1=5643
+PORT2=9999
diff --git a/tests/fixtures/default-env-file/docker-compose.yml b/tests/fixtures/default-env-file/docker-compose.yml
new file mode 100644
index 00000000..aa8e4409
--- /dev/null
+++ b/tests/fixtures/default-env-file/docker-compose.yml
@@ -0,0 +1,6 @@
+web:
+ image: ${IMAGE}
+ command: ${COMMAND}
+ ports:
+ - $PORT1
+ - $PORT2
diff --git a/tests/fixtures/dockerfile-with-volume/Dockerfile b/tests/fixtures/dockerfile-with-volume/Dockerfile
new file mode 100644
index 00000000..0d376ec4
--- /dev/null
+++ b/tests/fixtures/dockerfile-with-volume/Dockerfile
@@ -0,0 +1,4 @@
+FROM busybox:latest
+LABEL com.docker.compose.test_image=true
+VOLUME /data
+CMD top
diff --git a/tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yaml b/tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yaml
new file mode 100644
index 00000000..58c67348
--- /dev/null
+++ b/tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yaml
@@ -0,0 +1,3 @@
+
+db:
+ command: "top"
diff --git a/tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yml b/tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yml
new file mode 100644
index 00000000..f1b8ef18
--- /dev/null
+++ b/tests/fixtures/duplicate-override-yaml-files/docker-compose.override.yml
@@ -0,0 +1,3 @@
+
+db:
+ command: "sleep 300"
diff --git a/tests/fixtures/duplicate-override-yaml-files/docker-compose.yml b/tests/fixtures/duplicate-override-yaml-files/docker-compose.yml
new file mode 100644
index 00000000..5f2909d6
--- /dev/null
+++ b/tests/fixtures/duplicate-override-yaml-files/docker-compose.yml
@@ -0,0 +1,10 @@
+
+web:
+ image: busybox:latest
+ command: "sleep 100"
+ links:
+ - db
+
+db:
+ image: busybox:latest
+ command: "sleep 200"
diff --git a/tests/fixtures/echo-services/docker-compose.yml b/tests/fixtures/echo-services/docker-compose.yml
new file mode 100644
index 00000000..8014f3d9
--- /dev/null
+++ b/tests/fixtures/echo-services/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: echo simple
+another:
+ image: busybox:latest
+ command: echo another
diff --git a/tests/fixtures/entrypoint-composefile/docker-compose.yml b/tests/fixtures/entrypoint-composefile/docker-compose.yml
new file mode 100644
index 00000000..e9880973
--- /dev/null
+++ b/tests/fixtures/entrypoint-composefile/docker-compose.yml
@@ -0,0 +1,6 @@
+version: "2"
+services:
+ test:
+ image: busybox
+ entrypoint: printf
+ command: default args
diff --git a/tests/fixtures/entrypoint-dockerfile/Dockerfile b/tests/fixtures/entrypoint-dockerfile/Dockerfile
new file mode 100644
index 00000000..49f4416c
--- /dev/null
+++ b/tests/fixtures/entrypoint-dockerfile/Dockerfile
@@ -0,0 +1,4 @@
+FROM busybox:latest
+LABEL com.docker.compose.test_image=true
+ENTRYPOINT ["printf"]
+CMD ["default", "args"]
diff --git a/tests/fixtures/entrypoint-dockerfile/docker-compose.yml b/tests/fixtures/entrypoint-dockerfile/docker-compose.yml
new file mode 100644
index 00000000..8318e61f
--- /dev/null
+++ b/tests/fixtures/entrypoint-dockerfile/docker-compose.yml
@@ -0,0 +1,4 @@
+version: "2"
+services:
+ test:
+ build: .
diff --git a/tests/fixtures/env-file/docker-compose.yml b/tests/fixtures/env-file/docker-compose.yml
new file mode 100644
index 00000000..d9366ace
--- /dev/null
+++ b/tests/fixtures/env-file/docker-compose.yml
@@ -0,0 +1,4 @@
+web:
+ image: busybox
+ command: /bin/true
+ env_file: ./test.env
diff --git a/tests/fixtures/env-file/test.env b/tests/fixtures/env-file/test.env
new file mode 100644
index 00000000..d99cd41a
--- /dev/null
+++ b/tests/fixtures/env-file/test.env
@@ -0,0 +1 @@
+FOO=1
diff --git a/tests/fixtures/env/one.env b/tests/fixtures/env/one.env
new file mode 100644
index 00000000..45b59fe6
--- /dev/null
+++ b/tests/fixtures/env/one.env
@@ -0,0 +1,11 @@
+# Keep the blank lines and comments in this file, please
+
+ONE=2
+TWO=1
+
+ # (thanks)
+
+THREE=3
+
+FOO=bar
+# FOO=somethingelse
diff --git a/tests/fixtures/env/resolve.env b/tests/fixtures/env/resolve.env
new file mode 100644
index 00000000..b4f76b29
--- /dev/null
+++ b/tests/fixtures/env/resolve.env
@@ -0,0 +1,4 @@
+FILE_DEF=bär
+FILE_DEF_EMPTY=
+ENV_DEF
+NO_DEF
diff --git a/tests/fixtures/env/two.env b/tests/fixtures/env/two.env
new file mode 100644
index 00000000..3b21871a
--- /dev/null
+++ b/tests/fixtures/env/two.env
@@ -0,0 +1,2 @@
+FOO=baz
+DOO=dah
diff --git a/tests/fixtures/environment-composefile/docker-compose.yml b/tests/fixtures/environment-composefile/docker-compose.yml
new file mode 100644
index 00000000..9d99fee0
--- /dev/null
+++ b/tests/fixtures/environment-composefile/docker-compose.yml
@@ -0,0 +1,7 @@
+service:
+ image: busybox:latest
+ command: top
+
+ environment:
+ foo: bar
+ hello: world
diff --git a/tests/fixtures/environment-interpolation/docker-compose.yml b/tests/fixtures/environment-interpolation/docker-compose.yml
new file mode 100644
index 00000000..7ed43a81
--- /dev/null
+++ b/tests/fixtures/environment-interpolation/docker-compose.yml
@@ -0,0 +1,17 @@
+web:
+ # unbracketed name
+ image: $IMAGE
+
+ # array element
+ ports:
+ - "${HOST_PORT}:8000"
+
+ # dictionary item value
+ labels:
+ mylabel: "${LABEL_VALUE}"
+
+ # unset value
+ hostname: "host-${UNSET_VALUE}"
+
+ # escaped interpolation
+ command: "$${ESCAPED}"
diff --git a/tests/fixtures/exit-code-from/docker-compose.yml b/tests/fixtures/exit-code-from/docker-compose.yml
new file mode 100644
index 00000000..687e78b9
--- /dev/null
+++ b/tests/fixtures/exit-code-from/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: sh -c "echo hello && tail -f /dev/null"
+another:
+ image: busybox:latest
+ command: /bin/false
diff --git a/tests/fixtures/expose-composefile/docker-compose.yml b/tests/fixtures/expose-composefile/docker-compose.yml
new file mode 100644
index 00000000..d14a468d
--- /dev/null
+++ b/tests/fixtures/expose-composefile/docker-compose.yml
@@ -0,0 +1,11 @@
+
+simple:
+ image: busybox:latest
+ command: top
+ expose:
+ - '3000'
+ - '3001/tcp'
+ - '3001/udp'
+ - '3002-3003'
+ - '3004-3005/tcp'
+ - '3006-3007/udp'
diff --git a/tests/fixtures/extends/circle-1.yml b/tests/fixtures/extends/circle-1.yml
new file mode 100644
index 00000000..d88ea61d
--- /dev/null
+++ b/tests/fixtures/extends/circle-1.yml
@@ -0,0 +1,12 @@
+foo:
+ image: busybox
+bar:
+ image: busybox
+web:
+ extends:
+ file: circle-2.yml
+ service: other
+baz:
+ image: busybox
+quux:
+ image: busybox
diff --git a/tests/fixtures/extends/circle-2.yml b/tests/fixtures/extends/circle-2.yml
new file mode 100644
index 00000000..de05bc8d
--- /dev/null
+++ b/tests/fixtures/extends/circle-2.yml
@@ -0,0 +1,12 @@
+foo:
+ image: busybox
+bar:
+ image: busybox
+other:
+ extends:
+ file: circle-1.yml
+ service: web
+baz:
+ image: busybox
+quux:
+ image: busybox
diff --git a/tests/fixtures/extends/common-env-labels-ulimits.yml b/tests/fixtures/extends/common-env-labels-ulimits.yml
new file mode 100644
index 00000000..09efb4e7
--- /dev/null
+++ b/tests/fixtures/extends/common-env-labels-ulimits.yml
@@ -0,0 +1,13 @@
+web:
+ extends:
+ file: common.yml
+ service: web
+ environment:
+ - FOO=2
+ - BAZ=3
+ labels: ['label=one']
+ ulimits:
+ nproc: 65535
+ memlock:
+ soft: 1024
+ hard: 2048
diff --git a/tests/fixtures/extends/common.yml b/tests/fixtures/extends/common.yml
new file mode 100644
index 00000000..b2d86aa4
--- /dev/null
+++ b/tests/fixtures/extends/common.yml
@@ -0,0 +1,7 @@
+web:
+ image: busybox
+ command: /bin/true
+ net: host
+ environment:
+ - FOO=1
+ - BAR=1
diff --git a/tests/fixtures/extends/docker-compose.yml b/tests/fixtures/extends/docker-compose.yml
new file mode 100644
index 00000000..8e37d404
--- /dev/null
+++ b/tests/fixtures/extends/docker-compose.yml
@@ -0,0 +1,17 @@
+myweb:
+ extends:
+ file: common.yml
+ service: web
+ command: top
+ links:
+ - "mydb:db"
+ environment:
+ # leave FOO alone
+ # override BAR
+ BAR: "2"
+ # add BAZ
+ BAZ: "2"
+ net: bridge
+mydb:
+ image: busybox
+ command: top
diff --git a/tests/fixtures/extends/healthcheck-1.yml b/tests/fixtures/extends/healthcheck-1.yml
new file mode 100644
index 00000000..4c311e62
--- /dev/null
+++ b/tests/fixtures/extends/healthcheck-1.yml
@@ -0,0 +1,9 @@
+version: '2.1'
+services:
+ demo:
+ image: foobar:latest
+ healthcheck:
+ test: ["CMD", "/health.sh"]
+ interval: 10s
+ timeout: 5s
+ retries: 36
diff --git a/tests/fixtures/extends/healthcheck-2.yml b/tests/fixtures/extends/healthcheck-2.yml
new file mode 100644
index 00000000..11bc9f09
--- /dev/null
+++ b/tests/fixtures/extends/healthcheck-2.yml
@@ -0,0 +1,6 @@
+version: '2.1'
+services:
+ demo:
+ extends:
+ file: healthcheck-1.yml
+ service: demo
diff --git a/tests/fixtures/extends/invalid-links.yml b/tests/fixtures/extends/invalid-links.yml
new file mode 100644
index 00000000..cea740cb
--- /dev/null
+++ b/tests/fixtures/extends/invalid-links.yml
@@ -0,0 +1,11 @@
+mydb:
+ build: '.'
+myweb:
+ build: '.'
+ extends:
+ service: web
+ command: top
+web:
+ build: '.'
+ links:
+ - "mydb:db"
diff --git a/tests/fixtures/extends/invalid-net-v2.yml b/tests/fixtures/extends/invalid-net-v2.yml
new file mode 100644
index 00000000..7ba714e8
--- /dev/null
+++ b/tests/fixtures/extends/invalid-net-v2.yml
@@ -0,0 +1,12 @@
+version: "2"
+services:
+ myweb:
+ build: '.'
+ extends:
+ service: web
+ command: top
+ web:
+ build: '.'
+ network_mode: "service:net"
+ net:
+ build: '.'
diff --git a/tests/fixtures/extends/invalid-net.yml b/tests/fixtures/extends/invalid-net.yml
new file mode 100644
index 00000000..fbcd020b
--- /dev/null
+++ b/tests/fixtures/extends/invalid-net.yml
@@ -0,0 +1,8 @@
+myweb:
+ build: '.'
+ extends:
+ service: web
+ command: top
+web:
+ build: '.'
+ net: "container:db"
diff --git a/tests/fixtures/extends/invalid-volumes.yml b/tests/fixtures/extends/invalid-volumes.yml
new file mode 100644
index 00000000..3db0118e
--- /dev/null
+++ b/tests/fixtures/extends/invalid-volumes.yml
@@ -0,0 +1,9 @@
+myweb:
+ build: '.'
+ extends:
+ service: web
+ command: top
+web:
+ build: '.'
+ volumes_from:
+ - "db"
diff --git a/tests/fixtures/extends/nested-intermediate.yml b/tests/fixtures/extends/nested-intermediate.yml
new file mode 100644
index 00000000..c2dd8c94
--- /dev/null
+++ b/tests/fixtures/extends/nested-intermediate.yml
@@ -0,0 +1,6 @@
+webintermediate:
+ extends:
+ file: common.yml
+ service: web
+ environment:
+ - "FOO=2"
diff --git a/tests/fixtures/extends/nested.yml b/tests/fixtures/extends/nested.yml
new file mode 100644
index 00000000..6025e6d5
--- /dev/null
+++ b/tests/fixtures/extends/nested.yml
@@ -0,0 +1,6 @@
+myweb:
+ extends:
+ file: nested-intermediate.yml
+ service: webintermediate
+ environment:
+ - "BAR=2"
diff --git a/tests/fixtures/extends/no-file-specified.yml b/tests/fixtures/extends/no-file-specified.yml
new file mode 100644
index 00000000..40e43c4b
--- /dev/null
+++ b/tests/fixtures/extends/no-file-specified.yml
@@ -0,0 +1,9 @@
+myweb:
+ extends:
+ service: web
+ environment:
+ - "BAR=1"
+web:
+ image: busybox
+ environment:
+ - "BAZ=3"
diff --git a/tests/fixtures/extends/nonexistent-path-base.yml b/tests/fixtures/extends/nonexistent-path-base.yml
new file mode 100644
index 00000000..4e6c82b0
--- /dev/null
+++ b/tests/fixtures/extends/nonexistent-path-base.yml
@@ -0,0 +1,6 @@
+dnebase:
+ build: nonexistent.path
+ command: /bin/true
+ environment:
+ - FOO=1
+ - BAR=1
diff --git a/tests/fixtures/extends/nonexistent-path-child.yml b/tests/fixtures/extends/nonexistent-path-child.yml
new file mode 100644
index 00000000..d3b732f2
--- /dev/null
+++ b/tests/fixtures/extends/nonexistent-path-child.yml
@@ -0,0 +1,8 @@
+dnechild:
+ extends:
+ file: nonexistent-path-base.yml
+ service: dnebase
+ image: busybox
+ command: /bin/true
+ environment:
+ - BAR=2
diff --git a/tests/fixtures/extends/nonexistent-service.yml b/tests/fixtures/extends/nonexistent-service.yml
new file mode 100644
index 00000000..e9e17f1b
--- /dev/null
+++ b/tests/fixtures/extends/nonexistent-service.yml
@@ -0,0 +1,4 @@
+web:
+ image: busybox
+ extends:
+ service: foo
diff --git a/tests/fixtures/extends/service-with-invalid-schema.yml b/tests/fixtures/extends/service-with-invalid-schema.yml
new file mode 100644
index 00000000..00c36647
--- /dev/null
+++ b/tests/fixtures/extends/service-with-invalid-schema.yml
@@ -0,0 +1,4 @@
+myweb:
+ extends:
+ file: valid-composite-extends.yml
+ service: web
diff --git a/tests/fixtures/extends/service-with-valid-composite-extends.yml b/tests/fixtures/extends/service-with-valid-composite-extends.yml
new file mode 100644
index 00000000..6c419ed0
--- /dev/null
+++ b/tests/fixtures/extends/service-with-valid-composite-extends.yml
@@ -0,0 +1,5 @@
+myweb:
+ build: '.'
+ extends:
+ file: 'valid-composite-extends.yml'
+ service: web
diff --git a/tests/fixtures/extends/specify-file-as-self.yml b/tests/fixtures/extends/specify-file-as-self.yml
new file mode 100644
index 00000000..c24f10bc
--- /dev/null
+++ b/tests/fixtures/extends/specify-file-as-self.yml
@@ -0,0 +1,17 @@
+myweb:
+ extends:
+ file: specify-file-as-self.yml
+ service: web
+ environment:
+ - "BAR=1"
+web:
+ extends:
+ file: specify-file-as-self.yml
+ service: otherweb
+ image: busybox
+ environment:
+ - "BAZ=3"
+otherweb:
+ image: busybox
+ environment:
+ - "YEP=1"
diff --git a/tests/fixtures/extends/valid-common-config.yml b/tests/fixtures/extends/valid-common-config.yml
new file mode 100644
index 00000000..d8f13e7a
--- /dev/null
+++ b/tests/fixtures/extends/valid-common-config.yml
@@ -0,0 +1,6 @@
+myweb:
+ build: '.'
+ extends:
+ file: valid-common.yml
+ service: common-config
+ command: top
diff --git a/tests/fixtures/extends/valid-common.yml b/tests/fixtures/extends/valid-common.yml
new file mode 100644
index 00000000..07ad68e3
--- /dev/null
+++ b/tests/fixtures/extends/valid-common.yml
@@ -0,0 +1,3 @@
+common-config:
+ environment:
+ - FOO=1
diff --git a/tests/fixtures/extends/valid-composite-extends.yml b/tests/fixtures/extends/valid-composite-extends.yml
new file mode 100644
index 00000000..8816c3f3
--- /dev/null
+++ b/tests/fixtures/extends/valid-composite-extends.yml
@@ -0,0 +1,2 @@
+web:
+ command: top
diff --git a/tests/fixtures/extends/valid-interpolation-2.yml b/tests/fixtures/extends/valid-interpolation-2.yml
new file mode 100644
index 00000000..cb7bd93f
--- /dev/null
+++ b/tests/fixtures/extends/valid-interpolation-2.yml
@@ -0,0 +1,3 @@
+web:
+ build: '.'
+ hostname: "host-${HOSTNAME_VALUE}"
diff --git a/tests/fixtures/extends/valid-interpolation.yml b/tests/fixtures/extends/valid-interpolation.yml
new file mode 100644
index 00000000..68e8740f
--- /dev/null
+++ b/tests/fixtures/extends/valid-interpolation.yml
@@ -0,0 +1,5 @@
+myweb:
+ extends:
+ service: web
+ file: valid-interpolation-2.yml
+ command: top
diff --git a/tests/fixtures/extends/verbose-and-shorthand.yml b/tests/fixtures/extends/verbose-and-shorthand.yml
new file mode 100644
index 00000000..d3816302
--- /dev/null
+++ b/tests/fixtures/extends/verbose-and-shorthand.yml
@@ -0,0 +1,15 @@
+base:
+ image: busybox
+ environment:
+ - "BAR=1"
+
+verbose:
+ extends:
+ service: base
+ environment:
+ - "FOO=1"
+
+shorthand:
+ extends: base
+ environment:
+ - "FOO=2"
diff --git a/tests/fixtures/healthcheck/docker-compose.yml b/tests/fixtures/healthcheck/docker-compose.yml
new file mode 100644
index 00000000..2c45b8d8
--- /dev/null
+++ b/tests/fixtures/healthcheck/docker-compose.yml
@@ -0,0 +1,24 @@
+version: "3"
+services:
+ passes:
+ image: busybox
+ command: top
+ healthcheck:
+ test: "/bin/true"
+ interval: 1s
+ timeout: 30m
+ retries: 1
+
+ fails:
+ image: busybox
+ command: top
+ healthcheck:
+ test: ["CMD", "/bin/false"]
+ interval: 2.5s
+ retries: 2
+
+ disabled:
+ image: busybox
+ command: top
+ healthcheck:
+ disable: true
diff --git a/tests/fixtures/invalid-composefile/invalid.yml b/tests/fixtures/invalid-composefile/invalid.yml
new file mode 100644
index 00000000..0e74be44
--- /dev/null
+++ b/tests/fixtures/invalid-composefile/invalid.yml
@@ -0,0 +1,5 @@
+
+notaservice: oops
+
+web:
+ image: 'alpine:edge'
diff --git a/tests/fixtures/links-composefile/docker-compose.yml b/tests/fixtures/links-composefile/docker-compose.yml
new file mode 100644
index 00000000..930fd4c7
--- /dev/null
+++ b/tests/fixtures/links-composefile/docker-compose.yml
@@ -0,0 +1,11 @@
+db:
+ image: busybox:latest
+ command: top
+web:
+ image: busybox:latest
+ command: top
+ links:
+ - db:db
+console:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/logging-composefile-legacy/docker-compose.yml b/tests/fixtures/logging-composefile-legacy/docker-compose.yml
new file mode 100644
index 00000000..ee994107
--- /dev/null
+++ b/tests/fixtures/logging-composefile-legacy/docker-compose.yml
@@ -0,0 +1,10 @@
+simple:
+ image: busybox:latest
+ command: top
+ log_driver: "none"
+another:
+ image: busybox:latest
+ command: top
+ log_driver: "json-file"
+ log_opt:
+ max-size: "10m"
diff --git a/tests/fixtures/logging-composefile/docker-compose.yml b/tests/fixtures/logging-composefile/docker-compose.yml
new file mode 100644
index 00000000..466d13e5
--- /dev/null
+++ b/tests/fixtures/logging-composefile/docker-compose.yml
@@ -0,0 +1,14 @@
+version: "2"
+services:
+ simple:
+ image: busybox:latest
+ command: top
+ logging:
+ driver: "none"
+ another:
+ image: busybox:latest
+ command: top
+ logging:
+ driver: "json-file"
+ options:
+ max-size: "10m"
diff --git a/tests/fixtures/logs-composefile/docker-compose.yml b/tests/fixtures/logs-composefile/docker-compose.yml
new file mode 100644
index 00000000..b719c91e
--- /dev/null
+++ b/tests/fixtures/logs-composefile/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: sh -c "echo hello && tail -f /dev/null"
+another:
+ image: busybox:latest
+ command: sh -c "echo test"
diff --git a/tests/fixtures/logs-tail-composefile/docker-compose.yml b/tests/fixtures/logs-tail-composefile/docker-compose.yml
new file mode 100644
index 00000000..80d8feae
--- /dev/null
+++ b/tests/fixtures/logs-tail-composefile/docker-compose.yml
@@ -0,0 +1,3 @@
+simple:
+ image: busybox:latest
+ command: sh -c "echo a && echo b && echo c && echo d"
diff --git a/tests/fixtures/longer-filename-composefile/docker-compose.yaml b/tests/fixtures/longer-filename-composefile/docker-compose.yaml
new file mode 100644
index 00000000..a4eba2d0
--- /dev/null
+++ b/tests/fixtures/longer-filename-composefile/docker-compose.yaml
@@ -0,0 +1,3 @@
+definedinyamlnotyml:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/multiple-composefiles/compose2.yml b/tests/fixtures/multiple-composefiles/compose2.yml
new file mode 100644
index 00000000..56803380
--- /dev/null
+++ b/tests/fixtures/multiple-composefiles/compose2.yml
@@ -0,0 +1,3 @@
+yetanother:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/multiple-composefiles/docker-compose.yml b/tests/fixtures/multiple-composefiles/docker-compose.yml
new file mode 100644
index 00000000..b25beaf4
--- /dev/null
+++ b/tests/fixtures/multiple-composefiles/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+another:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/net-container/docker-compose.yml b/tests/fixtures/net-container/docker-compose.yml
new file mode 100644
index 00000000..b5506e0e
--- /dev/null
+++ b/tests/fixtures/net-container/docker-compose.yml
@@ -0,0 +1,7 @@
+foo:
+ image: busybox
+ command: top
+ net: "container:bar"
+bar:
+ image: busybox
+ command: top
diff --git a/tests/fixtures/net-container/v2-invalid.yml b/tests/fixtures/net-container/v2-invalid.yml
new file mode 100644
index 00000000..9b846295
--- /dev/null
+++ b/tests/fixtures/net-container/v2-invalid.yml
@@ -0,0 +1,10 @@
+version: "2"
+
+services:
+ foo:
+ image: busybox
+ command: top
+ bar:
+ image: busybox
+ command: top
+ net: "container:foo"
diff --git a/tests/fixtures/networks/bridge.yml b/tests/fixtures/networks/bridge.yml
new file mode 100644
index 00000000..9fa7db82
--- /dev/null
+++ b/tests/fixtures/networks/bridge.yml
@@ -0,0 +1,9 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks:
+ - bridge
+ - default
diff --git a/tests/fixtures/networks/default-network-config.yml b/tests/fixtures/networks/default-network-config.yml
new file mode 100644
index 00000000..4bd0989b
--- /dev/null
+++ b/tests/fixtures/networks/default-network-config.yml
@@ -0,0 +1,13 @@
+version: "2"
+services:
+ simple:
+ image: busybox:latest
+ command: top
+ another:
+ image: busybox:latest
+ command: top
+networks:
+ default:
+ driver: bridge
+ driver_opts:
+ "com.docker.network.bridge.enable_icc": "false"
diff --git a/tests/fixtures/networks/docker-compose.yml b/tests/fixtures/networks/docker-compose.yml
new file mode 100644
index 00000000..c11fa682
--- /dev/null
+++ b/tests/fixtures/networks/docker-compose.yml
@@ -0,0 +1,21 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks: ["front"]
+ app:
+ image: busybox
+ command: top
+ networks: ["front", "back"]
+ links:
+ - "db:database"
+ db:
+ image: busybox
+ command: top
+ networks: ["back"]
+
+networks:
+ front: {}
+ back: {}
diff --git a/tests/fixtures/networks/external-default.yml b/tests/fixtures/networks/external-default.yml
new file mode 100644
index 00000000..5c9426b8
--- /dev/null
+++ b/tests/fixtures/networks/external-default.yml
@@ -0,0 +1,12 @@
+version: "2"
+services:
+ simple:
+ image: busybox:latest
+ command: top
+ another:
+ image: busybox:latest
+ command: top
+networks:
+ default:
+ external:
+ name: composetest_external_network
diff --git a/tests/fixtures/networks/external-networks.yml b/tests/fixtures/networks/external-networks.yml
new file mode 100644
index 00000000..db75b780
--- /dev/null
+++ b/tests/fixtures/networks/external-networks.yml
@@ -0,0 +1,16 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks:
+ - networks_foo
+ - bar
+
+networks:
+ networks_foo:
+ external: true
+ bar:
+ external:
+ name: networks_bar
diff --git a/tests/fixtures/networks/missing-network.yml b/tests/fixtures/networks/missing-network.yml
new file mode 100644
index 00000000..41012535
--- /dev/null
+++ b/tests/fixtures/networks/missing-network.yml
@@ -0,0 +1,10 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks: ["foo"]
+
+networks:
+ bar: {}
diff --git a/tests/fixtures/networks/network-aliases.yml b/tests/fixtures/networks/network-aliases.yml
new file mode 100644
index 00000000..8cf7d5af
--- /dev/null
+++ b/tests/fixtures/networks/network-aliases.yml
@@ -0,0 +1,16 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks:
+ front:
+ aliases:
+ - forward_facing
+ - ahead
+ back:
+
+networks:
+ front: {}
+ back: {}
diff --git a/tests/fixtures/networks/network-internal.yml b/tests/fixtures/networks/network-internal.yml
new file mode 100755
index 00000000..1fa339b1
--- /dev/null
+++ b/tests/fixtures/networks/network-internal.yml
@@ -0,0 +1,13 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks:
+ - internal
+
+networks:
+ internal:
+ driver: bridge
+ internal: True
diff --git a/tests/fixtures/networks/network-label.yml b/tests/fixtures/networks/network-label.yml
new file mode 100644
index 00000000..fdb24f65
--- /dev/null
+++ b/tests/fixtures/networks/network-label.yml
@@ -0,0 +1,13 @@
+version: "2.1"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks:
+ - network_with_label
+
+networks:
+ network_with_label:
+ labels:
+ - "label_key=label_val"
diff --git a/tests/fixtures/networks/network-mode.yml b/tests/fixtures/networks/network-mode.yml
new file mode 100644
index 00000000..e4d070b4
--- /dev/null
+++ b/tests/fixtures/networks/network-mode.yml
@@ -0,0 +1,27 @@
+version: "2"
+
+services:
+ bridge:
+ image: busybox
+ command: top
+ network_mode: bridge
+
+ service:
+ image: busybox
+ command: top
+ network_mode: "service:bridge"
+
+ container:
+ image: busybox
+ command: top
+ network_mode: "container:composetest_network_mode_container"
+
+ host:
+ image: busybox
+ command: top
+ network_mode: host
+
+ none:
+ image: busybox
+ command: top
+ network_mode: none
diff --git a/tests/fixtures/networks/network-static-addresses.yml b/tests/fixtures/networks/network-static-addresses.yml
new file mode 100755
index 00000000..f820ff6a
--- /dev/null
+++ b/tests/fixtures/networks/network-static-addresses.yml
@@ -0,0 +1,23 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ networks:
+ static_test:
+ ipv4_address: 172.16.100.100
+ ipv6_address: fe80::1001:100
+
+networks:
+ static_test:
+ driver: bridge
+ driver_opts:
+ com.docker.network.enable_ipv6: "true"
+ ipam:
+ driver: default
+ config:
+ - subnet: 172.16.100.0/24
+ gateway: 172.16.100.1
+ - subnet: fe80::/64
+ gateway: fe80::1001:1
diff --git a/tests/fixtures/no-composefile/.gitignore b/tests/fixtures/no-composefile/.gitignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fixtures/no-composefile/.gitignore
diff --git a/tests/fixtures/no-links-composefile/docker-compose.yml b/tests/fixtures/no-links-composefile/docker-compose.yml
new file mode 100644
index 00000000..75a6a085
--- /dev/null
+++ b/tests/fixtures/no-links-composefile/docker-compose.yml
@@ -0,0 +1,9 @@
+db:
+ image: busybox:latest
+ command: top
+web:
+ image: busybox:latest
+ command: top
+console:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/no-services/docker-compose.yml b/tests/fixtures/no-services/docker-compose.yml
new file mode 100644
index 00000000..6e76ec0c
--- /dev/null
+++ b/tests/fixtures/no-services/docker-compose.yml
@@ -0,0 +1,5 @@
+version: "2"
+
+networks:
+ foo: {}
+ bar: {}
diff --git a/tests/fixtures/override-files/docker-compose.override.yml b/tests/fixtures/override-files/docker-compose.override.yml
new file mode 100644
index 00000000..b2c54060
--- /dev/null
+++ b/tests/fixtures/override-files/docker-compose.override.yml
@@ -0,0 +1,7 @@
+version: '2.2'
+services:
+ web:
+ command: "top"
+
+ db:
+ command: "top"
diff --git a/tests/fixtures/override-files/docker-compose.yml b/tests/fixtures/override-files/docker-compose.yml
new file mode 100644
index 00000000..6c3d4e17
--- /dev/null
+++ b/tests/fixtures/override-files/docker-compose.yml
@@ -0,0 +1,10 @@
+version: '2.2'
+services:
+ web:
+ image: busybox:latest
+ command: "sleep 200"
+ depends_on:
+ - db
+ db:
+ image: busybox:latest
+ command: "sleep 200"
diff --git a/tests/fixtures/override-files/extra.yml b/tests/fixtures/override-files/extra.yml
new file mode 100644
index 00000000..492c3795
--- /dev/null
+++ b/tests/fixtures/override-files/extra.yml
@@ -0,0 +1,10 @@
+version: '2.2'
+services:
+ web:
+ depends_on:
+ - db
+ - other
+
+ other:
+ image: busybox:latest
+ command: "top"
diff --git a/tests/fixtures/override-yaml-files/docker-compose.override.yaml b/tests/fixtures/override-yaml-files/docker-compose.override.yaml
new file mode 100644
index 00000000..58c67348
--- /dev/null
+++ b/tests/fixtures/override-yaml-files/docker-compose.override.yaml
@@ -0,0 +1,3 @@
+
+db:
+ command: "top"
diff --git a/tests/fixtures/override-yaml-files/docker-compose.yml b/tests/fixtures/override-yaml-files/docker-compose.yml
new file mode 100644
index 00000000..5f2909d6
--- /dev/null
+++ b/tests/fixtures/override-yaml-files/docker-compose.yml
@@ -0,0 +1,10 @@
+
+web:
+ image: busybox:latest
+ command: "sleep 100"
+ links:
+ - db
+
+db:
+ image: busybox:latest
+ command: "sleep 200"
diff --git a/tests/fixtures/pid-mode/docker-compose.yml b/tests/fixtures/pid-mode/docker-compose.yml
new file mode 100644
index 00000000..fece5a9f
--- /dev/null
+++ b/tests/fixtures/pid-mode/docker-compose.yml
@@ -0,0 +1,17 @@
+version: "2.2"
+
+services:
+ service:
+ image: busybox
+ command: top
+ pid: "service:container"
+
+ container:
+ image: busybox
+ command: top
+ pid: "container:composetest_pid_mode_container"
+
+ host:
+ image: busybox
+ command: top
+ pid: host
diff --git a/tests/fixtures/ports-composefile-scale/docker-compose.yml b/tests/fixtures/ports-composefile-scale/docker-compose.yml
new file mode 100644
index 00000000..1a2bb485
--- /dev/null
+++ b/tests/fixtures/ports-composefile-scale/docker-compose.yml
@@ -0,0 +1,6 @@
+
+simple:
+ image: busybox:latest
+ command: /bin/sleep 300
+ ports:
+ - '3000'
diff --git a/tests/fixtures/ports-composefile/docker-compose.yml b/tests/fixtures/ports-composefile/docker-compose.yml
new file mode 100644
index 00000000..c213068d
--- /dev/null
+++ b/tests/fixtures/ports-composefile/docker-compose.yml
@@ -0,0 +1,8 @@
+
+simple:
+ image: busybox:latest
+ command: top
+ ports:
+ - '3000'
+ - '49152:3001'
+ - '49153-49154:3002-3003'
diff --git a/tests/fixtures/ports-composefile/expanded-notation.yml b/tests/fixtures/ports-composefile/expanded-notation.yml
new file mode 100644
index 00000000..09a7a2bf
--- /dev/null
+++ b/tests/fixtures/ports-composefile/expanded-notation.yml
@@ -0,0 +1,15 @@
+version: '3.2'
+services:
+ simple:
+ image: busybox:latest
+ command: top
+ ports:
+ - target: 3000
+ - target: 3001
+ published: 53222
+ - target: 3002
+ published: 53223
+ protocol: tcp
+ - target: 3003
+ published: 53224
+ protocol: udp
diff --git a/tests/fixtures/restart/docker-compose.yml b/tests/fixtures/restart/docker-compose.yml
new file mode 100644
index 00000000..ecfdfbf5
--- /dev/null
+++ b/tests/fixtures/restart/docker-compose.yml
@@ -0,0 +1,17 @@
+version: "2"
+services:
+ never:
+ image: busybox
+ restart: "no"
+ always:
+ image: busybox
+ restart: always
+ on-failure:
+ image: busybox
+ restart: on-failure
+ on-failure-5:
+ image: busybox
+ restart: "on-failure:5"
+ restart-null:
+ image: busybox
+ restart: ""
diff --git a/tests/fixtures/run-workdir/docker-compose.yml b/tests/fixtures/run-workdir/docker-compose.yml
new file mode 100644
index 00000000..dc3ea86a
--- /dev/null
+++ b/tests/fixtures/run-workdir/docker-compose.yml
@@ -0,0 +1,4 @@
+service:
+ image: busybox:latest
+ working_dir: /etc
+ command: /bin/true
diff --git a/tests/fixtures/scale/docker-compose.yml b/tests/fixtures/scale/docker-compose.yml
new file mode 100644
index 00000000..a0d3b771
--- /dev/null
+++ b/tests/fixtures/scale/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '2.2'
+services:
+ web:
+ image: busybox
+ command: top
+ scale: 2
+ db:
+ image: busybox
+ command: top
diff --git a/tests/fixtures/secrets/default b/tests/fixtures/secrets/default
new file mode 100644
index 00000000..f9dc2014
--- /dev/null
+++ b/tests/fixtures/secrets/default
@@ -0,0 +1 @@
+This is the secret
diff --git a/tests/fixtures/simple-composefile-volume-ready/docker-compose.merge.yml b/tests/fixtures/simple-composefile-volume-ready/docker-compose.merge.yml
new file mode 100644
index 00000000..fe717151
--- /dev/null
+++ b/tests/fixtures/simple-composefile-volume-ready/docker-compose.merge.yml
@@ -0,0 +1,9 @@
+version: '2.2'
+services:
+ simple:
+ image: busybox:latest
+ volumes:
+ - datastore:/data1
+
+volumes:
+ datastore:
diff --git a/tests/fixtures/simple-composefile-volume-ready/docker-compose.yml b/tests/fixtures/simple-composefile-volume-ready/docker-compose.yml
new file mode 100644
index 00000000..98a7d23b
--- /dev/null
+++ b/tests/fixtures/simple-composefile-volume-ready/docker-compose.yml
@@ -0,0 +1,2 @@
+simple:
+ image: busybox:latest
diff --git a/tests/fixtures/simple-composefile-volume-ready/files/example.txt b/tests/fixtures/simple-composefile-volume-ready/files/example.txt
new file mode 100644
index 00000000..edb4d339
--- /dev/null
+++ b/tests/fixtures/simple-composefile-volume-ready/files/example.txt
@@ -0,0 +1 @@
+FILE_CONTENT
diff --git a/tests/fixtures/simple-composefile/digest.yml b/tests/fixtures/simple-composefile/digest.yml
new file mode 100644
index 00000000..08f1d993
--- /dev/null
+++ b/tests/fixtures/simple-composefile/digest.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+digest:
+ image: busybox@sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d
+ command: top
diff --git a/tests/fixtures/simple-composefile/docker-compose.yml b/tests/fixtures/simple-composefile/docker-compose.yml
new file mode 100644
index 00000000..b25beaf4
--- /dev/null
+++ b/tests/fixtures/simple-composefile/docker-compose.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+another:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/simple-composefile/ignore-pull-failures.yml b/tests/fixtures/simple-composefile/ignore-pull-failures.yml
new file mode 100644
index 00000000..a28f7922
--- /dev/null
+++ b/tests/fixtures/simple-composefile/ignore-pull-failures.yml
@@ -0,0 +1,6 @@
+simple:
+ image: busybox:latest
+ command: top
+another:
+ image: nonexisting-image:latest
+ command: top
diff --git a/tests/fixtures/simple-dockerfile/Dockerfile b/tests/fixtures/simple-dockerfile/Dockerfile
new file mode 100644
index 00000000..dd864b83
--- /dev/null
+++ b/tests/fixtures/simple-dockerfile/Dockerfile
@@ -0,0 +1,3 @@
+FROM busybox:latest
+LABEL com.docker.compose.test_image=true
+CMD echo "success"
diff --git a/tests/fixtures/simple-dockerfile/docker-compose.yml b/tests/fixtures/simple-dockerfile/docker-compose.yml
new file mode 100644
index 00000000..b0357541
--- /dev/null
+++ b/tests/fixtures/simple-dockerfile/docker-compose.yml
@@ -0,0 +1,2 @@
+simple:
+ build: .
diff --git a/tests/fixtures/simple-failing-dockerfile/Dockerfile b/tests/fixtures/simple-failing-dockerfile/Dockerfile
new file mode 100644
index 00000000..c2d06b16
--- /dev/null
+++ b/tests/fixtures/simple-failing-dockerfile/Dockerfile
@@ -0,0 +1,7 @@
+FROM busybox:latest
+LABEL com.docker.compose.test_image=true
+LABEL com.docker.compose.test_failing_image=true
+# With the following label the container wil be cleaned up automatically
+# Must be kept in sync with LABEL_PROJECT from compose/const.py
+LABEL com.docker.compose.project=composetest
+RUN exit 1
diff --git a/tests/fixtures/simple-failing-dockerfile/docker-compose.yml b/tests/fixtures/simple-failing-dockerfile/docker-compose.yml
new file mode 100644
index 00000000..b0357541
--- /dev/null
+++ b/tests/fixtures/simple-failing-dockerfile/docker-compose.yml
@@ -0,0 +1,2 @@
+simple:
+ build: .
diff --git a/tests/fixtures/sleeps-composefile/docker-compose.yml b/tests/fixtures/sleeps-composefile/docker-compose.yml
new file mode 100644
index 00000000..7c8d84f8
--- /dev/null
+++ b/tests/fixtures/sleeps-composefile/docker-compose.yml
@@ -0,0 +1,10 @@
+
+version: "2"
+
+services:
+ simple:
+ image: busybox:latest
+ command: sleep 200
+ another:
+ image: busybox:latest
+ command: sleep 200
diff --git a/tests/fixtures/stop-signal-composefile/docker-compose.yml b/tests/fixtures/stop-signal-composefile/docker-compose.yml
new file mode 100644
index 00000000..04f58aa9
--- /dev/null
+++ b/tests/fixtures/stop-signal-composefile/docker-compose.yml
@@ -0,0 +1,10 @@
+simple:
+ image: busybox:latest
+ command:
+ - sh
+ - '-c'
+ - |
+ trap 'exit 0' SIGINT
+ trap 'exit 1' SIGTERM
+ while true; do :; done
+ stop_signal: SIGINT
diff --git a/tests/fixtures/tls/ca.pem b/tests/fixtures/tls/ca.pem
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fixtures/tls/ca.pem
diff --git a/tests/fixtures/tls/cert.pem b/tests/fixtures/tls/cert.pem
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fixtures/tls/cert.pem
diff --git a/tests/fixtures/tls/key.key b/tests/fixtures/tls/key.key
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/fixtures/tls/key.key
diff --git a/tests/fixtures/top/docker-compose.yml b/tests/fixtures/top/docker-compose.yml
new file mode 100644
index 00000000..d632a836
--- /dev/null
+++ b/tests/fixtures/top/docker-compose.yml
@@ -0,0 +1,6 @@
+service_a:
+ image: busybox:latest
+ command: top
+service_b:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/unicode-environment/docker-compose.yml b/tests/fixtures/unicode-environment/docker-compose.yml
new file mode 100644
index 00000000..a41af4f0
--- /dev/null
+++ b/tests/fixtures/unicode-environment/docker-compose.yml
@@ -0,0 +1,7 @@
+version: '2'
+services:
+ simple:
+ image: busybox:latest
+ command: sh -c 'echo $$FOO'
+ environment:
+ FOO: ${BAR}
diff --git a/tests/fixtures/user-composefile/docker-compose.yml b/tests/fixtures/user-composefile/docker-compose.yml
new file mode 100644
index 00000000..3eb7d397
--- /dev/null
+++ b/tests/fixtures/user-composefile/docker-compose.yml
@@ -0,0 +1,4 @@
+service:
+ image: busybox:latest
+ user: notauser
+ command: id
diff --git a/tests/fixtures/v1-config/docker-compose.yml b/tests/fixtures/v1-config/docker-compose.yml
new file mode 100644
index 00000000..8646c4ed
--- /dev/null
+++ b/tests/fixtures/v1-config/docker-compose.yml
@@ -0,0 +1,10 @@
+net:
+ image: busybox
+volume:
+ image: busybox
+ volumes:
+ - /data
+app:
+ image: busybox
+ net: "container:net"
+ volumes_from: ["volume"]
diff --git a/tests/fixtures/v2-dependencies/docker-compose.yml b/tests/fixtures/v2-dependencies/docker-compose.yml
new file mode 100644
index 00000000..2e14b94b
--- /dev/null
+++ b/tests/fixtures/v2-dependencies/docker-compose.yml
@@ -0,0 +1,13 @@
+version: "2.0"
+services:
+ db:
+ image: busybox:latest
+ command: top
+ web:
+ image: busybox:latest
+ command: top
+ depends_on:
+ - db
+ console:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/v2-full/Dockerfile b/tests/fixtures/v2-full/Dockerfile
new file mode 100644
index 00000000..51ed0d90
--- /dev/null
+++ b/tests/fixtures/v2-full/Dockerfile
@@ -0,0 +1,4 @@
+
+FROM busybox:latest
+RUN echo something
+CMD top
diff --git a/tests/fixtures/v2-full/docker-compose.yml b/tests/fixtures/v2-full/docker-compose.yml
new file mode 100644
index 00000000..a973dd0c
--- /dev/null
+++ b/tests/fixtures/v2-full/docker-compose.yml
@@ -0,0 +1,24 @@
+
+version: "2"
+
+volumes:
+ data:
+ driver: local
+
+networks:
+ front: {}
+
+services:
+ web:
+ build: .
+ networks:
+ - front
+ - default
+ volumes_from:
+ - other
+
+ other:
+ image: busybox:latest
+ command: top
+ volumes:
+ - /data
diff --git a/tests/fixtures/v2-simple/docker-compose.yml b/tests/fixtures/v2-simple/docker-compose.yml
new file mode 100644
index 00000000..c99ae02f
--- /dev/null
+++ b/tests/fixtures/v2-simple/docker-compose.yml
@@ -0,0 +1,8 @@
+version: "2"
+services:
+ simple:
+ image: busybox:latest
+ command: top
+ another:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/v2-simple/links-invalid.yml b/tests/fixtures/v2-simple/links-invalid.yml
new file mode 100644
index 00000000..481aa404
--- /dev/null
+++ b/tests/fixtures/v2-simple/links-invalid.yml
@@ -0,0 +1,10 @@
+version: "2"
+services:
+ simple:
+ image: busybox:latest
+ command: top
+ links:
+ - another
+ another:
+ image: busybox:latest
+ command: top
diff --git a/tests/fixtures/v3-full/docker-compose.yml b/tests/fixtures/v3-full/docker-compose.yml
new file mode 100644
index 00000000..2bc0e248
--- /dev/null
+++ b/tests/fixtures/v3-full/docker-compose.yml
@@ -0,0 +1,57 @@
+version: "3.2"
+services:
+ web:
+ image: busybox
+
+ deploy:
+ mode: replicated
+ replicas: 6
+ labels: [FOO=BAR]
+ update_config:
+ parallelism: 3
+ delay: 10s
+ failure_action: continue
+ monitor: 60s
+ max_failure_ratio: 0.3
+ resources:
+ limits:
+ cpus: '0.001'
+ memory: 50M
+ reservations:
+ cpus: '0.0001'
+ memory: 20M
+ restart_policy:
+ condition: on_failure
+ delay: 5s
+ max_attempts: 3
+ window: 120s
+ placement:
+ constraints: [node=foo]
+
+ healthcheck:
+ test: cat /etc/passwd
+ interval: 10s
+ timeout: 1s
+ retries: 5
+
+ volumes:
+ - source: /host/path
+ target: /container/path
+ type: bind
+ read_only: true
+ - source: foobar
+ type: volume
+ target: /container/volumepath
+ - type: volume
+ target: /anonymous
+ - type: volume
+ source: foobar
+ target: /container/volumepath2
+ volume:
+ nocopy: true
+
+ stop_grace_period: 20s
+volumes:
+ foobar:
+ labels:
+ com.docker.compose.test: 'true'
diff --git a/tests/fixtures/volume-path-interpolation/docker-compose.yml b/tests/fixtures/volume-path-interpolation/docker-compose.yml
new file mode 100644
index 00000000..6d4e236a
--- /dev/null
+++ b/tests/fixtures/volume-path-interpolation/docker-compose.yml
@@ -0,0 +1,5 @@
+test:
+ image: busybox
+ command: top
+ volumes:
+ - "~/${VOLUME_NAME}:/container-path"
diff --git a/tests/fixtures/volume-path/common/services.yml b/tests/fixtures/volume-path/common/services.yml
new file mode 100644
index 00000000..2dbf7596
--- /dev/null
+++ b/tests/fixtures/volume-path/common/services.yml
@@ -0,0 +1,5 @@
+db:
+ image: busybox
+ volumes:
+ - ./foo:/foo
+ - ./bar:/bar
diff --git a/tests/fixtures/volume-path/docker-compose.yml b/tests/fixtures/volume-path/docker-compose.yml
new file mode 100644
index 00000000..af433c52
--- /dev/null
+++ b/tests/fixtures/volume-path/docker-compose.yml
@@ -0,0 +1,6 @@
+db:
+ extends:
+ file: common/services.yml
+ service: db
+ volumes:
+ - ./bar:/bar
diff --git a/tests/fixtures/volume/docker-compose.yml b/tests/fixtures/volume/docker-compose.yml
new file mode 100644
index 00000000..4335b0a0
--- /dev/null
+++ b/tests/fixtures/volume/docker-compose.yml
@@ -0,0 +1,11 @@
+version: '2'
+services:
+ test:
+ image: busybox
+ command: top
+ volumes:
+ - /container-path
+ - testvolume:/container-named-path
+
+volumes:
+ testvolume: {}
diff --git a/tests/fixtures/volumes-from-container/docker-compose.yml b/tests/fixtures/volumes-from-container/docker-compose.yml
new file mode 100644
index 00000000..495fcaae
--- /dev/null
+++ b/tests/fixtures/volumes-from-container/docker-compose.yml
@@ -0,0 +1,5 @@
+version: "2"
+services:
+ test:
+ image: busybox
+ volumes_from: ["container:composetest_data_container"]
diff --git a/tests/fixtures/volumes/docker-compose.yml b/tests/fixtures/volumes/docker-compose.yml
new file mode 100644
index 00000000..da711ac4
--- /dev/null
+++ b/tests/fixtures/volumes/docker-compose.yml
@@ -0,0 +1,2 @@
+version: '2.1'
+services: {}
diff --git a/tests/fixtures/volumes/external-volumes-v2-x.yml b/tests/fixtures/volumes/external-volumes-v2-x.yml
new file mode 100644
index 00000000..3b736c5f
--- /dev/null
+++ b/tests/fixtures/volumes/external-volumes-v2-x.yml
@@ -0,0 +1,17 @@
+version: "2.1"
+
+services:
+ web:
+ image: busybox
+ command: top
+ volumes:
+ - foo:/var/lib/
+ - bar:/etc/
+
+volumes:
+ foo:
+ external: true
+ name: some_foo
+ bar:
+ external:
+ name: some_bar
diff --git a/tests/fixtures/volumes/external-volumes-v2.yml b/tests/fixtures/volumes/external-volumes-v2.yml
new file mode 100644
index 00000000..4025b53b
--- /dev/null
+++ b/tests/fixtures/volumes/external-volumes-v2.yml
@@ -0,0 +1,16 @@
+version: "2"
+
+services:
+ web:
+ image: busybox
+ command: top
+ volumes:
+ - foo:/var/lib/
+ - bar:/etc/
+
+volumes:
+ foo:
+ external: true
+ bar:
+ external:
+ name: some_bar
diff --git a/tests/fixtures/volumes/external-volumes-v3-4.yml b/tests/fixtures/volumes/external-volumes-v3-4.yml
new file mode 100644
index 00000000..76c8421d
--- /dev/null
+++ b/tests/fixtures/volumes/external-volumes-v3-4.yml
@@ -0,0 +1,17 @@
+version: "3.4"
+
+services:
+ web:
+ image: busybox
+ command: top
+ volumes:
+ - foo:/var/lib/
+ - bar:/etc/
+
+volumes:
+ foo:
+ external: true
+ name: some_foo
+ bar:
+ external:
+ name: some_bar
diff --git a/tests/fixtures/volumes/external-volumes-v3-x.yml b/tests/fixtures/volumes/external-volumes-v3-x.yml
new file mode 100644
index 00000000..903fee64
--- /dev/null
+++ b/tests/fixtures/volumes/external-volumes-v3-x.yml
@@ -0,0 +1,16 @@
+version: "3.0"
+
+services:
+ web:
+ image: busybox
+ command: top
+ volumes:
+ - foo:/var/lib/
+ - bar:/etc/
+
+volumes:
+ foo:
+ external: true
+ bar:
+ external:
+ name: some_bar
diff --git a/tests/fixtures/volumes/volume-label.yml b/tests/fixtures/volumes/volume-label.yml
new file mode 100644
index 00000000..a5f33a5a
--- /dev/null
+++ b/tests/fixtures/volumes/volume-label.yml
@@ -0,0 +1,13 @@
+version: "2.1"
+
+services:
+ web:
+ image: busybox
+ command: top
+ volumes:
+ - volume_with_label:/data
+
+volumes:
+ volume_with_label:
+ labels:
+ - "label_key=label_val"