podman/test/apiv2/25-containersMore.at

72 lines
1.6 KiB
Bash

# -*- sh -*-
#
# test more container-related endpoints
#
podman pull $IMAGE &>/dev/null
# Ensure clean slate
podman rm -a -f &>/dev/null
podman run -d --name foo $IMAGE top
# Check exists for none such
t GET libpod/containers/nonesuch/exists 404
# Check container foo exists
t GET libpod/containers/foo/exists 204
# Pause the container
t POST libpod/containers/foo/pause 204
t GET libpod/containers/foo/json 200 \
.Id~[0-9a-f]\\{64\\} \
.State.Status=paused \
.ImageName=$IMAGE \
.Config.Cmd[0]=top \
.Name=foo
# Unpause the container
t POST libpod/containers/foo/unpause 204
t GET libpod/containers/foo/json 200 \
.Id~[0-9a-f]\\{64\\} \
.State.Status=running \
.ImageName=$IMAGE \
.Config.Cmd[0]=top \
.Name=foo
# List processes of the container
t GET libpod/containers/foo/top 200 \
length=2 \
.Processes[0][7]="top"
# List processes of none such
t GET libpod/containers/nonesuch/top 404
# Mount the container to host filesystem
t POST libpod/containers/foo/mount 200
like "$output" ".*merged" "Check container mount"
# Unmount the container
t POST libpod/containers/foo/unmount 204
# export the container fs to tarball
t GET libpod/containers/foo/export 200
like "$(<$WORKDIR/curl.headers.out)" ".*"Content-Type\: application/x-tar".*"
tar_tf=$(tar tf $WORKDIR/curl.result.out)
like "$tar_tf" ".*bin/cat.*" "fetched tarball: contains bin/cat path"
t DELETE libpod/containers/foo?force=true 200
# Create 3 stopped containers to test containers prune
podman run $IMAGE true
podman run $IMAGE true
podman run $IMAGE true
t POST libpod/containers/prune 200
t GET libpod/containers/json 200 \
length=0
# vim: filetype=sh