#!/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_, 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"