summaryrefslogtreecommitdiff
path: root/test/kpod_push.bats
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2017-11-01 11:24:59 -0400
committerMatthew Heon <matthew.heon@gmail.com>2017-11-01 11:24:59 -0400
commita031b83a09a8628435317a03f199cdc18b78262f (patch)
treebc017a96769ce6de33745b8b0b1304ccf38e9df0 /test/kpod_push.bats
parent2b74391cd5281f6fdf391ff8ad50fd1490f6bf89 (diff)
downloadpodman-a031b83a09a8628435317a03f199cdc18b78262f.tar.gz
podman-a031b83a09a8628435317a03f199cdc18b78262f.tar.bz2
podman-a031b83a09a8628435317a03f199cdc18b78262f.zip
Initial checkin from CRI-O repo
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Diffstat (limited to 'test/kpod_push.bats')
-rw-r--r--test/kpod_push.bats90
1 files changed, 90 insertions, 0 deletions
diff --git a/test/kpod_push.bats b/test/kpod_push.bats
new file mode 100644
index 000000000..e8fe4fdbc
--- /dev/null
+++ b/test/kpod_push.bats
@@ -0,0 +1,90 @@
+#!/usr/bin/env bats
+
+load helpers
+
+IMAGE="alpine:latest"
+
+function teardown() {
+ cleanup_test
+}
+
+@test "kpod push to containers/storage" {
+ echo # Pull down the image: it gets the name $IMAGE.
+ run ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug pull "$IMAGE"
+ echo "$output"
+ [ "$status" -eq 0 ]
+ 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
+ echo "$output"
+ [ "$status" -eq 0 ]
+ 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
+ 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 ]
+}
+
+@test "kpod push to oci-archive without compression" {
+ run ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE"
+ echo "$output"
+ [ "$status" -eq 0 ]
+ run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" oci-archive:/tmp/oci-busybox.tar:alpine
+ echo "$output"
+ [ "$status" -eq 0 ]
+ rm -f /tmp/oci-busybox.tar
+ 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 ]
+}