github.com/AbhinandanKurakure/podman/v3@v3.4.10/test/apiv2/40-pods.at (about) 1 # -*- sh -*- 2 # 3 # test pod-related endpoints 4 # 5 6 t GET "libpod/pods/json (clean slate at start)" 200 '[]' 7 8 t POST libpod/pods/create name=foo 201 .Id~[0-9a-f]\\{64\\} 9 pod_id=$(jq -r .Id <<<"$output") 10 t GET libpod/pods/foo/exists 204 11 t GET libpod/pods/$pod_id/exists 204 12 t GET libpod/pods/notfoo/exists 404 13 t GET libpod/pods/foo/json 200 \ 14 .Name=foo \ 15 .Id=$pod_id \ 16 .Containers\|length=1 17 t GET libpod/pods/json 200 \ 18 .[0].Name=foo \ 19 .[0].Id=$pod_id \ 20 .[0].Containers\|length=1 21 22 t GET libpod/pods/json?filters='{"until":["500000"]}' 200 length=0 23 t GET libpod/pods/json?filters='{"until":["5000000000"]}' 200 length=1 24 25 # Cannot create a dup pod with the same name 26 t POST "libpod/pods/create (dup pod)" name=foo 409 \ 27 .cause="pod already exists" 28 29 #t POST libpod/pods/create a=b 400 .cause='bad parameter' # FIXME: unimplemented 30 31 t POST libpod/pods/foo/start 200 \ 32 .Errs=null \ 33 .Id=$pod_id 34 35 t POST libpod/pods/foo/start 304 \ 36 37 t POST libpod/pods/fakename/start 404 \ 38 .cause="no such pod" \ 39 .message="no pod with name or ID fakename found: no such pod" 40 41 if root || have_cgroupsv2; then 42 t POST libpod/pods/foo/pause 200 43 else 44 # Rootless cgroupsv1 : unsupported 45 t POST "libpod/pods/foo/pause (rootless cgroups v1)" 500 \ 46 .cause="this container does not have a cgroup" \ 47 .message~".*pause pods containing rootless containers with cgroup V1" 48 fi 49 t POST libpod/pods/foo/unpause 200 50 t POST "libpod/pods/foo/unpause (2nd unpause in a row)" 200 51 t POST "libpod/pods/fakename/unpause" 404\ 52 .cause="no such pod" \ 53 .message="no pod with name or ID fakename found: no such pod" 54 55 56 t POST libpod/pods/foo/stop 200 \ 57 .Errs=null \ 58 .Id=$pod_id 59 60 t POST "libpod/pods/foo/stop (pod is already stopped)" 304 61 t POST "libpod/pods/fakename/stop" 404\ 62 .cause="no such pod" \ 63 .message="no pod with name or ID fakename found: no such pod" 64 65 t POST libpod/pods/foo/restart 200 \ 66 .Errs=null \ 67 .Id=$pod_id 68 69 t POST "libpod/pods/bar/restart (restart on nonexistent pod)" 404 70 t POST libpod/pods/create name=bar 201 .Id~[0-9a-f]\\{64\\} 71 pod_bar_id=$(jq -r .Id <<<"$output") 72 73 t POST libpod/pods/bar/restart 200 \ 74 .Errs=null \ 75 .Id=$pod_bar_id 76 77 t GET libpod/pods/bar/json 200 \ 78 .State=Running 79 80 t POST libpod/pods/bar/restart 200 \ 81 .Errs=null \ 82 .Id=$pod_bar_id 83 84 t POST "libpod/pods/bar/stop?t=invalid" 400 \ 85 .cause="schema: error converting value for \"t\"" \ 86 .message~"failed to parse parameters for" 87 88 podman run -d --pod bar busybox sleep 999 89 90 t POST libpod/pods/bar/stop?t=1 200 \ 91 .Errs=null \ 92 .Id=$pod_bar_id 93 94 t POST libpod/pods/bar/start 200 95 96 t GET libpod/pods/stats?all=true 200 97 is $(jq '. | length' <<<"$output") 3 "stats?all=true: number of records found" 98 99 t GET libpod/pods/stats?namesOrIDs=foo 200 100 is $(jq '. | length' <<<"$output") 1 "stats?namesOrIDs=foo: number of records found" 101 102 t GET libpod/pods/stats?namesOrIDs=fakename 404 \ 103 .cause="no such pod" \ 104 .message="unable to get list of pods: no pod with name or ID fakename found: no such pod" 105 106 t DELETE libpod/pods/bar?force=true 200 107 108 # test the fake name 109 t GET libpod/pods/fakename/top 404 \ 110 .cause="no such pod" 111 112 t GET libpod/pods/foo/top 200 \ 113 .Processes[0][-1]="/pause " \ 114 .Titles[-1]="COMMAND" 115 116 t GET libpod/pods/foo/top?ps_args=args,pid 200 \ 117 .Processes[0][0]="/pause " \ 118 .Processes[0][1]="1" \ 119 .Titles[0]="COMMAND" \ 120 .Titles[1]="PID" \ 121 122 #api list pods sanity checks 123 t GET libpod/pods/json?filters='garb1age}' 400 \ 124 .cause="invalid character 'g' looking for beginning of value" 125 t GET libpod/pods/json?filters='{"label":["testl' 400 \ 126 .cause="unexpected end of JSON input" 127 128 # FIXME: I'm not sure what 'prune' is supposed to do; as of 20200224 it 129 # just returns 200 (ok) with empty result list. 130 #t POST libpod/pods/prune 200 # FIXME: 2020-02-24 returns 200 {} 131 #t POST libpod/pods/prune 'a=b' 400 # FIXME: 2020-02-24 returns 200 132 133 # Clean up; and try twice, making sure that the second time fails 134 t DELETE libpod/pods/foo 200 135 t DELETE "libpod/pods/foo (pod has already been deleted)" 404 136 137 # vim: filetype=sh