mirror of
https://github.com/containers/podman.git
synced 2025-05-21 00:56:36 +08:00

podman commit allows the user to commit containers as images with options of tagging th image, setting a commit message, setting the auther, and making changes to the instructions. Signed-off-by: umohnani8 <umohnani@redhat.com> Closes: #143 Approved by: rhatdan
123 lines
4.2 KiB
Bash
123 lines
4.2 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load helpers
|
|
|
|
IMAGE="redis:alpine"
|
|
|
|
function teardown() {
|
|
cleanup_test
|
|
}
|
|
|
|
function setup() {
|
|
prepare_network_conf
|
|
copy_images
|
|
}
|
|
|
|
@test "podman commit default" {
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d --name my_ctr ${FEDORA_MINIMAL} sleep 6000"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} commit my_ctr image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} images | grep image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rmi image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stop my_ctr"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "podman commit with message flag" {
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d --name my_ctr ${FEDORA_MINIMAL} sleep 6000"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} commit --message testing-commit my_ctr image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} inspect image-committed | grep testing-commit"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rmi image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stop my_ctr"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "podman commit with author flag" {
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d --name my_ctr ${FEDORA_MINIMAL} sleep 6000"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} commit --author author-name my_ctr image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} inspect image-committed | grep author-name"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rmi image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stop my_ctr"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "podman commit with change flag" {
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d --name my_ctr ${FEDORA_MINIMAL} sleep 6000"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} commit --change LABEL=image=blue my_ctr image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} inspect image-committed | grep blue"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rmi image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stop my_ctr"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "podman commit with pause flag" {
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} run -d --name my_ctr ${FEDORA_MINIMAL} sleep 6000"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} commit --pause=false my_ctr image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} images | grep image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rmi image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} stop my_ctr"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|
|
|
|
@test "podman commit non-running container" {
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} create --name my_ctr ${FEDORA_MINIMAL} ls"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} commit my_ctr image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} images | grep image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rmi image-committed"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
run bash -c "${PODMAN_BINARY} ${PODMAN_OPTIONS} rm my_ctr"
|
|
echo "$output"
|
|
[ "$status" -eq 0 ]
|
|
}
|