|
1 | 1 | parameters: |
2 | | - - name: smoke_tests |
3 | | - type: boolean |
4 | | - displayName: Toggle smoke tests |
5 | | - default: false |
| 2 | + - name: smoke_tests |
| 3 | + type: boolean |
| 4 | + displayName: Toggle smoke tests |
| 5 | + default: false |
6 | 6 |
|
7 | 7 | steps: |
8 | | - - task: s3-cache-action@1 |
9 | | - inputs: |
10 | | - key: 'poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock' |
11 | | - location: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv' |
12 | | - debug: true |
13 | | - alias: 'Pytest' |
14 | | - displayName: cache pytest dependencies |
| 8 | + - task: UsePythonVersion@0 |
| 9 | + inputs: |
| 10 | + versionSpec: "3.9" |
| 11 | + |
| 12 | + - task: s3-cache-action@1 |
| 13 | + inputs: |
| 14 | + key: "poetry | $(SERVICE_NAME) | $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/poetry.lock" |
| 15 | + location: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/.venv" |
| 16 | + debug: true |
| 17 | + alias: "Pytest" |
| 18 | + displayName: cache pytest dependencies |
15 | 19 |
|
16 | | - - bash: | |
17 | | - make install-python |
18 | | - workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME) |
19 | | - condition: ne(variables['CacheRestored-Pytest'], 'true') |
20 | | - displayName: Setup pytests |
21 | | - # Smoketests. |
22 | | - - ${{ if parameters.smoke_tests }}: |
23 | | - - template: "azure/components/aws-assume-role.yml@common" |
24 | | - parameters: |
25 | | - role: "auto-ops" |
26 | | - profile: "apm_ptl" |
27 | | - - template: "azure/components/get-aws-secrets-and-ssm-params.yml@common" |
28 | | - parameters: |
29 | | - secret_file_ids: |
30 | | - - ptl/app-credentials/jwt_testing/non-prod/JWT_TESTING_PRIVATE_KEY |
31 | | - - ptl/app-credentials/jwt_testing/non-prod/ID_TOKEN_NHS_LOGIN_PRIVATE_KEY |
32 | | - - ptl/azure-devops/summary-care-record/JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY |
33 | | - config_ids: |
34 | | - - /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_ID |
35 | | - - /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_SECRET |
36 | 20 | - bash: | |
37 | | - wait |
38 | | - sleep 350 |
39 | | - export RELEASE_RELEASEID=$(Build.BuildId) |
40 | | - export SOURCE_COMMIT_ID=$(Build.SourceVersion) |
41 | | - export APIGEE_ENVIRONMENT="$(ENVIRONMENT)" |
42 | | - export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)" |
43 | | - export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)" |
44 | | - export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)" |
45 | | - export OAUTH_PROXY="oauth2-mock" |
46 | | - export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk" |
47 | | - export APIGEE_API_TOKEN="$(secret.AccessToken)" |
48 | | - export REDIRECT_URI="https://example.org/callback" |
49 | | - export CLIENT_ID="$(CLIENT_ID)" |
50 | | - export CLIENT_SECRET="$(CLIENT_SECRET)" |
51 | | - export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)" |
52 | | - export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY)" |
53 | | - export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)" |
54 | | - export AUTHENTICATE_URL="https://nhsd-apim-testing-internal-dev.herokuapp.com/" |
55 | | - make smoketest |
| 21 | + make install-python |
56 | 22 | workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME) |
57 | | - displayName: Run smoketests |
58 | | - - task: PublishTestResults@2 |
59 | | - displayName: 'Publish smoketest results' |
60 | | - condition: always() |
61 | | - inputs: |
62 | | - testResultsFiles: '$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml' |
63 | | - failTaskOnFailedTests: true |
| 23 | + condition: ne(variables['CacheRestored-Pytest'], 'true') |
| 24 | + displayName: Setup pytests |
| 25 | + # Smoketests. |
| 26 | + - ${{ if parameters.smoke_tests }}: |
| 27 | + - template: "azure/components/aws-assume-role.yml@common" |
| 28 | + parameters: |
| 29 | + role: "auto-ops" |
| 30 | + profile: "apm_ptl" |
| 31 | + - template: "azure/components/get-aws-secrets-and-ssm-params.yml@common" |
| 32 | + parameters: |
| 33 | + secret_file_ids: |
| 34 | + - ptl/app-credentials/jwt_testing/non-prod/JWT_TESTING_PRIVATE_KEY |
| 35 | + - ptl/app-credentials/jwt_testing/non-prod/ID_TOKEN_NHS_LOGIN_PRIVATE_KEY |
| 36 | + - ptl/azure-devops/summary-care-record/JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY |
| 37 | + config_ids: |
| 38 | + - /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_ID |
| 39 | + - /ptl/azure-devops/env-internal-dev/test-app/internal-testing-internal-dev/CLIENT_SECRET |
| 40 | + - bash: | |
| 41 | + wait |
| 42 | + sleep 350 |
| 43 | + export RELEASE_RELEASEID=$(Build.BuildId) |
| 44 | + export SOURCE_COMMIT_ID=$(Build.SourceVersion) |
| 45 | + export APIGEE_ENVIRONMENT="$(ENVIRONMENT)" |
| 46 | + export SERVICE_BASE_PATH="$(SERVICE_BASE_PATH)" |
| 47 | + export STATUS_ENDPOINT_API_KEY="$(status-endpoint-api-key)" |
| 48 | + export APIGEE_PRODUCT="$(FULLY_QUALIFIED_SERVICE_NAME)" |
| 49 | + export OAUTH_PROXY="oauth2-mock" |
| 50 | + export OAUTH_BASE_URI="https://$(ENVIRONMENT).api.service.nhs.uk" |
| 51 | + export APIGEE_API_TOKEN="$(secret.AccessToken)" |
| 52 | + export REDIRECT_URI="https://example.org/callback" |
| 53 | + export CLIENT_ID="$(CLIENT_ID)" |
| 54 | + export CLIENT_SECRET="$(CLIENT_SECRET)" |
| 55 | + export JWT_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_PRIVATE_KEY)" |
| 56 | + export JWT_PRIVATE_KEY_APP_RESTRICTED_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(JWT_TESTING_APP_RESTRICTED_PRIVATE_KEY)" |
| 57 | + export ID_TOKEN_NHS_LOGIN_PRIVATE_KEY_ABSOLUTE_PATH="$(Pipeline.Workspace)/secrets/$(ID_TOKEN_NHS_LOGIN_PRIVATE_KEY)" |
| 58 | + export AUTHENTICATE_URL="https://nhsd-apim-testing-internal-dev.herokuapp.com/" |
| 59 | + make smoketest |
| 60 | + workingDirectory: $(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME) |
| 61 | + displayName: Run smoketests |
| 62 | + - task: PublishTestResults@2 |
| 63 | + displayName: "Publish smoketest results" |
| 64 | + condition: always() |
| 65 | + inputs: |
| 66 | + testResultsFiles: "$(Pipeline.Workspace)/s/$(SERVICE_NAME)/$(SERVICE_ARTIFACT_NAME)/smoketest-report.xml" |
| 67 | + failTaskOnFailedTests: true |
0 commit comments