# -*- 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

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