#!/usr/bin/env bash # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 # shellcheck disable=SC2015 # shellcheck disable=SC2154 # shellcheck disable=SC1091 source ./utils/test_utils.sh declare -i success=0 failure=0 main() { json_body() { local -r uuid="$(uuidgen)" cat <<-EOM { "requestMetadata": { "kmsOperation": "KmsHealthCheck", "kmsRequestId": "${uuid,,}" } } EOM } run_test "health" \ "$(json_body)" \ "GetHealthStatus" \ "\"healthStatus\":" && ((++success)) || ((++failure)) run_test "health" \ "{}" \ "GetHealthStatus without requestMetadata" \ "ValidationException" && ((++success)) || ((++failure)) # shellcheck disable=SC2154 run_test "health" \ "$json_body_with_empty_request_metadata" \ "GetHealthStatus with empty requestMetadata" \ "ValidationException" && ((++success)) || ((++failure)) SIGV4_ACCESS_KEY_ID=Invalid$SIGV4_ACCESS_KEY_ID \ run_test "health" \ "$(json_body)" \ "GetHealthStatus with an invalid Sigv4 access id" \ "AuthenticationFailedException" && ((++success)) || ((++failure)) SIGV4_SECRET_ACCESS_KEY=Invalid$SIGV4_SECRET_ACCESS_KEY \ run_test "health" \ "$(json_body)" \ "GetHealthStatus with an invalid Sigv4 access key" \ "AuthenticationFailedException" && ((++success)) || ((++failure)) URI_PREFIX=$URI_PREFIX/invalid \ run_test "health" \ "$(json_body)" \ "GetHealthStatus with an invalid URI prefix" \ "InvalidUriPathException" && ((++success)) || ((++failure)) } if ((${#@})); then counts_file="$1/$(basename "$0").counts" declare -r counts_file main echo "$success $failure" > "$counts_file" else check_environment main summarize "$success" "$failure" fi