From aeacdf31b5dd3b86a7441d060189361b87cb610e Mon Sep 17 00:00:00 2001 From: Simon Kok Date: Thu, 18 Jan 2024 11:59:32 +0100 Subject: [PATCH] Fix bootstrap pipeline tests (#679) **Why?** The tests that execute in the aws-deployment-framework-bootstrap pipeline failed. They failed, as the tests picked up environment variables from the actual ADF installation. Rather than the test environment they run in normally. **What?** Fixed by running the tests using tox. Such that the test environment is created. This ensure the tests are consistent regardless of where they execute. --- .../bootstrap_repository/requirements-dev.txt | 1 + .../bootstrap_repository/tox.ini | 40 +++++++++++++++++++ src/template.yml | 5 ++- 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 src/lambda_codebase/initial_commit/bootstrap_repository/requirements-dev.txt create mode 100644 src/lambda_codebase/initial_commit/bootstrap_repository/tox.ini diff --git a/src/lambda_codebase/initial_commit/bootstrap_repository/requirements-dev.txt b/src/lambda_codebase/initial_commit/bootstrap_repository/requirements-dev.txt new file mode 100644 index 000000000..0f2a5c5af --- /dev/null +++ b/src/lambda_codebase/initial_commit/bootstrap_repository/requirements-dev.txt @@ -0,0 +1 @@ +tox==4.11.4 diff --git a/src/lambda_codebase/initial_commit/bootstrap_repository/tox.ini b/src/lambda_codebase/initial_commit/bootstrap_repository/tox.ini new file mode 100644 index 000000000..ff7f2e7bb --- /dev/null +++ b/src/lambda_codebase/initial_commit/bootstrap_repository/tox.ini @@ -0,0 +1,40 @@ +# tox (https://tox.readthedocs.io/) is a tool for running tests +# in multiple virtualenvs. This configuration file will run the +# test suite on all supported python versions. To use it, "pip install tox" +# and then run "tox" from this directory. + +[tox] +envlist = py312 +skipsdist = True + + +[testenv] +setenv= + PYTHONPATH={toxinidir}/adf-build/shared/python + ORGANIZATION_ID=o-123456789 + AWS_REGION=eu-central-1 + AWS_DEFAULT_REGION=eu-central-1 + ADF_PIPELINE_PREFIX=adf-pipeline- + CODEBUILD_BUILD_ID=abcdef + S3_BUCKET=some_bucket + S3_BUCKET_NAME=some_bucket + DEPLOYMENT_ACCOUNT_BUCKET=some_deployment_account_bucket + MASTER_ACCOUNT_ID=123 + ADF_VERSION=1.0.0 + ADF_LOG_LEVEL=CRITICAL + ADF_PROJECT_NAME=whatever + ACCOUNT_ID=111111111111 + +allowlist_externals = + pytest +# python +deps = + -r{toxinidir}/adf-build/requirements.txt + -r{toxinidir}/adf-build/requirements-dev.txt + -r{toxinidir}/adf-build/shared/helpers/requirements.txt + -r{toxinidir}/adf-build/shared/helpers/requirements-dev.txt + -r{toxinidir}/adf-build/shared/requirements.txt + -r{toxinidir}/adf-build/shared/requirements-dev.txt + +commands = + pytest -vvv diff --git a/src/template.yml b/src/template.yml index ca9ab75dd..454a2edeb 100644 --- a/src/template.yml +++ b/src/template.yml @@ -1333,7 +1333,7 @@ Resources: CodeBuildProject: Type: AWS::CodeBuild::Project Properties: - TimeoutInMinutes: 40 + TimeoutInMinutes: 60 Artifacts: Type: CODEPIPELINE Environment: @@ -1377,6 +1377,7 @@ Resources: commands: - >- pip install + -r requirements-dev.txt -r adf-build/requirements.txt -r adf-build/requirements-dev.txt -r adf-build/shared/requirements.txt @@ -1384,7 +1385,7 @@ Resources: -r adf-build/shared/helpers/requirements.txt -r adf-build/shared/helpers/requirements-dev.txt --quiet - - pytest -vvv + - tox build: commands: - sam build -t adf-bootstrap/deployment/global.yml