summaryrefslogtreecommitdiff
path: root/test/apiv2/01-basic.at
diff options
context:
space:
mode:
authorEd Santiago <santiago@redhat.com>2020-01-17 08:44:40 -0700
committerEd Santiago <santiago@redhat.com>2020-01-17 09:59:22 -0700
commitc2f50499c9e344a4bff56719fe66fa846ae3064d (patch)
tree4c40cbde7622f0409682bf1674fece4581fe4b2f /test/apiv2/01-basic.at
parentf5e614b63f641078b3a74b048f815fea54d03475 (diff)
downloadpodman-c2f50499c9e344a4bff56719fe66fa846ae3064d.tar.gz
podman-c2f50499c9e344a4bff56719fe66fa846ae3064d.tar.bz2
podman-c2f50499c9e344a4bff56719fe66fa846ae3064d.zip
Tests for API v2
Initial framework for testing the version 2 (HTTP) API. Includes a collection of tests for some of the existing endpoints. Not all tests are currently passing. Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/apiv2/01-basic.at')
-rw-r--r--test/apiv2/01-basic.at49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/apiv2/01-basic.at b/test/apiv2/01-basic.at
new file mode 100644
index 000000000..e87ec534c
--- /dev/null
+++ b/test/apiv2/01-basic.at
@@ -0,0 +1,49 @@
+# -*- 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
+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