summaryrefslogtreecommitdiff
path: root/test/apiv2/40-pods.at
diff options
context:
space:
mode:
Diffstat (limited to 'test/apiv2/40-pods.at')
-rw-r--r--test/apiv2/40-pods.at50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/apiv2/40-pods.at b/test/apiv2/40-pods.at
new file mode 100644
index 000000000..70d9f8203
--- /dev/null
+++ b/test/apiv2/40-pods.at
@@ -0,0 +1,50 @@
+# -*- sh -*-
+#
+# test pod-related endpoints
+#
+
+t GET libpod/pods/json 200 null
+t POST libpod/pods/create name=foo 201 .id~[0-9a-f]\\{64\\}
+pod_id=$(jq -r .id <<<"$output")
+t GET libpod/pods/foo/exists 204
+t GET libpod/pods/$pod_id/exists 204
+t GET libpod/pods/notfoo/exists 404
+t GET libpod/pods/foo/json 200 \
+ .Config.name=foo \
+ .Config.id=$pod_id \
+ .Containers\|length=1
+t GET libpod/pods/json 200 \
+ .[0].Name=foo \
+ .[0].Id=$pod_id \
+ .[0].Containers\|length=1
+
+# Cannot create a dup pod with the same name
+t POST libpod/pods/create name=foo 409 .cause="pod already exists"
+
+#t POST libpod/pods/create a=b 400 .cause='bad parameter' # FIXME: unimplemented
+
+if root || have_cgroupsv2; then
+ t POST libpod/pods/foo/pause '' 200
+else
+ # Rootless cgroupsv1 : unsupported
+ t POST libpod/pods/foo/pause '' 500 \
+ .cause="this container does not have a cgroup" \
+ .message~".*pause pods containing rootless containers with cgroup V1"
+fi
+t POST libpod/pods/foo/unpause '' 200
+t POST libpod/pods/foo/unpause '' 200 # (2nd time)
+t POST libpod/pods/foo/stop '' 304
+t POST libpod/pods/foo/restart '' 200
+
+t POST libpod/pods/bar/restart '' 404
+
+# FIXME: I'm not sure what 'prune' is supposed to do; as of 20200224 it
+# just returns 200 (ok) with empty result list.
+#t POST libpod/pods/prune '' 200 # FIXME: 2020-02-24 returns 200 {}
+#t POST libpod/pods/prune 'a=b' 400 # FIXME: 2020-02-24 returns 200
+
+# Clean up; and try twice, making sure that the second time fails
+t DELETE libpod/pods/foo 200
+t DELETE libpod/pods/foo 404
+
+# vim: filetype=sh