2017-08-31 12:46:26 +00:00
|
|
|
#!/usr/bin/env bats
|
|
|
|
|
|
|
|
load helpers
|
|
|
|
|
|
|
|
IMAGE="alpine:latest"
|
|
|
|
|
|
|
|
function teardown() {
|
|
|
|
cleanup_test
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "kpod push to containers/storage" {
|
2017-10-24 19:39:27 +00:00
|
|
|
echo # Pull down the image: it gets the name $IMAGE.
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug pull "$IMAGE"
|
2017-08-31 12:46:26 +00:00
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
2017-10-24 19:39:27 +00:00
|
|
|
echo # Push the image right back into storage: it now has two names.
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug push "$IMAGE" containers-storage:busybox:test
|
2017-08-31 12:46:26 +00:00
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
2017-10-24 19:39:27 +00:00
|
|
|
echo # Try to remove it using the first name. Should be refused.
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug rmi "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -ne 0 ]
|
|
|
|
echo # Try to remove it using the second name. Should also be refused.
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug rmi busybox:test
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -ne 0 ]
|
|
|
|
echo # Force removal despite having multiple names. Should succeed.
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug rmi -f busybox:test
|
2017-08-31 12:46:26 +00:00
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "kpod push to directory" {
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
run mkdir /tmp/busybox
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" dir:/tmp/busybox
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
rm -rf /tmp/busybox
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "kpod push to docker archive" {
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" docker-archive:/tmp/busybox-archive:1.26
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
rm /tmp/busybox-archive
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
}
|
|
|
|
|
2017-10-13 21:04:57 +00:00
|
|
|
@test "kpod push to oci-archive without compression" {
|
2017-08-31 12:46:26 +00:00
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
2017-10-13 21:04:57 +00:00
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" oci-archive:/tmp/oci-busybox.tar:alpine
|
2017-08-31 12:46:26 +00:00
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
2017-10-13 21:04:57 +00:00
|
|
|
rm -f /tmp/oci-busybox.tar
|
2017-08-31 12:46:26 +00:00
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
}
|
|
|
|
|
|
|
|
@test "kpod push without signatures" {
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
run mkdir /tmp/busybox
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS push --remove-signatures "$IMAGE" dir:/tmp/busybox
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
rm -rf /tmp/busybox
|
|
|
|
run ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE"
|
|
|
|
echo "$output"
|
|
|
|
[ "$status" -eq 0 ]
|
|
|
|
}
|