istio.io/archive/v1.20/docs/ops/ambient/getting-started/test.sh

106 lines
3.6 KiB
Bash

#!/usr/bin/env bash
# shellcheck disable=SC2154
# Copyright 2023 Istio Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
GATEWAY_API="${GATEWAY_API:-false}"
# @setup profile=none
set -e
set -u
set -o pipefail
# Kubernetes Gateway API CRDs are required by waypoint proxy.
snip_download_and_install_2
# install istio with ambient profile
if [ "$GATEWAY_API" == "true" ]; then
snip_download_and_install_5
else
snip_download_and_install_3
fi
_wait_for_deployment istio-system istiod
_wait_for_daemonset istio-system ztunnel
_wait_for_daemonset istio-system istio-cni-node
if [ "$GATEWAY_API" == "true" ]; then
_verify_like snip_download_and_install_9 "$snip_download_and_install_9_out"
_verify_like snip_download_and_install_10 "$snip_download_and_install_10_out"
else
_verify_like snip_download_and_install_7 "$snip_download_and_install_7_out"
_verify_like snip_download_and_install_8 "$snip_download_and_install_8_out"
fi
# deploy test application
snip_deploy_the_sample_application_1
snip_deploy_the_sample_application_2
if [ "$GATEWAY_API" == "true" ]; then
snip_deploy_the_sample_application_5
snip_deploy_the_sample_application_6
else
snip_deploy_the_sample_application_3
snip_deploy_the_sample_application_4
fi
# test traffic before ambient mode is enabled
_verify_contains snip_verify_traffic_sleep_to_ingress "$snip_verify_traffic_sleep_to_ingress_out"
_verify_contains snip_verify_traffic_sleep_to_productpage "$snip_verify_traffic_sleep_to_productpage_out"
_verify_contains snip_verify_traffic_notsleep_to_productpage "$snip_verify_traffic_notsleep_to_productpage_out"
snip_adding_your_application_to_ambient_1
# test traffic after ambient mode is enabled
_verify_contains snip_adding_your_application_to_ambient_2 "$snip_adding_your_application_to_ambient_2_out"
_verify_contains snip_adding_your_application_to_ambient_3 "$snip_adding_your_application_to_ambient_3_out"
_verify_contains snip_adding_your_application_to_ambient_4 "$snip_adding_your_application_to_ambient_4_out"
snip_l4_authorization_policy_1
_verify_contains snip_l4_authorization_policy_2 "$snip_l4_authorization_policy_2_out"
_verify_contains snip_l4_authorization_policy_3 "$snip_l4_authorization_policy_3_out"
_verify_failure snip_l4_authorization_policy_4
_verify_contains snip_l7_authorization_policy_1 "$snip_l7_authorization_policy_1_out"
_verify_contains snip_l7_authorization_policy_2 "Resource programmed, assigned to service"
snip_l7_authorization_policy_3
_verify_contains snip_l7_authorization_policy_4 "$snip_l7_authorization_policy_4_out"
_verify_contains snip_l7_authorization_policy_5 "$snip_l7_authorization_policy_5_out"
_verify_contains snip_l7_authorization_policy_6 "$snip_l7_authorization_policy_6_out"
_verify_contains snip_control_traffic_1 "$snip_control_traffic_1_out"
if [ "$GATEWAY_API" == "true" ]; then
snip_control_traffic_3
else
snip_control_traffic_2
fi
_verify_lines snip_control_traffic_4 "
+ reviews-v1
+ reviews-v2
- reviews-v3
"
# @cleanup
if [ "$GATEWAY_API" != "true" ]; then
snip_uninstall_1
snip_uninstall_2
snip_uninstall_3
samples/bookinfo/platform/kube/cleanup.sh
snip_uninstall_4
fi