mirror of https://github.com/docker/compose.git
Merge pull request #1550 from docker/local-test-cleanup
Local test cleanup
This commit is contained in:
commit
66f90098cd
|
@ -12,24 +12,12 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
# BUILD
|
# BUILD
|
||||||
FROM ubuntu:latest
|
FROM golang:1.16-alpine AS build
|
||||||
|
|
||||||
# Update and upgrade repo
|
|
||||||
RUN apt-get update -y -q && apt-get upgrade -y -q
|
|
||||||
|
|
||||||
# Install tools we might need
|
|
||||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y -q curl build-essential ca-certificates git
|
|
||||||
|
|
||||||
# Download Go 1.2.2 and install it to /usr/local/go
|
|
||||||
RUN curl -s https://storage.googleapis.com/golang/go1.2.2.linux-amd64.tar.gz| tar -v -C /usr/local -xz
|
|
||||||
|
|
||||||
# Let's people find our Go binaries
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
COPY dispatcher.go .
|
COPY dispatcher.go .
|
||||||
RUN go build dispatcher.go
|
RUN mkdir -p /out && go build -o /out/dispatcher dispatcher.go
|
||||||
|
|
||||||
|
FROM alpine AS run
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
CMD ["/dispatcher"]
|
CMD ["/dispatcher"]
|
||||||
|
|
||||||
COPY static /static/
|
COPY static /static/
|
||||||
|
COPY --from=build /out/dispatcher /dispatcher
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
FROM golang:1.16-alpine AS build
|
FROM golang:1.16-alpine AS build
|
||||||
COPY main.go .
|
COPY main.go .
|
||||||
RUN --mount=type=cache,target=/go/pkg/mod \
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
||||||
CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o server main.go
|
go build -trimpath -ldflags="-s -w" -o server main.go
|
||||||
|
|
||||||
FROM alpine
|
FROM alpine
|
||||||
RUN apk --no-cache add curl
|
RUN apk --no-cache add curl
|
||||||
|
|
|
@ -145,7 +145,7 @@ func TestAttachRestart(t *testing.T) {
|
||||||
c := NewParallelE2eCLI(t, binDir)
|
c := NewParallelE2eCLI(t, binDir)
|
||||||
|
|
||||||
res := c.RunDockerOrExitError("compose", "--ansi=never", "--project-directory", "./fixtures/attach-restart", "up")
|
res := c.RunDockerOrExitError("compose", "--ansi=never", "--project-directory", "./fixtures/attach-restart", "up")
|
||||||
defer c.RunDockerCmd("compose", "-p", "attach-restart", "down")
|
defer c.RunDockerOrExitError("compose", "-p", "attach-restart", "down")
|
||||||
output := res.Stdout()
|
output := res.Stdout()
|
||||||
|
|
||||||
exitRegex := regexp.MustCompile("another_1 exited with code 1")
|
exitRegex := regexp.MustCompile("another_1 exited with code 1")
|
||||||
|
@ -159,7 +159,7 @@ func TestInitContainer(t *testing.T) {
|
||||||
c := NewParallelE2eCLI(t, binDir)
|
c := NewParallelE2eCLI(t, binDir)
|
||||||
|
|
||||||
res := c.RunDockerOrExitError("compose", "--ansi=never", "--project-directory", "./fixtures/init-container", "up")
|
res := c.RunDockerOrExitError("compose", "--ansi=never", "--project-directory", "./fixtures/init-container", "up")
|
||||||
defer c.RunDockerCmd("compose", "-p", "init-container", "down")
|
defer c.RunDockerOrExitError("compose", "-p", "init-container", "down")
|
||||||
output := res.Stdout()
|
output := res.Stdout()
|
||||||
|
|
||||||
assert.Assert(t, strings.Contains(output, "foo_1 | hello\nbar_1 | world"), res.Combined())
|
assert.Assert(t, strings.Contains(output, "foo_1 | hello\nbar_1 | world"), res.Combined())
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
services:
|
services:
|
||||||
simple:
|
simple:
|
||||||
image: busybox:1.31.0-uclibc
|
image: alpine
|
||||||
command: sh -c "sleep 5"
|
command: sh -c "sleep 5"
|
||||||
another:
|
another:
|
||||||
image: busybox:1.31.0-uclibc
|
image: alpine
|
||||||
command: sh -c "sleep 0.1 && echo world && /bin/false"
|
command: sh -c "sleep 0.1 && echo world && /bin/false"
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
FROM nginx
|
FROM nginx:alpine
|
||||||
|
|
||||||
ARG FOO
|
ARG FOO
|
||||||
LABEL FOO=$FOO
|
LABEL FOO=$FOO
|
||||||
|
|
|
@ -12,6 +12,6 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
FROM nginx
|
FROM nginx:alpine
|
||||||
|
|
||||||
COPY static2 /usr/share/nginx/html
|
COPY static2 /usr/share/nginx/html
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
services:
|
services:
|
||||||
should_fail:
|
should_fail:
|
||||||
image: busybox:1.27.2
|
image: alpine
|
||||||
command: ls /does_not_exist
|
command: ls /does_not_exist
|
||||||
sleep: # will be killed
|
sleep: # will be killed
|
||||||
image: busybox:1.27.2
|
image: alpine
|
||||||
command: ping localhost
|
command: ping localhost
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
services:
|
services:
|
||||||
service:
|
service:
|
||||||
image: busybox
|
image: alpine
|
||||||
command: top
|
command: top
|
||||||
ipc: "service:shareable"
|
ipc: "service:shareable"
|
||||||
container:
|
container:
|
||||||
image: busybox
|
image: alpine
|
||||||
command: top
|
command: top
|
||||||
ipc: "container:ipc_mode_container"
|
ipc: "container:ipc_mode_container"
|
||||||
shareable:
|
shareable:
|
||||||
image: busybox
|
image: alpine
|
||||||
command: top
|
command: top
|
||||||
ipc: shareable
|
ipc: shareable
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
services:
|
services:
|
||||||
ping:
|
ping:
|
||||||
image: busybox:1.27.2
|
image: alpine
|
||||||
command: ping localhost -c 1
|
command: ping localhost -c 1
|
||||||
hello:
|
hello:
|
||||||
image: busybox:1.31.0-uclibc
|
image: alpine
|
||||||
command: echo hello
|
command: echo hello
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
services:
|
services:
|
||||||
mydb:
|
mydb:
|
||||||
image: mysql
|
image: mariadb
|
||||||
network_mode: "service:db"
|
network_mode: "service:db"
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
|
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
services:
|
services:
|
||||||
restart:
|
restart:
|
||||||
image: busybox
|
image: alpine
|
||||||
command: ash -c "if [[ -f /tmp/restart.lock ]] ; then sleep infinity; else touch /tmp/restart.lock; fi"
|
command: ash -c "if [[ -f /tmp/restart.lock ]] ; then sleep infinity; else touch /tmp/restart.lock; fi"
|
||||||
|
|
|
@ -8,13 +8,13 @@ services:
|
||||||
networks:
|
networks:
|
||||||
- backnet
|
- backnet
|
||||||
db:
|
db:
|
||||||
image: nginx
|
image: nginx:alpine
|
||||||
networks:
|
networks:
|
||||||
- backnet
|
- backnet
|
||||||
volumes:
|
volumes:
|
||||||
- data:/test
|
- data:/test
|
||||||
front:
|
front:
|
||||||
image: nginx
|
image: nginx:alpine
|
||||||
networks:
|
networks:
|
||||||
- frontnet
|
- frontnet
|
||||||
networks:
|
networks:
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
FROM nginx
|
FROM nginx:alpine
|
||||||
|
|
||||||
ARG FOO
|
ARG FOO
|
||||||
LABEL FOO=$FOO
|
LABEL FOO=$FOO
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
services:
|
services:
|
||||||
simple:
|
simple:
|
||||||
image: busybox:1.27.2
|
image: alpine
|
||||||
command: top
|
command: top
|
||||||
another:
|
another:
|
||||||
image: busybox:1.31.0-uclibc
|
image: alpine
|
||||||
command: top
|
command: top
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
services:
|
services:
|
||||||
simple:
|
simple:
|
||||||
image: nginx
|
image: nginx:alpine
|
||||||
another:
|
another:
|
||||||
image: nginx
|
image: nginx:alpine
|
||||||
|
|
|
@ -12,4 +12,4 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
FROM nginx
|
FROM nginx:alpine
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
services:
|
services:
|
||||||
simple:
|
simple:
|
||||||
image: nginx
|
image: nginx:alpine
|
||||||
wrongField: test
|
wrongField: test
|
||||||
|
|
|
@ -32,7 +32,7 @@ func TestIPC(t *testing.T) {
|
||||||
const projectName = "ipc_e2e"
|
const projectName = "ipc_e2e"
|
||||||
var cid string
|
var cid string
|
||||||
t.Run("create ipc mode container", func(t *testing.T) {
|
t.Run("create ipc mode container", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("run", "-d", "--rm", "--ipc=shareable", "--name", "ipc_mode_container", "busybox", "top")
|
res := c.RunDockerCmd("run", "-d", "--rm", "--ipc=shareable", "--name", "ipc_mode_container", "alpine", "top")
|
||||||
cid = strings.Trim(res.Stdout(), "\n")
|
cid = strings.Trim(res.Stdout(), "\n")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -42,23 +42,23 @@ func TestDisplayScanMessageAfterBuild(t *testing.T) {
|
||||||
|
|
||||||
t.Run("display when docker build", func(t *testing.T) {
|
t.Run("display when docker build", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("build", "-t", "test-image-scan-msg", "./fixtures/simple-build-test/nginx-build")
|
res := c.RunDockerCmd("build", "-t", "test-image-scan-msg", "./fixtures/simple-build-test/nginx-build")
|
||||||
defer c.RunDockerCmd("rmi", "-f", "test-image-scan-msg")
|
defer c.RunDockerOrExitError("rmi", "-f", "test-image-scan-msg")
|
||||||
res.Assert(t, icmd.Expected{Err: "Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them"})
|
res.Assert(t, icmd.Expected{Err: "Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them"})
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("do not display with docker build and quiet flag", func(t *testing.T) {
|
t.Run("do not display with docker build and quiet flag", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("build", "-t", "test-image-scan-msg-quiet", "--quiet", "./fixtures/simple-build-test/nginx-build")
|
res := c.RunDockerCmd("build", "-t", "test-image-scan-msg-quiet", "--quiet", "./fixtures/simple-build-test/nginx-build")
|
||||||
defer c.RunDockerCmd("rmi", "-f", "test-image-scan-msg-quiet")
|
defer c.RunDockerOrExitError("rmi", "-f", "test-image-scan-msg-quiet")
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"))
|
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"))
|
||||||
|
|
||||||
res = c.RunDockerCmd("build", "-t", "test-image-scan-msg-q", "-q", "./fixtures/simple-build-test/nginx-build")
|
res = c.RunDockerCmd("build", "-t", "test-image-scan-msg-q", "-q", "./fixtures/simple-build-test/nginx-build")
|
||||||
defer c.RunDockerCmd("rmi", "-f", "test-image-scan-msg-q")
|
defer c.RunDockerOrExitError("rmi", "-f", "test-image-scan-msg-q")
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"))
|
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("do not display if envvar DOCKER_SCAN_SUGGEST=false", func(t *testing.T) {
|
t.Run("do not display if envvar DOCKER_SCAN_SUGGEST=false", func(t *testing.T) {
|
||||||
cmd := c.NewDockerCmd("build", "-t", "test-image-scan-msg", "./fixtures/build-test/nginx-build")
|
cmd := c.NewDockerCmd("build", "-t", "test-image-scan-msg", "./fixtures/build-test/nginx-build")
|
||||||
defer c.RunDockerCmd("rmi", "-f", "test-image-scan-msg")
|
defer c.RunDockerOrExitError("rmi", "-f", "test-image-scan-msg")
|
||||||
cmd.Env = append(cmd.Env, "DOCKER_SCAN_SUGGEST=false")
|
cmd.Env = append(cmd.Env, "DOCKER_SCAN_SUGGEST=false")
|
||||||
res := icmd.StartCmd(cmd)
|
res := icmd.StartCmd(cmd)
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"), res.Combined())
|
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"), res.Combined())
|
||||||
|
@ -66,7 +66,7 @@ func TestDisplayScanMessageAfterBuild(t *testing.T) {
|
||||||
|
|
||||||
t.Run("display on compose build", func(t *testing.T) {
|
t.Run("display on compose build", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test-compose-build", "build")
|
res := c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test-compose-build", "build")
|
||||||
defer c.RunDockerCmd("rmi", "-f", "scan-msg-test-compose-build_nginx")
|
defer c.RunDockerOrExitError("rmi", "-f", "scan-msg-test-compose-build_nginx")
|
||||||
res.Assert(t, icmd.Expected{Err: "Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them"})
|
res.Assert(t, icmd.Expected{Err: "Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them"})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -77,7 +77,7 @@ func TestDisplayScanMessageAfterBuild(t *testing.T) {
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "No such image"))
|
assert.Assert(t, !strings.Contains(res.Combined(), "No such image"))
|
||||||
|
|
||||||
res = c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test-q", "build", "-q")
|
res = c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test-q", "build", "-q")
|
||||||
defer c.RunDockerCmd("rmi", "-f", "scan-msg-test-q_nginx")
|
defer c.RunDockerOrExitError("rmi", "-f", "scan-msg-test-q_nginx")
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"), res.Combined())
|
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"), res.Combined())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -85,13 +85,13 @@ func TestDisplayScanMessageAfterBuild(t *testing.T) {
|
||||||
|
|
||||||
t.Run("display on compose up if image is built", func(t *testing.T) {
|
t.Run("display on compose up if image is built", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "up", "-d")
|
res := c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "up", "-d")
|
||||||
defer c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "down")
|
defer c.RunDockerOrExitError("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "down")
|
||||||
res.Assert(t, icmd.Expected{Err: "Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them"})
|
res.Assert(t, icmd.Expected{Err: "Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them"})
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("do not display on compose up if no image built", func(t *testing.T) { // re-run the same Compose aproject
|
t.Run("do not display on compose up if no image built", func(t *testing.T) { // re-run the same Compose aproject
|
||||||
res := c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "up", "-d")
|
res := c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "up", "-d")
|
||||||
defer c.RunDockerCmd("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "down", "--rmi", "all")
|
defer c.RunDockerOrExitError("compose", "-f", "./fixtures/simple-build-test/compose.yml", "-p", "scan-msg-test", "down", "--rmi", "all")
|
||||||
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"), res.Combined())
|
assert.Assert(t, !strings.Contains(res.Combined(), "docker scan"), res.Combined())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -44,55 +44,52 @@ func TestStartStop(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Run("Up a project", func(t *testing.T) {
|
t.Run("Up a project", func(t *testing.T) {
|
||||||
res := c.RunDockerOrExitError("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "up", "-d")
|
res := c.RunDockerCmd("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "up", "-d")
|
||||||
assert.Assert(t, strings.Contains("Container e2e-start-stop_simple_1 Started", res.Stdout()), res.Stdout())
|
assert.Assert(t, strings.Contains(res.Combined(), "Container e2e-start-stop_simple_1 Started"), res.Combined())
|
||||||
|
|
||||||
res = c.RunDockerOrExitError("compose", "ls", "--all")
|
res = c.RunDockerCmd("compose", "ls", "--all")
|
||||||
testify.Regexp(t, getProjectRegx("running"), res.Stdout())
|
testify.Regexp(t, getProjectRegx("running"), res.Stdout())
|
||||||
|
|
||||||
res = c.RunDockerOrExitError("compose", "--project-name", projectName, "ps")
|
res = c.RunDockerCmd("compose", "--project-name", projectName, "ps")
|
||||||
testify.Regexp(t, getServiceRegx("simple", "running"), res.Stdout())
|
testify.Regexp(t, getServiceRegx("simple", "running"), res.Stdout())
|
||||||
testify.Regexp(t, getServiceRegx("another", "running"), res.Stdout())
|
testify.Regexp(t, getServiceRegx("another", "running"), res.Stdout())
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("stop project", func(t *testing.T) {
|
t.Run("stop project", func(t *testing.T) {
|
||||||
c.RunDockerOrExitError("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "stop")
|
c.RunDockerCmd("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "stop")
|
||||||
|
|
||||||
res := c.RunDockerOrExitError("compose", "ls")
|
res := c.RunDockerCmd("compose", "ls")
|
||||||
assert.Assert(t, !strings.Contains("e2e-start-stop", res.Combined()), res.Combined())
|
assert.Assert(t, !strings.Contains(res.Combined(), "e2e-start-stop"), res.Combined())
|
||||||
|
|
||||||
res = c.RunDockerOrExitError("compose", "ls", "--all")
|
res = c.RunDockerCmd("compose", "ls", "--all")
|
||||||
testify.Regexp(t, getProjectRegx("exited"), res.Stdout())
|
testify.Regexp(t, getProjectRegx("exited"), res.Stdout())
|
||||||
|
|
||||||
res = c.RunDockerOrExitError("compose", "--project-name", projectName, "ps")
|
res = c.RunDockerCmd("compose", "--project-name", projectName, "ps")
|
||||||
assert.Assert(t, !strings.Contains("e2e-start-stop_words_1", res.Combined()), res.Combined())
|
assert.Assert(t, !strings.Contains(res.Combined(), "e2e-start-stop_words_1"), res.Combined())
|
||||||
|
|
||||||
res = c.RunDockerOrExitError("compose", "--project-name", projectName, "ps", "--all")
|
res = c.RunDockerCmd("compose", "--project-name", projectName, "ps", "--all")
|
||||||
testify.Regexp(t, getServiceRegx("simple", "exited"), res.Stdout())
|
testify.Regexp(t, getServiceRegx("simple", "exited"), res.Stdout())
|
||||||
testify.Regexp(t, getServiceRegx("another", "exited"), res.Stdout())
|
testify.Regexp(t, getServiceRegx("another", "exited"), res.Stdout())
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("start project", func(t *testing.T) {
|
t.Run("start project", func(t *testing.T) {
|
||||||
c.RunDockerOrExitError("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "start")
|
c.RunDockerCmd("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "start")
|
||||||
|
|
||||||
res := c.RunDockerOrExitError("compose", "ls")
|
res := c.RunDockerCmd("compose", "ls")
|
||||||
testify.Regexp(t, getProjectRegx("running"), res.Stdout())
|
testify.Regexp(t, getProjectRegx("running"), res.Stdout())
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("pause project", func(t *testing.T) {
|
t.Run("pause project", func(t *testing.T) {
|
||||||
c.RunDockerOrExitError("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "pause")
|
c.RunDockerCmd("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "pause")
|
||||||
|
|
||||||
res := c.RunDockerOrExitError("compose", "ls")
|
res := c.RunDockerCmd("compose", "ls", "--all")
|
||||||
assert.Assert(t, !strings.Contains("e2e-start-stop", res.Combined()), res.Combined())
|
|
||||||
|
|
||||||
res = c.RunDockerOrExitError("compose", "ls", "--all")
|
|
||||||
testify.Regexp(t, getProjectRegx("paused"), res.Stdout())
|
testify.Regexp(t, getProjectRegx("paused"), res.Stdout())
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("unpause project", func(t *testing.T) {
|
t.Run("unpause project", func(t *testing.T) {
|
||||||
c.RunDockerOrExitError("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "unpause")
|
c.RunDockerCmd("compose", "-f", "./fixtures/start-stop/compose.yml", "--project-name", projectName, "unpause")
|
||||||
|
|
||||||
res := c.RunDockerOrExitError("compose", "ls")
|
res := c.RunDockerCmd("compose", "ls")
|
||||||
testify.Regexp(t, getProjectRegx("running"), res.Stdout())
|
testify.Regexp(t, getProjectRegx("running"), res.Stdout())
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ func TestLocalBackendRun(t *testing.T) {
|
||||||
|
|
||||||
t.Run("run", func(t *testing.T) {
|
t.Run("run", func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
res := c.RunDockerCmd("run", "-d", "nginx")
|
res := c.RunDockerCmd("run", "-d", "nginx:alpine")
|
||||||
containerName := strings.TrimSpace(res.Combined())
|
containerName := strings.TrimSpace(res.Combined())
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
_ = c.RunDockerOrExitError("rm", "-f", containerName)
|
_ = c.RunDockerOrExitError("rm", "-f", containerName)
|
||||||
|
@ -64,7 +64,7 @@ func TestLocalBackendRun(t *testing.T) {
|
||||||
|
|
||||||
t.Run("run rm", func(t *testing.T) {
|
t.Run("run rm", func(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
res := c.RunDockerCmd("run", "--rm", "-d", "nginx")
|
res := c.RunDockerCmd("run", "--rm", "-d", "nginx:alpine")
|
||||||
containerName := strings.TrimSpace(res.Combined())
|
containerName := strings.TrimSpace(res.Combined())
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
_ = c.RunDockerOrExitError("rm", "-f", containerName)
|
_ = c.RunDockerOrExitError("rm", "-f", containerName)
|
||||||
|
@ -81,7 +81,7 @@ func TestLocalBackendRun(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("run with ports", func(t *testing.T) {
|
t.Run("run with ports", func(t *testing.T) {
|
||||||
res := c.RunDockerCmd("run", "-d", "-p", "85:80", "nginx")
|
res := c.RunDockerCmd("run", "-d", "-p", "85:80", "nginx:alpine")
|
||||||
containerName := strings.TrimSpace(res.Combined())
|
containerName := strings.TrimSpace(res.Combined())
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
_ = c.RunDockerOrExitError("rm", "-f", containerName)
|
_ = c.RunDockerOrExitError("rm", "-f", containerName)
|
||||||
|
@ -101,7 +101,7 @@ func TestLocalBackendRun(t *testing.T) {
|
||||||
fields := strings.Fields(line)
|
fields := strings.Fields(line)
|
||||||
if fields[0] == nginxID {
|
if fields[0] == nginxID {
|
||||||
nginxFound = true
|
nginxFound = true
|
||||||
assert.Equal(t, fields[1], "nginx", res.Combined())
|
assert.Equal(t, fields[1], "nginx:alpine", res.Combined())
|
||||||
assert.Equal(t, fields[2], "/docker-entrypoint.sh", res.Combined())
|
assert.Equal(t, fields[2], "/docker-entrypoint.sh", res.Combined())
|
||||||
assert.Equal(t, fields[len(fields)-1], "0.0.0.0:85->80/tcp", res.Combined())
|
assert.Equal(t, fields[len(fields)-1], "0.0.0.0:85->80/tcp", res.Combined())
|
||||||
}
|
}
|
||||||
|
@ -109,7 +109,7 @@ func TestLocalBackendRun(t *testing.T) {
|
||||||
assert.Assert(t, nginxFound, res.Stdout())
|
assert.Assert(t, nginxFound, res.Stdout())
|
||||||
|
|
||||||
res = c.RunDockerCmd("ps", "--format", "json")
|
res = c.RunDockerCmd("ps", "--format", "json")
|
||||||
res.Assert(t, icmd.Expected{Out: `"Image":"nginx","Status":"Up Less than a second","Command":"/docker-entrypoint.sh nginx -g 'daemon off;'","Ports":["0.0.0.0:85->80/tcp"`})
|
res.Assert(t, icmd.Expected{Out: `"Image":"nginx:alpine","Status":"Up Less than a second","Command":"/docker-entrypoint.sh nginx -g 'daemon off;'","Ports":["0.0.0.0:85->80/tcp"`})
|
||||||
|
|
||||||
res = c.RunDockerCmd("ps", "--quiet")
|
res = c.RunDockerCmd("ps", "--quiet")
|
||||||
res.Assert(t, icmd.Expected{Out: nginxID + "\n"})
|
res.Assert(t, icmd.Expected{Out: nginxID + "\n"})
|
||||||
|
|
Loading…
Reference in New Issue