mirror of https://github.com/containers/podman.git
53 lines
2.0 KiB
Bash
53 lines
2.0 KiB
Bash
# -*- sh -*-
|
|
#
|
|
# Tests for manifest list endpoints
|
|
|
|
start_registry
|
|
|
|
t POST /v3.4.0/libpod/manifests/create?name=abc 200 \
|
|
.Id~[0-9a-f]\\{64\\}
|
|
id_abc=$(jq -r '.Id' <<<"$output")
|
|
|
|
t POST /v4.0.0/libpod/manifests/xyz 201 \
|
|
.Id~[0-9a-f]\\{64\\}
|
|
id_xyz=$(jq -r '.Id' <<<"$output")
|
|
|
|
t GET /v3.4.0/libpod/manifests/$id_abc/exists 204
|
|
t GET /v4.0.0/libpod/manifests/$id_xyz/exists 204
|
|
|
|
id_abc_image=$($PODMAN_BIN --root $WORKDIR/server_root image build -q --format=docker -<<EOF
|
|
FROM alpine
|
|
RUN >file1
|
|
EOF
|
|
)
|
|
|
|
id_xyz_image=$($PODMAN_BIN --root $WORKDIR/server_root image build -q --format=docker -<<EOF
|
|
FROM alpine
|
|
RUN >file2
|
|
EOF
|
|
)
|
|
|
|
t POST /v3.4.0/libpod/manifests/$id_abc/add images="[\"containers-storage:$id_abc_image\"]" 200
|
|
t PUT /v4.0.0/libpod/manifests/$id_xyz operation='update' images="[\"containers-storage:$id_xyz_image\"]" annotations="{\"foo\":\"bar\"}" annotation="[\"hoge=fuga\"]" 400 \
|
|
.cause='can not set both Annotation and Annotations'
|
|
|
|
t PUT /v4.0.0/libpod/manifests/$id_xyz operation='update' images="[\"containers-storage:$id_xyz_image\"]" annotations="{\"foo\":\"bar\"}" 200
|
|
t GET /v4.0.0/libpod/manifests/$id_xyz/json 200 \
|
|
.manifests[0].annotations.foo="bar"
|
|
|
|
t PUT /v4.0.0/libpod/manifests/$id_xyz operation='update' images="[\"containers-storage:$id_xyz_image\"]" annotation="[\"hoge=fuga\"]" 200
|
|
t GET /v4.0.0/libpod/manifests/$id_xyz/json 200 \
|
|
.manifests[0].annotations.hoge="fuga"
|
|
|
|
t POST "/v3.4.0/libpod/manifests/abc:latest/push?destination=localhost:$REGISTRY_PORT%2Fabc:latest&tlsVerify=false&all=true" 200
|
|
t POST "/v4.0.0/libpod/manifests/xyz:latest/registry/localhost:$REGISTRY_PORT%2Fxyz:latest?all=true" 400 \
|
|
.cause='x509: certificate signed by unknown authority'
|
|
t POST "/v4.0.0/libpod/manifests/xyz:latest/registry/localhost:$REGISTRY_PORT%2Fxyz:latest?tlsVerify=false&all=true" 200
|
|
|
|
# /v3.x cannot delete a manifest list
|
|
t DELETE /v4.0.0/libpod/manifests/$id_abc 200
|
|
t DELETE /v4.0.0/libpod/manifests/$id_xyz 200
|
|
|
|
podman rmi -a
|
|
stop_registry
|