tests: migrate ops test to bats
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
122
tests/ops/dockerbuild/main.cue
Normal file
122
tests/ops/dockerbuild/main.cue
Normal file
@@ -0,0 +1,122 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"dagger.io/dagger"
|
||||
"dagger.io/dagger/op"
|
||||
)
|
||||
|
||||
// Set to `--input-dir=./tests/dockerbuild/testdata`
|
||||
TestData: dagger.#Artifact
|
||||
|
||||
TestInlinedDockerfile: #up: [
|
||||
op.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
RUN echo hello world
|
||||
"""
|
||||
},
|
||||
]
|
||||
|
||||
TestOpChaining: #up: [
|
||||
op.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
RUN echo foobar > /output
|
||||
"""
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /output) = foobar"]
|
||||
},
|
||||
]
|
||||
|
||||
TestBuildContext: #up: [
|
||||
op.#DockerBuild & {
|
||||
context: TestData
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /dir/foo) = foobar"]
|
||||
},
|
||||
]
|
||||
|
||||
TestBuildContextAndDockerfile: #up: [
|
||||
op.#DockerBuild & {
|
||||
context: TestData
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
COPY foo /override
|
||||
"""
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /override) = foobar"]
|
||||
},
|
||||
]
|
||||
|
||||
TestDockerfilePath: #up: [
|
||||
op.#DockerBuild & {
|
||||
context: TestData
|
||||
dockerfilePath: "./dockerfilepath/Dockerfile.custom"
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /test) = dockerfilePath"]
|
||||
},
|
||||
]
|
||||
|
||||
TestBuildArgs: #up: [
|
||||
op.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
ARG TEST=foo
|
||||
RUN test "${TEST}" = "bar"
|
||||
"""
|
||||
buildArg: TEST: "bar"
|
||||
},
|
||||
]
|
||||
|
||||
// FIXME: this doesn't test anything beside not crashing
|
||||
TestBuildLabels: #up: [
|
||||
op.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
"""
|
||||
label: FOO: "bar"
|
||||
},
|
||||
]
|
||||
|
||||
// FIXME: this doesn't test anything beside not crashing
|
||||
TestBuildPlatform: #up: [
|
||||
op.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
"""
|
||||
platforms: ["linux/amd64"]
|
||||
},
|
||||
]
|
||||
|
||||
TestImageMetadata: #up: [
|
||||
op.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
ENV CHECK foobar
|
||||
ENV DOUBLECHECK test
|
||||
"""
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["sh", "-c", #"""
|
||||
env
|
||||
test "$CHECK" = "foobar"
|
||||
"""#]
|
||||
},
|
||||
]
|
||||
|
||||
// Make sure the metadata is carried over with a `Load`
|
||||
TestImageMetadataIndirect: #up: [
|
||||
op.#Load & {
|
||||
from: TestImageMetadata
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["sh", "-c", #"""
|
||||
env
|
||||
test "$DOUBLECHECK" = "test"
|
||||
"""#]
|
||||
},
|
||||
]
|
3
tests/ops/dockerbuild/testdata/Dockerfile
vendored
Normal file
3
tests/ops/dockerbuild/testdata/Dockerfile
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
COPY . /dir
|
||||
RUN test $(cat /dir/foo) = foobar
|
2
tests/ops/dockerbuild/testdata/dockerfilepath/Dockerfile.custom
vendored
Normal file
2
tests/ops/dockerbuild/testdata/dockerfilepath/Dockerfile.custom
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
RUN echo dockerfilePath > /test
|
1
tests/ops/dockerbuild/testdata/foo
vendored
Normal file
1
tests/ops/dockerbuild/testdata/foo
vendored
Normal file
@@ -0,0 +1 @@
|
||||
foobar
|
Reference in New Issue
Block a user