Capture discovery API output in test fixtures
This commit is contained in:
@@ -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"
|
||||
|
Reference in New Issue
Block a user