summaryrefslogtreecommitdiff
path: root/test/apiv2/01-basic.at
diff options
context:
space:
mode:
Diffstat (limited to 'test/apiv2/01-basic.at')
-rw-r--r--test/apiv2/01-basic.at71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/apiv2/01-basic.at b/test/apiv2/01-basic.at
new file mode 100644
index 000000000..0e94ddb7a
--- /dev/null
+++ b/test/apiv2/01-basic.at
@@ -0,0 +1,71 @@
+# -*- 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
+#
+# Some day perhaps it will always be runc; for now, cgroupsv2 requires crun
+#
+# FIXME: run 'podman info --format=json', and compare select fields
+runtime=runc
+if have_cgroupsv2; then
+ runtime=crun
+fi
+t GET info 200 \
+ .OSType=linux \
+ .DefaultRuntime~.*$runtime \
+ .MemTotal~[0-9]\\+
+
+# Timing: make sure server stays responsive
+t0=$SECONDS
+for i in $(seq 1 10); do
+ # FIXME: someday: refactor t(), separate out the 'curl' logic so we
+ # can call it directly. Then we won't get ten annoying 'ok' lines.
+ t GET info 200
+done
+t1=$SECONDS
+delta_t=$((t1 - t2))
+if [ $delta_t -le 5 ]; then
+ _show_ok 1 "Time for ten /info requests ($delta_t seconds) <= 5s"
+else
+ _show_ok 0 "Time for ten /info requests" "<= 5 seconds" "$delta_t seconds"
+fi
+
+# vim: filetype=sh