mirror of
https://github.com/kanidm/kanidm.git
synced 2025-02-23 04:27:02 +01:00
47 lines
1.1 KiB
Bash
Executable file
47 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
cleanup() {
|
|
echo "Cleaning up ${1}"
|
|
rm -rf "$1"
|
|
}
|
|
|
|
if [ -f openapi.json ]; then
|
|
rm openapi.json
|
|
fi
|
|
WORKDIR="$(mktemp -d)"
|
|
echo "Trying to pull openapi.json to ${WORKDIR}"
|
|
curl -sfk https://localhost:8443/docs/v1/openapi.json > "${WORKDIR}/openapi.json" || echo "Failed download"
|
|
|
|
if [ ! -f "${WORKDIR}/openapi.json" ]; then
|
|
echo "Failed to download openapi.json"
|
|
cleanup "${WORKDIR}"
|
|
exit 1
|
|
fi
|
|
|
|
# if "${WORKDIR}/openapi.json" is empty, exit
|
|
if [ ! -s "${WORKDIR}/openapi.json" ]; then
|
|
echo "openapi.json is empty, cleaning up and exiting"
|
|
cleanup "${WORKDIR}"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Running pythonopenapi/openapi-spec-validator"
|
|
|
|
docker run \
|
|
--mount "type=bind,src=${WORKDIR}/openapi.json,target=/openapi.json" \
|
|
--rm pythonopenapi/openapi-spec-validator /openapi.json && \
|
|
echo "openapi-spec-validator passed"
|
|
|
|
|
|
echo "Running openapitools/openapi-generator-cli"
|
|
docker run --rm \
|
|
--mount "type=bind,src=${WORKDIR},target=/spec" \
|
|
openapitools/openapi-generator-cli validate \
|
|
-i /spec/openapi.json
|
|
|
|
|
|
cleanup "${WORKDIR}"
|
|
|
|
echo "It looks to have passed OK!" |