mirror of
https://github.com/containers/podman.git
synced 2025-10-18 11:42:55 +08:00

Lots has changed since I first checked this in: * Switch to new podman system service invocation * /containers API has changed drastically * /pods API has some fixes; check for them (e.g. container-exists is now 409 Conflict, not 500) * One test ('?invalidparam=x') still doesn't work; comment it out so we can get everything passing. Also, some work on the test framework itself: * Cleaner port-open testing (the bash /dev/tcp check). * Add a 'podman' function to invoke local podman and log its output. The above two allow us to: * Get rid of stderr special-casing Furthermore: * t() no longer needs leading '.'; this allows jq features such as 'length' and perhaps other filters * special-case handling of 204 and 304: rfc2616 demands that they return no message body; assert that it is so. * new root & rootless helper functions (check server) * remove the "unlikely to work" message for rootless; it seems to be working fine * fix pod tests for rootless * BUT: add a bolder FIXME because the ID field seems wrong Signed-off-by: Ed Santiago <santiago@redhat.com>
51 lines
1.4 KiB
Bash
51 lines
1.4 KiB
Bash
# -*- sh -*-
|
|
#
|
|
# The earliest most basic tests. If any of these fail, life is bad
|
|
#
|
|
|
|
# NOTE: paths with a leading slash will be interpreted as-is;
|
|
# paths without will have '/v1.40/' prepended.
|
|
t GET /_ping 200 OK
|
|
t HEAD /_ping 200
|
|
t GET /libpod/_ping 200 OK
|
|
|
|
for i in /version version; do
|
|
t GET $i 200 \
|
|
.Components[0].Name="Podman Engine" \
|
|
.Components[0].Details.APIVersion=1.40 \
|
|
.Components[0].Details.MinAPIVersion=1.24 \
|
|
.Components[0].Details.Os=linux \
|
|
.ApiVersion=1.40 \
|
|
.MinAPIVersion=1.24 \
|
|
.Os=linux
|
|
done
|
|
|
|
#
|
|
# Garbage tests - requests that should yield errors
|
|
#
|
|
t GET /nonesuch 404
|
|
t POST /nonesuch '' 404
|
|
t GET container/nonesuch/json 404
|
|
t GET libpod/containers/nonesuch/json 404
|
|
|
|
#### FIXME: maybe someday: t GET 'libpod/containers/json?a=b' 400
|
|
|
|
# Method not allowed
|
|
t POST /_ping '' 405
|
|
t DELETE /_ping 405
|
|
t POST libpod/containers/json '' 405
|
|
t POST libpod/pods/abc '' 405
|
|
t POST info '' 405
|
|
t GET libpod/containers/create 405
|
|
|
|
#
|
|
# system info
|
|
#
|
|
# FIXME: run 'podman info --format=json', and compare select fields
|
|
t GET info 200 \
|
|
.OSType=linux \
|
|
.DefaultRuntime=runc \
|
|
.MemTotal~[0-9]\\+
|
|
|
|
# vim: filetype=sh
|