52 lines
2.0 KiB
Bash
52 lines
2.0 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# test_two_pool_auth.sh runs the end-to-end integration test for the
|
||
|
|
# two-pool service-account auth path. It assumes the operator has:
|
||
|
|
# - AWS credentials with read access to the test pools
|
||
|
|
# (us-east-2_<pool-a>, us-east-2_Qom1i9qIG)
|
||
|
|
# - PERMIT_IO_API_KEY set in the environment
|
||
|
|
# - Docker running (for `task compose:refresh`)
|
||
|
|
#
|
||
|
|
# The script:
|
||
|
|
# 1. Registers the pre-existing test service-account in Permit with
|
||
|
|
# super_admin (idempotent — re-running is safe).
|
||
|
|
# 2. Reminds the operator to boot queryAPI with both pool A and B
|
||
|
|
# configured (compose:refresh by itself does not know about the
|
||
|
|
# new env vars; the operator must source the right .env).
|
||
|
|
# 3. Runs scripts/manual_tests/test_two_pool_auth.py against the
|
||
|
|
# local queryAPI to validate the end-to-end flow.
|
||
|
|
#
|
||
|
|
# Usage:
|
||
|
|
# PERMIT_IO_API_KEY=permit_key_... \
|
||
|
|
# AWS_PROFILE=aarete \
|
||
|
|
# ./scripts/manual_tests/test_two_pool_auth.sh
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
if [[ -z "${PERMIT_IO_API_KEY:-}" ]]; then
|
||
|
|
echo "ERROR: PERMIT_IO_API_KEY must be set" >&2
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||
|
|
|
||
|
|
echo "Step 1/3: registering svc-test-admin-1 in Permit with super_admin..."
|
||
|
|
pushd "$REPO_ROOT/cmd/auth_related/service.account.tool" >/dev/null
|
||
|
|
COGNITO_REGION="us-east-2" \
|
||
|
|
COGNITO_SVC_USER_POOL_ID="us-east-2_Qom1i9qIG" \
|
||
|
|
COGNITO_SVC_APP_CLIENT_ID="6r7chkvjotgs2bsfbd5ibaaft7" \
|
||
|
|
go run ./... register-permit svc-test-admin-1 --roles super_admin
|
||
|
|
popd >/dev/null
|
||
|
|
|
||
|
|
echo
|
||
|
|
echo "Step 2/3: confirm queryAPI is running locally with pool B enabled."
|
||
|
|
echo " - COGNITO_USER_POOL_ID should be set (existing pool A)"
|
||
|
|
echo " - COGNITO_SVC_USER_POOL_ID should be us-east-2_Qom1i9qIG (pool B)"
|
||
|
|
echo " - DISABLE_AUTH must be unset (we are testing real auth)"
|
||
|
|
echo " - queryAPI must be reachable at http://localhost:8080"
|
||
|
|
echo
|
||
|
|
read -rp "Press enter when queryAPI is up and configured..."
|
||
|
|
|
||
|
|
echo
|
||
|
|
echo "Step 3/3: running test_two_pool_auth.py against localhost..."
|
||
|
|
python3 "$REPO_ROOT/scripts/manual_tests/test_two_pool_auth.py"
|