Skip to content

fix(sql): 🐛 Fixes a bug where Warning components weren't display text #895

fix(sql): 🐛 Fixes a bug where Warning components weren't display text

fix(sql): 🐛 Fixes a bug where Warning components weren't display text #895

Workflow file for this run

name: Run E2E Tests
on:
workflow_dispatch:
pull_request:
branches: ["main", "development"]
paths:
- "src/**"
- "tests/Dfe.PlanTech.Web.E2ETests/**"
- ".github/workflows/e2e-tests.yml"
concurrency:
group: "${{ github.workflow }}"
cancel-in-progress: false
env:
DOTNET_VERSION: ${{ vars.DOTNET_VERSION }}
jobs:
clear-db:
name: Clear database
runs-on: ubuntu-latest
env:
az_keyvault_name: ${{ secrets.AZ_ENVIRONMENT }}${{ secrets.DFE_PROJECT_NAME }}-kv
az_keyvault_database_connectionstring_name: ${{ secrets.AZ_KEYVAULT_DATABASE_CONNECTIONSTRING_NAME }}
az_sql_database_server_name: ${{ secrets.AZ_ENVIRONMENT }}${{ secrets.DFE_PROJECT_NAME }}
az_resource_group_name: ${{ secrets.AZ_ENVIRONMENT }}${{ secrets.DFE_PROJECT_NAME }}
SQL_IP_NAME: e2e-tests-clear-db
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login with AZ
uses: ./.github/actions/azure-login
with:
az_tenant_id: ${{ secrets.AZ_TENANT_ID }}
az_subscription_id: ${{ secrets.AZ_SUBSCRIPTION_ID }}
az_client_id: ${{ secrets.AZ_CLIENT_ID }}
az_client_secret: ${{ secrets.AZ_CLIENT_SECRET }}
- name: Get workflow IP address
id: whats-my-ip
uses: ./.github/actions/whats-my-ip-address
- name: Add Azure firewall rules
uses: ./.github/actions/azure-ip-whitelist
with:
ip_address: ${{ steps.whats-my-ip.outputs.ip }}
verb: "add"
az_keyvault_name: ${{ env.az_keyvault_name }}
az_ip_name: ${{ env.SQL_IP_NAME }}
az_resource_group: ${{ env.az_resource_group_name}}
az_sql_database_server_name: ${{ env.az_sql_database_server_name }}
- name: Get connection string
id: get-connection-string
uses: ./.github/actions/azure-get-db-connectionstring
with:
az_keyvault_name: ${{ env.az_keyvault_name }}
az_keyvault_database_connectionstring_name: ${{ env.az_keyvault_database_connectionstring_name }}
- name: Execute stored procedure
uses: azure/sql-action@v2.2
with:
connection-string: ${{ steps.get-connection-string.outputs.connection_string }}
path: "./.github/scripts/drop-establishment-data.sql"
- name: Remove Azure firewall rules
if: always()
uses: ./.github/actions/azure-ip-whitelist
with:
ip_address: ${{ steps.whats-my-ip.outputs.ip }}
verb: "remove"
az_keyvault_name: ${{ env.az_keyvault_name }}
az_ip_name: ${{ env.SQL_IP_NAME }}
az_resource_group: ${{ env.az_resource_group_name}}
az_sql_database_server_name: ${{ env.az_sql_database_server_name }}
run-tests:
name: Run E2E Tests
runs-on: ubuntu-20.04
needs: [clear-db]
env:
PROJECT_PATH: ./src/Dfe.PlanTech.Web/Dfe.PlanTech.Web.csproj
KEYVAULT_NAME: ${{ secrets.AZ_ENVIRONMENT }}${{ secrets.DFE_PROJECT_NAME }}-kv
RESOURCE_GROUP: ${{ secrets.AZ_ENVIRONMENT }}${{ secrets.DFE_PROJECT_NAME }}
SQL_IP_NAME: e2e-tests-pr
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Azure CLI Login
uses: ./.github/actions/azure-login
with:
az_tenant_id: ${{ secrets.AZ_TENANT_ID }}
az_subscription_id: ${{ secrets.AZ_SUBSCRIPTION_ID }}
az_client_id: ${{ secrets.AZ_CLIENT_ID }}
az_client_secret: ${{ secrets.AZ_CLIENT_SECRET }}
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install dependencies
shell: bash
run: dotnet restore ${{ env.PROJECT_PATH }}
- name: Build project
shell: bash
run: dotnet publish ./src/Dfe.PlanTech.Web/Dfe.PlanTech.Web.csproj --configuration Release --no-restore --output ./build
- name: Create overwrite json file
shell: bash
working-directory: ./build
run: |
echo "{ \"DfeSignIn\": { \"FrontDoorUrl\": \"https://localhost:8081\"}}" > overrides.json
- name: Get workflow IP address
id: whats-my-ip
uses: ./.github/actions/whats-my-ip-address
- name: Add Azure firewall rules
uses: ./.github/actions/azure-ip-whitelist
with:
ip_address: ${{ steps.whats-my-ip.outputs.ip }}
verb: "add"
az_keyvault_name: ${{ env.KEYVAULT_NAME }}
az_ip_name: ${{ env.SQL_IP_NAME }}
az_resource_group: ${{ env.RESOURCE_GROUP}}
az_sql_database_server_name: ${{ env.RESOURCE_GROUP }}
- name: Run project
shell: bash
working-directory: ./build
run: |
export ASPNETCORE_ENVIRONMENT=Staging
export KeyVaultName=${{ env.KEYVAULT_NAME }}
export Kestrel__Endpoints__Https__Url=https://*:8081
export DfeSignIn__FrontDoorUrl=https://localhost:8081
dotnet ./Dfe.PlanTech.Web.dll --DfeSignIn:FrontDoorUrl=https://localhost:8081 &
- name: Cypress tests
uses: ./.github/actions/run-e2e-tests
with:
url: https://localhost:8081
dsi_url: ${{ secrets.DSI_URL }}
dsi_username: ${{ secrets.DSI_USERNAME }}
dsi_password: ${{ secrets.DSI_PASSWORD }}
- name: Remove Azure firewall rules
if: always()
uses: ./.github/actions/azure-ip-whitelist
with:
ip_address: ${{ steps.whats-my-ip.outputs.ip }}
verb: "remove"
az_keyvault_name: ${{ env.KEYVAULT_NAME }}
az_ip_name: ${{ env.SQL_IP_NAME }}
az_resource_group: ${{ env.RESOURCE_GROUP}}
az_sql_database_server_name: ${{ env.RESOURCE_GROUP }}