mirror of
https://github.com/containers/podman.git
synced 2025-08-06 03:19:52 +08:00

kpod save can now save images to directories using the dir transport. Manifest conversion is also possible. To save with the oci manifest type set --format to oci-dir and to save with the v2s2(docker) manifest type, set --format to docker-dir. The layers can be compressed as well when saving to a directory using the --compress flag. Added functionality to kpod load to be able to load image from a directory Signed-off-by: umohnani8 <umohnani@redhat.com> Closes: #137 Approved by: rhatdan
82 lines
2.2 KiB
Bash
82 lines
2.2 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load helpers
|
|
|
|
function setup() {
|
|
copy_images
|
|
}
|
|
|
|
function teardown() {
|
|
cleanup_test
|
|
}
|
|
@test "kpod load input flag" {
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $ALPINE
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $ALPINE
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alpine.tar
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
rm -f alpine.tar
|
|
}
|
|
|
|
@test "kpod load oci-archive image" {
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $ALPINE
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alpine.tar
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
rm -f alpine.tar
|
|
}
|
|
|
|
@test "kpod load oci-archive image with signature-policy" {
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $ALPINE
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE
|
|
[ "$status" -eq 0 ]
|
|
cp /etc/containers/policy.json /tmp
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load --signature-policy /tmp/policy.json -i alpine.tar
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
rm -f /tmp/policy.json
|
|
rm -f alpine.tar
|
|
}
|
|
|
|
@test "kpod load using quiet flag" {
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $ALPINE
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $ALPINE
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -q -i alpine.tar
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
rm -f alpine.tar
|
|
}
|
|
|
|
@test "kpod load directory" {
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save --format oci-dir -o alp-dir $ALPINE
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $ALPINE
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alp-dir
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi alp-dir
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "kpod load non-existent file" {
|
|
run ${KPOD_BINARY} ${KPOD_OPTIONS} load -i alpine.tar
|
|
echo "$output"
|
|
[ "$status" -ne 0 ]
|
|
}
|