From 3c1574d07098532936aa7dbc9bafbe9ae55ef81b Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Mon, 19 May 2025 14:41:41 -0700 Subject: [PATCH 1/5] Add API_PUBLIC_URL environment variable for public API access - Added API_PUBLIC_URL to deploy-config and manifest.yml - Updated app config to load API_PUBLIC_URL from environment - Used API_PUBLIC_URL in CSP configuration for connect-src --- .ds.baseline | 4 ++-- app/__init__.py | 14 +++++++------- app/config.py | 2 ++ app/main/views/jobs.py | 4 ++-- app/templates/views/jobs/job.html | 2 +- deploy-config/demo.yml | 1 + deploy-config/production.yml | 1 + deploy-config/staging.yml | 1 + manifest.yml | 2 ++ tests/app/main/views/test_headers.py | 16 ++++++++-------- 10 files changed, 27 insertions(+), 20 deletions(-) diff --git a/.ds.baseline b/.ds.baseline index c303c3c45..fd261c5cf 100644 --- a/.ds.baseline +++ b/.ds.baseline @@ -171,7 +171,7 @@ "filename": "app/config.py", "hashed_secret": "577a4c667e4af8682ca431857214b3a920883efc", "is_verified": false, - "line_number": 120, + "line_number": 122, "is_secret": false } ], @@ -644,5 +644,5 @@ } ] }, - "generated_at": "2025-05-12T16:50:20Z" + "generated_at": "2025-05-19T21:41:23Z" } diff --git a/app/__init__.py b/app/__init__.py index 441ff5dd4..0b2006689 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -141,7 +141,7 @@ navigation = { def _csp(config): asset_domain = config["ASSET_DOMAIN"] logo_domain = config["LOGO_CDN_DOMAIN"] - api_host_name = config["API_HOST_NAME"] + api_public_url = config["API_PUBLIC_URL"] csp = { "default-src": ["'self'", asset_domain], @@ -172,14 +172,14 @@ def _csp(config): "img-src": ["'self'", asset_domain, logo_domain], } - if api_host_name: - csp["connect-src"].append(api_host_name) + if api_public_url: + csp["connect-src"].append(api_public_url) # this is for web socket - if api_host_name.startswith("http://"): - ws_url = api_host_name.replace("http://", "ws://") + if api_public_url.startswith("http://"): + ws_url = api_public_url.replace("http://", "ws://") csp["connect-src"].append(ws_url) - elif api_host_name.startswith("https://"): - ws_url = api_host_name.replace("https://", "wss://") + elif api_public_url.startswith("https://"): + ws_url = api_public_url.replace("https://", "wss://") csp["connect-src"].append(ws_url) return csp diff --git a/app/config.py b/app/config.py index 20381e499..e4c1d310a 100644 --- a/app/config.py +++ b/app/config.py @@ -12,6 +12,8 @@ class Config(object): NOTIFY_APP_NAME = "admin" NOTIFY_ENVIRONMENT = getenv("NOTIFY_ENVIRONMENT", "development") API_HOST_NAME = getenv("API_HOST_NAME", "localhost") + API_PUBLIC_URL = getenv("API_PUBLIC_URL", "localhost") + ADMIN_BASE_URL = getenv("ADMIN_BASE_URL", "http://localhost:6012") HEADER_COLOUR = ( "#81878b" # mix(govuk-colour("dark-grey"), govuk-colour("mid-grey")) diff --git a/app/main/views/jobs.py b/app/main/views/jobs.py index c0c639046..d4ed28c18 100644 --- a/app/main/views/jobs.py +++ b/app/main/views/jobs.py @@ -58,11 +58,11 @@ def view_job(service_id, job_id): filter_args = parse_filter_args(request.args) filter_args["status"] = set_status_filters(filter_args) - api_host_name = os.environ.get("API_HOST_NAME") + api_public_url = os.environ.get("API_PUBLIC_URL") return render_template( "views/jobs/job.html", - api_host_name=api_host_name, + api_public_url=api_public_url, FEATURE_SOCKET_ENABLED=current_app.config["FEATURE_SOCKET_ENABLED"], job=job, status=request.args.get("status", ""), diff --git a/app/templates/views/jobs/job.html b/app/templates/views/jobs/job.html index 2ae2d76c1..f9a6a3fed 100644 --- a/app/templates/views/jobs/job.html +++ b/app/templates/views/jobs/job.html @@ -14,7 +14,7 @@ {% if not job.finished_processing %}

This page refreshes automatically to show the latest message activity delivery rates, details, and reports.
You can watch it in progress or check back later.

{% endif %} -
+
{% if not job.finished_processing %}
Date: Mon, 19 May 2025 17:22:28 -0700 Subject: [PATCH 2/5] Added API_PUBLIC_URL to GitHub Secrets and updated deploy workflows with new API_PUBLIC_URL --- .github/workflows/deploy-demo.yml | 24 +++-- .github/workflows/deploy-prod.yml | 24 +++-- .github/workflows/deploy.yml | 160 +++++++++++++++--------------- 3 files changed, 106 insertions(+), 102 deletions(-) diff --git a/.github/workflows/deploy-demo.yml b/.github/workflows/deploy-demo.yml index e11e3dbbe..6ee37a494 100644 --- a/.github/workflows/deploy-demo.yml +++ b/.github/workflows/deploy-demo.yml @@ -2,7 +2,7 @@ name: Deploy to demo environment on: push: - branches: [ production ] + branches: [production] permissions: contents: read @@ -21,7 +21,7 @@ jobs: - name: Setup Terraform uses: hashicorp/setup-terraform@v3 with: - terraform_version: "^1.7.5" + terraform_version: '^1.7.5' terraform_wrapper: false - name: Terraform init @@ -50,19 +50,20 @@ jobs: DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} SECRET_KEY: ${{ secrets.SECRET_KEY }} ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} - ADMIN_CLIENT_USERNAME: "notify-admin" + ADMIN_CLIENT_USERNAME: 'notify-admin' NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} COMMIT_HASH: ${{ github.sha }} LOGIN_PEM: ${{ secrets.LOGIN_PEM }} - LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov" - LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo" - LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token" - LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-demo.app.cloud.gov/sign-out" - LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?" - LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://notify-demo.app.cloud.gov/sign-out" - LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-demo.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE" - LOGIN_DOT_GOV_CERTS_URL: "https://secure.login.gov/api/openid_connect/certs" + LOGIN_DOT_GOV_CLIENT_ID: 'urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov' + LOGIN_DOT_GOV_USER_INFO_URL: 'https://secure.login.gov/api/openid_connect/userinfo' + LOGIN_DOT_GOV_ACCESS_TOKEN_URL: 'https://secure.login.gov/api/openid_connect/token' + LOGIN_DOT_GOV_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-demo.app.cloud.gov/sign-out' + LOGIN_DOT_GOV_BASE_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?' + LOGIN_DOT_GOV_SIGNOUT_REDIRECT: 'https://notify-demo.app.cloud.gov/sign-out' + LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: 'https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-demo.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE' + LOGIN_DOT_GOV_CERTS_URL: 'https://secure.login.gov/api/openid_connect/certs' + API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} with: cf_username: ${{ secrets.CLOUDGOV_USERNAME }} cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} @@ -87,6 +88,7 @@ jobs: --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" --var LOGIN_PEM="$LOGIN_PEM" + --var API_PUBLIC_URL="$API_PUBLIC_URL" --strategy rolling - name: Deploy egress proxy diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml index 23dbb029c..bb9b6b947 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-prod.yml @@ -2,7 +2,7 @@ name: Deploy to production environment on: push: - branches: [ production ] + branches: [production] permissions: contents: read @@ -21,7 +21,7 @@ jobs: - name: Setup Terraform uses: hashicorp/setup-terraform@v3 with: - terraform_version: "^1.7.5" + terraform_version: '^1.7.5' terraform_wrapper: false - name: Terraform init @@ -50,19 +50,20 @@ jobs: DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} SECRET_KEY: ${{ secrets.SECRET_KEY }} ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} - ADMIN_CLIENT_USERNAME: "notify-admin" + ADMIN_CLIENT_USERNAME: 'notify-admin' NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} COMMIT_HASH: ${{ github.sha }} LOGIN_PEM: ${{ secrets.LOGIN_PEM }} - LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov" - LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo" - LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token" - LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://beta.notify.gov/sign-out" - LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?" - LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://beta.notify.gov/sign-out" - LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://beta.notify.gov/sign-in&response_type=code&scope=openid+email&state=STATE" - LOGIN_DOT_GOV_CERTS_URL: "https://secure.login.gov/api/openid_connect/certs" + LOGIN_DOT_GOV_CLIENT_ID: 'urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov' + LOGIN_DOT_GOV_USER_INFO_URL: 'https://secure.login.gov/api/openid_connect/userinfo' + LOGIN_DOT_GOV_ACCESS_TOKEN_URL: 'https://secure.login.gov/api/openid_connect/token' + LOGIN_DOT_GOV_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://beta.notify.gov/sign-out' + LOGIN_DOT_GOV_BASE_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?' + LOGIN_DOT_GOV_SIGNOUT_REDIRECT: 'https://beta.notify.gov/sign-out' + LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: 'https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://beta.notify.gov/sign-in&response_type=code&scope=openid+email&state=STATE' + LOGIN_DOT_GOV_CERTS_URL: 'https://secure.login.gov/api/openid_connect/certs' + API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} with: cf_username: ${{ secrets.CLOUDGOV_USERNAME }} cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} @@ -87,6 +88,7 @@ jobs: --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" --var LOGIN_PEM="$LOGIN_PEM" + --var API_PUBLIC_URL="$API_PUBLIC_URL" --strategy rolling - name: Deploy egress proxy diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ae593f079..8851d6980 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -17,94 +17,94 @@ jobs: environment: staging steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 2 + - uses: actions/checkout@v4 + with: + fetch-depth: 2 - # Looks like we need to install Terraform ourselves now! - # https://github.com/actions/runner-images/issues/10796#issuecomment-2417064348 - - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 - with: - terraform_version: "^1.7.5" - terraform_wrapper: false + # Looks like we need to install Terraform ourselves now! + # https://github.com/actions/runner-images/issues/10796#issuecomment-2417064348 + - name: Setup Terraform + uses: hashicorp/setup-terraform@v3 + with: + terraform_version: '^1.7.5' + terraform_wrapper: false - - name: Terraform init - working-directory: terraform/staging - env: - AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} - run: terraform init - - name: Terraform apply - working-directory: terraform/staging - env: - AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} - TF_VAR_cf_user: ${{ secrets.CLOUDGOV_USERNAME }} - TF_VAR_cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} - run: terraform apply -auto-approve -input=false + - name: Terraform init + working-directory: terraform/staging + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} + run: terraform init + - name: Terraform apply + working-directory: terraform/staging + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} + TF_VAR_cf_user: ${{ secrets.CLOUDGOV_USERNAME }} + TF_VAR_cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} + run: terraform apply -auto-approve -input=false - - uses: ./.github/actions/setup-project + - uses: ./.github/actions/setup-project - - name: Create requirements.txt - run: poetry export --without-hashes --format=requirements.txt > requirements.txt + - name: Create requirements.txt + run: poetry export --without-hashes --format=requirements.txt > requirements.txt + - name: Deploy to cloud.gov + uses: cloud-gov/cg-cli-tools@main + env: + DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} + SECRET_KEY: ${{ secrets.SECRET_KEY }} + ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} + ADMIN_CLIENT_USERNAME: 'notify-admin' + NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} + NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} + COMMIT_HASH: ${{ github.sha }} + LOGIN_PEM: ${{ secrets.LOGIN_PEM }} + LOGIN_DOT_GOV_CLIENT_ID: 'urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov' + LOGIN_DOT_GOV_USER_INFO_URL: 'https://secure.login.gov/api/openid_connect/userinfo' + LOGIN_DOT_GOV_ACCESS_TOKEN_URL: 'https://secure.login.gov/api/openid_connect/token' + LOGIN_DOT_GOV_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-staging.app.cloud.gov/sign-out' + LOGIN_DOT_GOV_BASE_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?' + LOGIN_DOT_GOV_SIGNOUT_REDIRECT: 'https://notify-staging.app.cloud.gov/sign-out' + LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: 'https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-staging.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE' + LOGIN_DOT_GOV_CERTS_URL: 'https://secure.login.gov/api/openid_connect/certs' + API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} + with: + cf_username: ${{ secrets.CLOUDGOV_USERNAME }} + cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} + cf_org: gsa-tts-benefits-studio + cf_space: notify-staging + cf_command: >- + push -f manifest.yml + --vars-file deploy-config/staging.yml + --var DANGEROUS_SALT="$DANGEROUS_SALT" + --var SECRET_KEY="$SECRET_KEY" + --var ADMIN_CLIENT_SECRET="$ADMIN_CLIENT_SECRET" + --var ADMIN_CLIENT_USERNAME="$ADMIN_CLIENT_USERNAME" + --var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY" + --var NR_BROWSER_KEY="$NR_BROWSER_KEY" + --var COMMIT_HASH="$COMMIT_HASH" + --var LOGIN_DOT_GOV_CLIENT_ID="$LOGIN_DOT_GOV_CLIENT_ID" + --var LOGIN_DOT_GOV_USER_INFO_URL="$LOGIN_DOT_GOV_USER_INFO_URL" + --var LOGIN_DOT_GOV_ACCESS_TOKEN_URL="$LOGIN_DOT_GOV_ACCESS_TOKEN_URL" + --var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL" + --var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL" + --var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT" + --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" + --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" + --var LOGIN_PEM="$LOGIN_PEM" + --var API_PUBLIC_URL="$API_PUBLIC_URL" + --strategy rolling - - name: Deploy to cloud.gov - uses: cloud-gov/cg-cli-tools@main - env: - DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} - SECRET_KEY: ${{ secrets.SECRET_KEY }} - ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} - ADMIN_CLIENT_USERNAME: "notify-admin" - NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} - NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} - COMMIT_HASH: ${{ github.sha }} - LOGIN_PEM: ${{ secrets.LOGIN_PEM }} - LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov" - LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo" - LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token" - LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-staging.app.cloud.gov/sign-out" - LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?" - LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://notify-staging.app.cloud.gov/sign-out" - LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-staging.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE" - LOGIN_DOT_GOV_CERTS_URL: "https://secure.login.gov/api/openid_connect/certs" - with: - cf_username: ${{ secrets.CLOUDGOV_USERNAME }} - cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} - cf_org: gsa-tts-benefits-studio - cf_space: notify-staging - cf_command: >- - push -f manifest.yml - --vars-file deploy-config/staging.yml - --var DANGEROUS_SALT="$DANGEROUS_SALT" - --var SECRET_KEY="$SECRET_KEY" - --var ADMIN_CLIENT_SECRET="$ADMIN_CLIENT_SECRET" - --var ADMIN_CLIENT_USERNAME="$ADMIN_CLIENT_USERNAME" - --var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY" - --var NR_BROWSER_KEY="$NR_BROWSER_KEY" - --var COMMIT_HASH="$COMMIT_HASH" - --var LOGIN_DOT_GOV_CLIENT_ID="$LOGIN_DOT_GOV_CLIENT_ID" - --var LOGIN_DOT_GOV_USER_INFO_URL="$LOGIN_DOT_GOV_USER_INFO_URL" - --var LOGIN_DOT_GOV_ACCESS_TOKEN_URL="$LOGIN_DOT_GOV_ACCESS_TOKEN_URL" - --var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL" - --var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL" - --var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT" - --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" - --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" - --var LOGIN_PEM="$LOGIN_PEM" - --strategy rolling - - - - name: Deploy egress proxy - uses: ./.github/actions/deploy-proxy - env: + - name: Deploy egress proxy + uses: ./.github/actions/deploy-proxy + env: CF_USERNAME: ${{ secrets.CLOUDGOV_USERNAME }} CF_PASSWORD: ${{ secrets.CLOUDGOV_PASSWORD }} - with: - cf_org: gsa-tts-benefits-studio - cf_space: notify-staging - app: notify-admin-staging + with: + cf_org: gsa-tts-benefits-studio + cf_space: notify-staging + app: notify-admin-staging bail: runs-on: ubuntu-latest From 8079a95c7a9fba2d59b114945d84c3ef443e5d95 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Tue, 20 May 2025 10:17:31 -0700 Subject: [PATCH 3/5] fix testing --- app/config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/config.py b/app/config.py index e4c1d310a..42bba9b94 100644 --- a/app/config.py +++ b/app/config.py @@ -134,6 +134,8 @@ class Test(Development): ASSET_PATH = "https://static.example.com/" API_HOST_NAME = "http://you-forgot-to-mock-an-api-call-to" + API_PUBLIC_URL = "http://you-forgot-to-mock-an-api-call-to" + REDIS_URL = "redis://you-forgot-to-mock-a-redis-call-to" LOGO_CDN_DOMAIN = "static-logos.test.com" From 2459ecd71504020527450f4b412aea9380df612e Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Tue, 20 May 2025 10:26:54 -0700 Subject: [PATCH 4/5] Fix formatting --- .github/workflows/deploy-demo.yml | 22 +-- .github/workflows/deploy-prod.yml | 22 +-- .github/workflows/deploy.yml | 162 +++++++++++----------- tests/app/main/views/test_manage_users.py | 11 +- 4 files changed, 112 insertions(+), 105 deletions(-) diff --git a/.github/workflows/deploy-demo.yml b/.github/workflows/deploy-demo.yml index 6ee37a494..e6371a124 100644 --- a/.github/workflows/deploy-demo.yml +++ b/.github/workflows/deploy-demo.yml @@ -2,7 +2,7 @@ name: Deploy to demo environment on: push: - branches: [production] + branches: [ production ] permissions: contents: read @@ -21,7 +21,7 @@ jobs: - name: Setup Terraform uses: hashicorp/setup-terraform@v3 with: - terraform_version: '^1.7.5' + terraform_version: "^1.7.5" terraform_wrapper: false - name: Terraform init @@ -50,19 +50,19 @@ jobs: DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} SECRET_KEY: ${{ secrets.SECRET_KEY }} ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} - ADMIN_CLIENT_USERNAME: 'notify-admin' + ADMIN_CLIENT_USERNAME: "notify-admin" NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} COMMIT_HASH: ${{ github.sha }} LOGIN_PEM: ${{ secrets.LOGIN_PEM }} - LOGIN_DOT_GOV_CLIENT_ID: 'urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov' - LOGIN_DOT_GOV_USER_INFO_URL: 'https://secure.login.gov/api/openid_connect/userinfo' - LOGIN_DOT_GOV_ACCESS_TOKEN_URL: 'https://secure.login.gov/api/openid_connect/token' - LOGIN_DOT_GOV_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-demo.app.cloud.gov/sign-out' - LOGIN_DOT_GOV_BASE_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?' - LOGIN_DOT_GOV_SIGNOUT_REDIRECT: 'https://notify-demo.app.cloud.gov/sign-out' - LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: 'https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-demo.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE' - LOGIN_DOT_GOV_CERTS_URL: 'https://secure.login.gov/api/openid_connect/certs' + LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov" + LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo" + LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token" + LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-demo.app.cloud.gov/sign-out" + LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?" + LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://notify-demo.app.cloud.gov/sign-out" + LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-demo.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE" + LOGIN_DOT_GOV_CERTS_URL: "https://secure.login.gov/api/openid_connect/certs" API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} with: cf_username: ${{ secrets.CLOUDGOV_USERNAME }} diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml index bb9b6b947..3954b30f0 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-prod.yml @@ -2,7 +2,7 @@ name: Deploy to production environment on: push: - branches: [production] + branches: [ production ] permissions: contents: read @@ -21,7 +21,7 @@ jobs: - name: Setup Terraform uses: hashicorp/setup-terraform@v3 with: - terraform_version: '^1.7.5' + terraform_version: "^1.7.5" terraform_wrapper: false - name: Terraform init @@ -50,19 +50,19 @@ jobs: DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} SECRET_KEY: ${{ secrets.SECRET_KEY }} ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} - ADMIN_CLIENT_USERNAME: 'notify-admin' + ADMIN_CLIENT_USERNAME: "notify-admin" NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} COMMIT_HASH: ${{ github.sha }} LOGIN_PEM: ${{ secrets.LOGIN_PEM }} - LOGIN_DOT_GOV_CLIENT_ID: 'urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov' - LOGIN_DOT_GOV_USER_INFO_URL: 'https://secure.login.gov/api/openid_connect/userinfo' - LOGIN_DOT_GOV_ACCESS_TOKEN_URL: 'https://secure.login.gov/api/openid_connect/token' - LOGIN_DOT_GOV_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://beta.notify.gov/sign-out' - LOGIN_DOT_GOV_BASE_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?' - LOGIN_DOT_GOV_SIGNOUT_REDIRECT: 'https://beta.notify.gov/sign-out' - LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: 'https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://beta.notify.gov/sign-in&response_type=code&scope=openid+email&state=STATE' - LOGIN_DOT_GOV_CERTS_URL: 'https://secure.login.gov/api/openid_connect/certs' + LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov" + LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo" + LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token" + LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://beta.notify.gov/sign-out" + LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?" + LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://beta.notify.gov/sign-out" + LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://beta.notify.gov/sign-in&response_type=code&scope=openid+email&state=STATE" + LOGIN_DOT_GOV_CERTS_URL: "https://secure.login.gov/api/openid_connect/certs" API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} with: cf_username: ${{ secrets.CLOUDGOV_USERNAME }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 8851d6980..de65c2c7b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -17,94 +17,96 @@ jobs: environment: staging steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 2 + - uses: actions/checkout@v4 + with: + fetch-depth: 2 - # Looks like we need to install Terraform ourselves now! - # https://github.com/actions/runner-images/issues/10796#issuecomment-2417064348 - - name: Setup Terraform - uses: hashicorp/setup-terraform@v3 - with: - terraform_version: '^1.7.5' - terraform_wrapper: false + # Looks like we need to install Terraform ourselves now! + # https://github.com/actions/runner-images/issues/10796#issuecomment-2417064348 + - name: Setup Terraform + uses: hashicorp/setup-terraform@v3 + with: + terraform_version: "^1.7.5" + terraform_wrapper: false - - name: Terraform init - working-directory: terraform/staging - env: - AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} - run: terraform init - - name: Terraform apply - working-directory: terraform/staging - env: - AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} - TF_VAR_cf_user: ${{ secrets.CLOUDGOV_USERNAME }} - TF_VAR_cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} - run: terraform apply -auto-approve -input=false + - name: Terraform init + working-directory: terraform/staging + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} + run: terraform init + - name: Terraform apply + working-directory: terraform/staging + env: + AWS_ACCESS_KEY_ID: ${{ secrets.TERRAFORM_STATE_ACCESS_KEY }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.TERRAFORM_STATE_SECRET_ACCESS_KEY }} + TF_VAR_cf_user: ${{ secrets.CLOUDGOV_USERNAME }} + TF_VAR_cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} + run: terraform apply -auto-approve -input=false - - uses: ./.github/actions/setup-project + - uses: ./.github/actions/setup-project - - name: Create requirements.txt - run: poetry export --without-hashes --format=requirements.txt > requirements.txt + - name: Create requirements.txt + run: poetry export --without-hashes --format=requirements.txt > requirements.txt - - name: Deploy to cloud.gov - uses: cloud-gov/cg-cli-tools@main - env: - DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} - SECRET_KEY: ${{ secrets.SECRET_KEY }} - ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} - ADMIN_CLIENT_USERNAME: 'notify-admin' - NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} - NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} - COMMIT_HASH: ${{ github.sha }} - LOGIN_PEM: ${{ secrets.LOGIN_PEM }} - LOGIN_DOT_GOV_CLIENT_ID: 'urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov' - LOGIN_DOT_GOV_USER_INFO_URL: 'https://secure.login.gov/api/openid_connect/userinfo' - LOGIN_DOT_GOV_ACCESS_TOKEN_URL: 'https://secure.login.gov/api/openid_connect/token' - LOGIN_DOT_GOV_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-staging.app.cloud.gov/sign-out' - LOGIN_DOT_GOV_BASE_LOGOUT_URL: 'https://secure.login.gov/openid_connect/logout?' - LOGIN_DOT_GOV_SIGNOUT_REDIRECT: 'https://notify-staging.app.cloud.gov/sign-out' - LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: 'https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-staging.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE' - LOGIN_DOT_GOV_CERTS_URL: 'https://secure.login.gov/api/openid_connect/certs' - API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} - with: - cf_username: ${{ secrets.CLOUDGOV_USERNAME }} - cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} - cf_org: gsa-tts-benefits-studio - cf_space: notify-staging - cf_command: >- - push -f manifest.yml - --vars-file deploy-config/staging.yml - --var DANGEROUS_SALT="$DANGEROUS_SALT" - --var SECRET_KEY="$SECRET_KEY" - --var ADMIN_CLIENT_SECRET="$ADMIN_CLIENT_SECRET" - --var ADMIN_CLIENT_USERNAME="$ADMIN_CLIENT_USERNAME" - --var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY" - --var NR_BROWSER_KEY="$NR_BROWSER_KEY" - --var COMMIT_HASH="$COMMIT_HASH" - --var LOGIN_DOT_GOV_CLIENT_ID="$LOGIN_DOT_GOV_CLIENT_ID" - --var LOGIN_DOT_GOV_USER_INFO_URL="$LOGIN_DOT_GOV_USER_INFO_URL" - --var LOGIN_DOT_GOV_ACCESS_TOKEN_URL="$LOGIN_DOT_GOV_ACCESS_TOKEN_URL" - --var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL" - --var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL" - --var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT" - --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" - --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" - --var LOGIN_PEM="$LOGIN_PEM" - --var API_PUBLIC_URL="$API_PUBLIC_URL" - --strategy rolling - - name: Deploy egress proxy - uses: ./.github/actions/deploy-proxy - env: + - name: Deploy to cloud.gov + uses: cloud-gov/cg-cli-tools@main + env: + DANGEROUS_SALT: ${{ secrets.DANGEROUS_SALT }} + SECRET_KEY: ${{ secrets.SECRET_KEY }} + ADMIN_CLIENT_SECRET: ${{ secrets.ADMIN_CLIENT_SECRET }} + ADMIN_CLIENT_USERNAME: "notify-admin" + NEW_RELIC_LICENSE_KEY: ${{ secrets.NEW_RELIC_LICENSE_KEY }} + NR_BROWSER_KEY: ${{ secrets.NR_BROWSER_KEY }} + COMMIT_HASH: ${{ github.sha }} + LOGIN_PEM: ${{ secrets.LOGIN_PEM }} + LOGIN_DOT_GOV_CLIENT_ID: "urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov" + LOGIN_DOT_GOV_USER_INFO_URL: "https://secure.login.gov/api/openid_connect/userinfo" + LOGIN_DOT_GOV_ACCESS_TOKEN_URL: "https://secure.login.gov/api/openid_connect/token" + LOGIN_DOT_GOV_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&post_logout_redirect_uri=https://notify-staging.app.cloud.gov/sign-out" + LOGIN_DOT_GOV_BASE_LOGOUT_URL: "https://secure.login.gov/openid_connect/logout?" + LOGIN_DOT_GOV_SIGNOUT_REDIRECT: "https://notify-staging.app.cloud.gov/sign-out" + LOGIN_DOT_GOV_INITIAL_SIGNIN_URL: "https://secure.login.gov/openid_connect/authorize?acr_values=http%3A%2F%2Fidmanagement.gov%2Fns%2Fassurance%2Fial%2F1&client_id=urn:gov:gsa:openidconnect.profiles:sp:sso:gsa:notify-gov&nonce=NONCE&prompt=select_account&redirect_uri=https://notify-staging.app.cloud.gov/sign-in&response_type=code&scope=openid+email&state=STATE" + LOGIN_DOT_GOV_CERTS_URL: "https://secure.login.gov/api/openid_connect/certs" + API_PUBLIC_URL: ${{ secrets.API_PUBLIC_URL }} + with: + cf_username: ${{ secrets.CLOUDGOV_USERNAME }} + cf_password: ${{ secrets.CLOUDGOV_PASSWORD }} + cf_org: gsa-tts-benefits-studio + cf_space: notify-staging + cf_command: >- + push -f manifest.yml + --vars-file deploy-config/staging.yml + --var DANGEROUS_SALT="$DANGEROUS_SALT" + --var SECRET_KEY="$SECRET_KEY" + --var ADMIN_CLIENT_SECRET="$ADMIN_CLIENT_SECRET" + --var ADMIN_CLIENT_USERNAME="$ADMIN_CLIENT_USERNAME" + --var NEW_RELIC_LICENSE_KEY="$NEW_RELIC_LICENSE_KEY" + --var NR_BROWSER_KEY="$NR_BROWSER_KEY" + --var COMMIT_HASH="$COMMIT_HASH" + --var LOGIN_DOT_GOV_CLIENT_ID="$LOGIN_DOT_GOV_CLIENT_ID" + --var LOGIN_DOT_GOV_USER_INFO_URL="$LOGIN_DOT_GOV_USER_INFO_URL" + --var LOGIN_DOT_GOV_ACCESS_TOKEN_URL="$LOGIN_DOT_GOV_ACCESS_TOKEN_URL" + --var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL" + --var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL" + --var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT" + --var API_PUBLIC_URL="$API_PUBLIC_URL" + --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" + --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" + --var LOGIN_PEM="$LOGIN_PEM" + --strategy rolling + + + - name: Deploy egress proxy + uses: ./.github/actions/deploy-proxy + env: CF_USERNAME: ${{ secrets.CLOUDGOV_USERNAME }} CF_PASSWORD: ${{ secrets.CLOUDGOV_PASSWORD }} - with: - cf_org: gsa-tts-benefits-studio - cf_space: notify-staging - app: notify-admin-staging + with: + cf_org: gsa-tts-benefits-studio + cf_space: notify-staging + app: notify-admin-staging bail: runs-on: ubuntu-latest diff --git a/tests/app/main/views/test_manage_users.py b/tests/app/main/views/test_manage_users.py index 653e7592b..794befa27 100644 --- a/tests/app/main/views/test_manage_users.py +++ b/tests/app/main/views/test_manage_users.py @@ -27,7 +27,6 @@ from tests.conftest import ( ( create_active_user_with_permissions(), ( - "Test User test@user.gsa.gov (you) " "Permissions " "Can See dashboard " @@ -44,7 +43,11 @@ from tests.conftest import ( ), ( create_active_user_view_permissions(), - ("Test User With Permissions test@user.gsa.gov (you) " "Permissions " "Can See dashboard"), + ( + "Test User With Permissions test@user.gsa.gov (you) " + "Permissions " + "Can See dashboard" + ), False, ), ( @@ -232,7 +235,9 @@ def test_should_show_caseworker_on_overview_page( assert normalize_spaces(page.select_one("h1").text) == "Team members" assert normalize_spaces(page.select(".user-list-item")[0].text) == ( - "Test User With Permissions test@user.gsa.gov (you) " "Permissions " "Can See dashboard" + "Test User With Permissions test@user.gsa.gov (you) " + "Permissions " + "Can See dashboard" ) # [1:5] are invited users assert normalize_spaces(page.select(".user-list-item")[6].text) == ( From 1b6894139d7cbaa9790bc1e1c57650b2651c3521 Mon Sep 17 00:00:00 2001 From: Beverly Nguyen Date: Tue, 20 May 2025 10:27:07 -0700 Subject: [PATCH 5/5] Fix formatting --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index de65c2c7b..9b3bf1d91 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -91,10 +91,10 @@ jobs: --var LOGIN_DOT_GOV_LOGOUT_URL="$LOGIN_DOT_GOV_LOGOUT_URL" --var LOGIN_DOT_GOV_BASE_LOGOUT_URL="$LOGIN_DOT_GOV_BASE_LOGOUT_URL" --var LOGIN_DOT_GOV_SIGNOUT_REDIRECT="$LOGIN_DOT_GOV_SIGNOUT_REDIRECT" - --var API_PUBLIC_URL="$API_PUBLIC_URL" --var LOGIN_DOT_GOV_INITIAL_SIGNIN_URL="$LOGIN_DOT_GOV_INITIAL_SIGNIN_URL" --var LOGIN_DOT_GOV_CERTS_URL="$LOGIN_DOT_GOV_CERTS_URL" --var LOGIN_PEM="$LOGIN_PEM" + --var API_PUBLIC_URL="$API_PUBLIC_URL" --strategy rolling