Capture discovery API output in test fixtures

This commit is contained in:
Jordan Liggitt
2023-05-13 11:51:40 -04:00
parent 23ea6996d2
commit 2ab6fd3590
2 changed files with 31 additions and 2 deletions

View File

@@ -22,6 +22,7 @@ set -o nounset
set -o pipefail
KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
DISCOVERY_ROOT_DIR="${KUBE_ROOT}/api/discovery"
OPENAPI_ROOT_DIR="${KUBE_ROOT}/api/openapi-spec"
source "${KUBE_ROOT}/hack/lib/init.sh"
@@ -96,6 +97,12 @@ if ! kube::util::wait_for_url "https://${API_HOST}:${API_PORT}/healthz" "apiserv
exit 1
fi
kube::log::status "Updating aggregated discovery"
rm -fr "${DISCOVERY_ROOT_DIR}"
mkdir -p "${DISCOVERY_ROOT_DIR}"
curl -kfsS -H 'Authorization: Bearer dummy_token' -H 'Accept: application/json;g=apidiscovery.k8s.io;v=v2beta1;as=APIGroupDiscoveryList' "https://${API_HOST}:${API_PORT}/apis" | jq -S . > "${DISCOVERY_ROOT_DIR}/aggregated_v2beta1.json"
kube::log::status "Updating " "${OPENAPI_ROOT_DIR} for OpenAPI v2"
rm -f "${OPENAPI_ROOT_DIR}/swagger.json"
@@ -116,7 +123,7 @@ curl -w "\n" -kfsS -H 'Authorization: Bearer dummy_token' \
"https://${API_HOST}:${API_PORT}/openapi/v3" \
| jq -r '.paths | to_entries | .[].key' \
| while read -r group; do
kube::log::status "Updating OpenAPI spec for group ${group}"
kube::log::status "Updating OpenAPI spec and discovery for group ${group}"
OPENAPI_FILENAME="${group}_openapi.json"
OPENAPI_FILENAME_ESCAPED="${OPENAPI_FILENAME//\//__}"
OPENAPI_PATH="${OPENAPI_ROOT_DIR}/v3/${OPENAPI_FILENAME_ESCAPED}"
@@ -124,6 +131,13 @@ curl -w "\n" -kfsS -H 'Authorization: Bearer dummy_token' \
"https://${API_HOST}:${API_PORT}/openapi/v3/{$group}" \
| jq -S '.info.version="unversioned"' \
> "$OPENAPI_PATH"
if [[ "${group}" == "api"* ]]; then
DISCOVERY_FILENAME="${group}.json"
DISCOVERY_FILENAME_ESCAPED="${DISCOVERY_FILENAME//\//__}"
DISCOVERY_PATH="${DISCOVERY_ROOT_DIR}/${DISCOVERY_FILENAME_ESCAPED}"
curl -kfsS -H 'Authorization: Bearer dummy_token' "https://${API_HOST}:${API_PORT}/{$group}" | jq -S . > "$DISCOVERY_PATH"
fi
done
kube::log::status "SUCCESS"