From 5cb71586a26ff8708202665affae053136b040c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:28:45 +0000 Subject: [PATCH 1/8] github-actions: bump slackapi/slack-github-action from 1.26.0 to 1.27.0 Bumps [slackapi/slack-github-action](https://github.com/slackapi/slack-github-action) from 1.26.0 to 1.27.0. - [Release notes](https://github.com/slackapi/slack-github-action/releases) - [Commits](https://github.com/slackapi/slack-github-action/compare/v1.26.0...v1.27.0) --- updated-dependencies: - dependency-name: slackapi/slack-github-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/_deploy.yml | 2 +- .github/workflows/merge.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/_deploy.yml b/.github/workflows/_deploy.yml index 3c22397f6..911cf1048 100644 --- a/.github/workflows/_deploy.yml +++ b/.github/workflows/_deploy.yml @@ -167,7 +167,7 @@ jobs: uses: ./.github/actions/catch-failed-step - name: Send job result to slack id: slack - uses: slackapi/slack-github-action@v1.26.0 + uses: slackapi/slack-github-action@v1.27.0 with: payload: | { diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml index 4d09f45f0..1673d54ac 100644 --- a/.github/workflows/merge.yml +++ b/.github/workflows/merge.yml @@ -68,7 +68,7 @@ jobs: uses: ./.github/actions/catch-failed-step - name: Send merge result to slack id: slack - uses: slackapi/slack-github-action@v1.26.0 + uses: slackapi/slack-github-action@v1.27.0 with: payload: | { From a6ecaff4bc3f8644fd4614886606b99c8a4481c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Sep 2024 13:29:23 +0000 Subject: [PATCH 2/8] poetry: update datamodel-code-generator requirement Updates the requirements on [datamodel-code-generator](https://github.com/koxudaxi/datamodel-code-generator) to permit the latest version. - [Release notes](https://github.com/koxudaxi/datamodel-code-generator/releases) - [Commits](https://github.com/koxudaxi/datamodel-code-generator/compare/0.25.1...0.26.0) --- updated-dependencies: - dependency-name: datamodel-code-generator dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 22463a098..8caee9e04 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,7 +40,7 @@ hypothesis = "^6.87.3" aws-lambda-powertools = { extras = ["aws-sdk"], version = "^2.26.0" } parse = "^1.19.1" pytest-mock = "^3.12.0" -datamodel-code-generator = "^0.25.1" +datamodel-code-generator = "^0.26.0" pyyaml = "^6.0.1" proxygen-cli = "^2.1.14" moto = "^5.0.1" From dd4bcc47e864ffe5607b87cf5a9ebba27c59a283 Mon Sep 17 00:00:00 2001 From: megan-bower4 Date: Wed, 11 Sep 2024 14:18:51 +0100 Subject: [PATCH 3/8] release/2024-09-11 Created release branch --- CHANGELOG.md | 4 ++++ VERSION | 2 +- changelog/2024-09-11.md | 2 ++ pyproject.toml | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 changelog/2024-09-11.md diff --git a/CHANGELOG.md b/CHANGELOG.md index bdaeecbd5..682474087 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2024-09-11 +- [PI-493] Generating Party Keys +- [PI-494] Generating ASIDs + ## 2024-09-05 - [PI-219] Upgrade to Python 3.12 - [PI-491] Case-insensitive search diff --git a/VERSION b/VERSION index 02d633857..5fc50dda3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2024.09.05 +2024.09.11 diff --git a/changelog/2024-09-11.md b/changelog/2024-09-11.md new file mode 100644 index 000000000..1b69ed841 --- /dev/null +++ b/changelog/2024-09-11.md @@ -0,0 +1,2 @@ +- [PI-493] Generating Party Keys +- [PI-494] Generating ASIDs diff --git a/pyproject.toml b/pyproject.toml index 22463a098..f06fad268 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "connecting-party-manager" -version = "2024.09.05" +version = "2024.09.11" description = "Repository for the Connecting Party Manager API and related services" authors = ["NHS England"] license = "LICENSE.md" From 5fc0ed60fe009d36886349353a4c80fbbe82a546 Mon Sep 17 00:00:00 2001 From: megan-bower4 Date: Wed, 11 Sep 2024 14:21:41 +0100 Subject: [PATCH 4/8] feature/PI-494-generate_asids Generate cpm system ids --- .../domain/core/cpm_system_id/__init__.py | 1 + .../tests/test_cpm_system_id_v1.py | 167 ++++++++++++++++++ src/layers/domain/core/cpm_system_id/v1.py | 86 +++++++++ .../repository/cpm_system_id_repository.py | 42 +++++ src/layers/domain/repository/keys/v3.py | 7 + 5 files changed, 303 insertions(+) create mode 100644 src/layers/domain/core/cpm_system_id/__init__.py create mode 100644 src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py create mode 100644 src/layers/domain/core/cpm_system_id/v1.py create mode 100644 src/layers/domain/repository/cpm_system_id_repository.py create mode 100644 src/layers/domain/repository/keys/v3.py diff --git a/src/layers/domain/core/cpm_system_id/__init__.py b/src/layers/domain/core/cpm_system_id/__init__.py new file mode 100644 index 000000000..e1ddb07c7 --- /dev/null +++ b/src/layers/domain/core/cpm_system_id/__init__.py @@ -0,0 +1 @@ +from .v1 import * # noqa: F403, F401 diff --git a/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py b/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py new file mode 100644 index 000000000..7c02836ce --- /dev/null +++ b/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py @@ -0,0 +1,167 @@ +import pytest +from domain.core.cpm_system_id import AsidId, PartyKeyId +from domain.repository.cpm_system_id_repository import CpmSystemIdRepository +from event.aws.client import dynamodb_client + +from test_helpers.terraform import read_terraform_output + + +def test_party_key_generator_format_key(): + generator = PartyKeyId.create(current_id={"latest": 123456}, ods_code="ABC") + expected_key = "ABC-123457" # Expecting the number to be formatted with 6 digits + assert generator.latest_id == expected_key + + +def test_party_key_generator_validate_key_valid(): + valid_key = "ABC-123457" + is_valid = PartyKeyId.validate_key(valid_key) + assert is_valid + + +@pytest.mark.parametrize( + "invalid_key", + [ + "ABC000124", # Missing hyphen + "123-000124", # Numeric ODS code + "ABC-1234", # Number part too short + "ABC-1234567", # Number part too long + "AB1-000124", # ODS code contains a digit + "ABC-0001A4", # Number part contains a non-digit character + "", # Empty string + ], +) +def test_party_key_generator_validate_key_invalid_format(invalid_key): + is_valid = PartyKeyId.validate_key(invalid_key) + assert not is_valid + + +def test_party_key_generator_increment_number(): + # Test that the number is incremented correctly + generator = PartyKeyId.create(current_id={"latest": 123456}, ods_code="XYZ") + expected_key = "XYZ-123457" # Expecting increment from 123456 to 123457 + assert generator.latest == 123457 + assert generator.latest_id == expected_key + + +@pytest.mark.integration +def test_party_key_generation_seeded(): + TABLE_NAME = read_terraform_output("dynamodb_table_name.value") + client = dynamodb_client() + repository = CpmSystemIdRepository(table_name=TABLE_NAME, dynamodb_client=client) + current_id = repository.read(key_name="PARTYKEYNUMBER") + generator = PartyKeyId.create(current_id=current_id, ods_code="ABC") + assert generator.latest == 850000 + assert generator.latest_id == "ABC-850000" + repository.create_or_update(key_name="PARTYKEYNUMBER", new_number=generator.latest) + new_id = repository.read(key_name="PARTYKEYNUMBER") + assert new_id["latest"] == 850000 + + +@pytest.mark.parametrize( + "start, expected", + [("850010", 850011), ("875789", 875790), ("961237", 961238)], +) +@pytest.mark.integration +def test_party_key_generation(start, expected): + TABLE_NAME = read_terraform_output("dynamodb_table_name.value") + client = dynamodb_client() + # Insert a dummy entry with an initial 'latest' value + client.put_item( + TableName=TABLE_NAME, + Item={ + "pk": {"S": "CSI#PARTYKEYNUMBER"}, + "sk": {"S": "CSI#PARTYKEYNUMBER"}, + "latest": {"N": f"{start}"}, # Set the initial value for the test + }, + ) + + repository = CpmSystemIdRepository(table_name=TABLE_NAME, dynamodb_client=client) + current_id = repository.read(key_name="PARTYKEYNUMBER") + generator = PartyKeyId.create(current_id=current_id, ods_code="ABC") + assert generator.latest == expected + assert generator.latest_id == f"ABC-{str(expected)}" + repository.create_or_update(key_name="PARTYKEYNUMBER", new_number=generator.latest) + new_id = repository.read(key_name="PARTYKEYNUMBER") + assert new_id["latest"] == expected + + +def test_asid_generator_validate_key_valid(): + valid_key = "223456789014" + is_valid = AsidId.validate_key(valid_key) + assert is_valid + + +@pytest.mark.parametrize( + "invalid_key", + [ + "1234567890123", + "12345678901", + "1234567890", + "123456789", + "12345678", + "1234567", + "123456", + "12345", + "1234", + "123", + "12", + "1", + "", # Empty string + ], +) +def test_asid_generator_validate_key_invalid_format(invalid_key): + is_valid = AsidId.validate_key(invalid_key) + assert not is_valid + + +def test_asid_generator_increment_number(): + # Test that the number is incremented correctly + generator = AsidId.create(current_id={"latest": 223456789012}) + assert generator.latest == 223456789013 + assert generator.latest_id == "223456789013" + + +@pytest.mark.integration +def test_asid_key_generation_seeded(): + TABLE_NAME = read_terraform_output("dynamodb_table_name.value") + client = dynamodb_client() + repository = CpmSystemIdRepository(table_name=TABLE_NAME, dynamodb_client=client) + current_id = repository.read(key_name="ASIDNUMBER") + generator = AsidId.create(current_id=current_id) + assert generator.latest == 200000100000 + assert generator.latest_id == "200000100000" + repository.create_or_update(key_name="ASIDNUMBER", new_number=generator.latest) + new_id = repository.read(key_name="ASIDNUMBER") + assert new_id["latest"] == 200000100000 + + +@pytest.mark.parametrize( + "start, expected", + [ + ("200000000000", 200000000001), + ("200001000000", 200001000001), + ("200001000009", 200001000010), + ], +) +@pytest.mark.integration +def test_asid_key_generation(start, expected): + TABLE_NAME = read_terraform_output("dynamodb_table_name.value") + client = dynamodb_client() + # Insert a dummy entry with an initial 'latest' value + client.put_item( + TableName=TABLE_NAME, + Item={ + "pk": {"S": "CSI#ASIDNUMBER"}, + "sk": {"S": "CSI#ASIDNUMBER"}, + "latest": {"N": f"{start}"}, # Set the initial value for the test + }, + ) + + repository = CpmSystemIdRepository(table_name=TABLE_NAME, dynamodb_client=client) + current_id = repository.read(key_name="ASIDNUMBER") + generator = AsidId.create(current_id=current_id) + assert generator.latest == expected + assert generator.latest_id == str(expected) + repository.create_or_update(key_name="ASIDNUMBER", new_number=generator.latest) + new_id = repository.read(key_name="ASIDNUMBER") + assert new_id["latest"] == expected diff --git a/src/layers/domain/core/cpm_system_id/v1.py b/src/layers/domain/core/cpm_system_id/v1.py new file mode 100644 index 000000000..ebc888c7e --- /dev/null +++ b/src/layers/domain/core/cpm_system_id/v1.py @@ -0,0 +1,86 @@ +from abc import abstractmethod + +from domain.core.base import BaseModel + + +class CpmSystemId(BaseModel): + key_name: str + latest: int + current_number: int + latest_id: str + + @classmethod + def create(cls, key_name: str, current_id: int): + # Initialize current_number + instance = cls( + key_name=key_name, + latest=current_id + 1, + current_number=current_id, + latest_id="", + ) + instance.latest_id = instance._format_key() + return instance + + @abstractmethod + def _format_key(self) -> str: + pass + + @abstractmethod + def validate_key(self, key: str) -> bool: + pass + + +class AsidId(CpmSystemId): + @classmethod + def create(cls, current_id=None): + # Initialize current_id with a default if not provided + current_id = current_id["latest"] if current_id is not None else 200000099999 + return super().create(key_name="ASIDNUMBER", current_id=current_id) + + def _format_key(self) -> str: + """ + return the asid as a 12-digit number. + """ + return f"{self.latest:012d}" + + @classmethod + def validate_key(cls, key: str) -> bool: + """ + Validate that the ASID has the correct format. + """ + return key.isdigit() and len(key) == 12 and key.startswith("2") + + +class PartyKeyId(CpmSystemId): + ods_code: str + + @classmethod + def create(cls, current_id=None, ods_code: str = ""): + # Initialize current_id with a default if not provided + current_id = current_id["latest"] if current_id is not None else 849999 + instance = cls( + key_name="PARTYNUMBER", + current_number=current_id, + latest=current_id + 1, + ods_code=ods_code, + latest_id="", # Temporary placeholder for latest_id + ) + instance.latest_id = instance._format_key() + return instance + + def _format_key(self) -> str: + """ + Format the party key with the ODS code and a 7-digit number. + """ + return f"{self.ods_code}-{self.latest:06d}" + + @classmethod + def validate_key(cls, key: str) -> bool: + """ + Validate that the party key has the correct format. + """ + parts = key.split("-") + if len(parts) != 2: + return False + ods_code, number = parts + return ods_code.isalpha() and number.isdigit() and len(number) == 6 diff --git a/src/layers/domain/repository/cpm_system_id_repository.py b/src/layers/domain/repository/cpm_system_id_repository.py new file mode 100644 index 000000000..759c10c3d --- /dev/null +++ b/src/layers/domain/repository/cpm_system_id_repository.py @@ -0,0 +1,42 @@ +from domain.core.cpm_system_id import CpmSystemId + +from .keys.v3 import TableKey +from .marshall import marshall, unmarshall +from .repository import Repository + + +class CpmSystemIdRepository(Repository[CpmSystemId]): + def __init__(self, table_name: str, dynamodb_client): + super().__init__( + table_name=table_name, model=CpmSystemId, dynamodb_client=dynamodb_client + ) + + def read(self, key_name) -> CpmSystemId: + pk = f"{TableKey.CPM_SYSTEM_ID}#{key_name}" + args = {"TableName": self.table_name, "Key": marshall(pk=pk, sk=pk)} + result = self.client.get_item(**args) + + try: + item = result["Item"] + except KeyError: + return None + + entry = unmarshall(item) + return entry + + def create_or_update(self, key_name, new_number) -> CpmSystemId: + pk = f"{TableKey.CPM_SYSTEM_ID}#{key_name}" + item_key = { + "pk": {"S": f"{pk}"}, + "sk": {"S": f"{pk}"}, + } + args = { + "TableName": self.table_name, + "Key": item_key, + "UpdateExpression": "SET latest = :new_value", + "ExpressionAttributeValues": { + ":new_value": {"N": str(new_number)}, + }, + } + result = self.client.update_item(**args) + return result diff --git a/src/layers/domain/repository/keys/v3.py b/src/layers/domain/repository/keys/v3.py new file mode 100644 index 000000000..9d7ea5156 --- /dev/null +++ b/src/layers/domain/repository/keys/v3.py @@ -0,0 +1,7 @@ +from enum import StrEnum + +from .v1 import TableKeyAction + + +class TableKey(TableKeyAction, StrEnum): + CPM_SYSTEM_ID = "CSI" From f761158a9fd08b6bd0917cff6bb13d936b400f3d Mon Sep 17 00:00:00 2001 From: megan-bower4 Date: Wed, 11 Sep 2024 15:31:27 +0100 Subject: [PATCH 5/8] release/2024-09-11 Add increment test for generators --- .../tests/test_cpm_system_id_v1.py | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py b/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py index 7c02836ce..14f77737c 100644 --- a/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py +++ b/src/layers/domain/core/cpm_system_id/tests/test_cpm_system_id_v1.py @@ -85,6 +85,56 @@ def test_party_key_generation(start, expected): assert new_id["latest"] == expected +@pytest.mark.integration +def test_party_key_generation_increment(): + TABLE_NAME = read_terraform_output("dynamodb_table_name.value") + client = dynamodb_client() + start_value = 100000 + + # Insert a dummy entry with an initial 'latest' value + client.put_item( + TableName=TABLE_NAME, + Item={ + "pk": {"S": "CSI#PARTYKEYNUMBER"}, + "sk": {"S": "CSI#PARTYKEYNUMBER"}, + "latest": {"N": f"{start_value}"}, # Set the initial value for the test + }, + ) + + repository = CpmSystemIdRepository(table_name=TABLE_NAME, dynamodb_client=client) + + # Number of times to call the generator + num_calls = 5 + current_id = repository.read(key_name="PARTYKEYNUMBER") + + previous_latest = int(current_id["latest"]) + + for _ in range(num_calls): + generator = PartyKeyId.create(current_id=current_id, ods_code="ABC") + + expected_latest = previous_latest + 1 + + assert generator.latest == expected_latest + assert generator.latest_id == f"ABC-{expected_latest}" + + # Update repository with new number + repository.create_or_update( + key_name="PARTYKEYNUMBER", new_number=generator.latest + ) + + # Fetch the updated ID and check if it was correctly incremented + new_id = repository.read(key_name="PARTYKEYNUMBER") + assert int(new_id["latest"]) == expected_latest + + # Update for next iteration + previous_latest = expected_latest + current_id = new_id + + # Final assertion to check if latest is num_calls greater than start + final_latest = int(repository.read(key_name="PARTYKEYNUMBER")["latest"]) + assert final_latest == start_value + num_calls + + def test_asid_generator_validate_key_valid(): valid_key = "223456789014" is_valid = AsidId.validate_key(valid_key) @@ -165,3 +215,51 @@ def test_asid_key_generation(start, expected): repository.create_or_update(key_name="ASIDNUMBER", new_number=generator.latest) new_id = repository.read(key_name="ASIDNUMBER") assert new_id["latest"] == expected + + +@pytest.mark.integration +def test_asid_generation_increment(): + TABLE_NAME = read_terraform_output("dynamodb_table_name.value") + client = dynamodb_client() + start_value = 200000000000 + + # Insert a dummy entry with an initial 'latest' value + client.put_item( + TableName=TABLE_NAME, + Item={ + "pk": {"S": "CSI#ASIDNUMBER"}, + "sk": {"S": "CSI#ASIDNUMBER"}, + "latest": {"N": f"{start_value}"}, # Set the initial value for the test + }, + ) + + repository = CpmSystemIdRepository(table_name=TABLE_NAME, dynamodb_client=client) + + # Number of times to call the generator + num_calls = 5 + current_id = repository.read(key_name="ASIDNUMBER") + + previous_latest = int(current_id["latest"]) + + for _ in range(num_calls): + generator = AsidId.create(current_id=current_id) + + expected_latest = previous_latest + 1 + + assert generator.latest == expected_latest + assert generator.latest_id == str(expected_latest) + + # Update repository with new number + repository.create_or_update(key_name="ASIDNUMBER", new_number=generator.latest) + + # Fetch the updated ID and check if it was correctly incremented + new_id = repository.read(key_name="ASIDNUMBER") + assert int(new_id["latest"]) == expected_latest + + # Update for next iteration + previous_latest = expected_latest + current_id = new_id + + # Final assertion to check if latest is num_calls greater than start_value + final_latest = int(repository.read(key_name="ASIDNUMBER")["latest"]) + assert final_latest == start_value + num_calls From 83f60aa1fb03c4a9fe3fc2378ac171e21761e451 Mon Sep 17 00:00:00 2001 From: Rowan Gill Date: Thu, 12 Sep 2024 11:15:54 +0100 Subject: [PATCH 6/8] feature/PI-499-fix_ci_s3_tests Added internal flags to the S3 integration tests --- scripts/test/test.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/test/test.mk b/scripts/test/test.mk index 41b83befa..1c2104d23 100644 --- a/scripts/test/test.mk +++ b/scripts/test/test.mk @@ -23,13 +23,13 @@ test--slow: ## Run slow (pytest) tests $(MAKE) _pytest _INTERNAL_FLAGS="-m 'slow'" _CACHE_CLEAR=$(_CACHE_CLEAR) test--s3: aws--login ## Run (pytest) tests that require s3 downloads - $(MAKE) _pytest _INTERNAL_FLAGS="-m 's3'" _CACHE_CLEAR=$(_CACHE_CLEAR) AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) AWS_SESSION_TOKEN=$(AWS_SESSION_TOKEN) + $(MAKE) _pytest _INTERNAL_FLAGS="-m 's3' $(_INTERNAL_FLAGS)" _CACHE_CLEAR=$(_CACHE_CLEAR) AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) AWS_SESSION_TOKEN=$(AWS_SESSION_TOKEN) test--smoke: aws--login ## Run end-to-end smoke tests (pytest) AWS_DEFAULT_REGION=$(AWS_DEFAULT_REGION) AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) AWS_SESSION_TOKEN=$(AWS_SESSION_TOKEN) WORKSPACE=$(WORKSPACE) ACCOUNT=$(ACCOUNT) poetry run python -m pytest $(PYTEST_FLAGS) -m 'smoke' --ignore=src/layers --ignore=src/etl $(_CACHE_CLEAR) test--%--rerun: ## Rerun failed integration or unit (pytest) tests - $(MAKE) test--$* _INTERNAL_FLAGS="--last-failed --last-failed-no-failures none" _CACHE_CLEAR= + $(MAKE) test--$* _INTERNAL_FLAGS="--last-failed --last-failed-no-failures none" _CACHE_CLEAR=$(_CACHE_CLEAR) test--feature--integration: aws--login ## Run integration feature (gherkin) tests $(MAKE) _behave _INTERNAL_FLAGS="--define='test_mode=integration' $(_INTERNAL_FLAGS)" AWS_ACCESS_KEY_ID=$(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY=$(AWS_SECRET_ACCESS_KEY) AWS_SESSION_TOKEN=$(AWS_SESSION_TOKEN) From d7a26342cc2705de37cab245cb4b57e9f2d87893 Mon Sep 17 00:00:00 2001 From: Rowan Gill Date: Thu, 12 Sep 2024 11:54:13 +0100 Subject: [PATCH 7/8] feature/PI-499-fix_ci_s3_tests changed example.com to bin.org --- src/etl/notify/tests/test_notify_lambda.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/etl/notify/tests/test_notify_lambda.py b/src/etl/notify/tests/test_notify_lambda.py index 4e65e2d59..0afe317b0 100644 --- a/src/etl/notify/tests/test_notify_lambda.py +++ b/src/etl/notify/tests/test_notify_lambda.py @@ -7,7 +7,7 @@ from test_helpers.terraform import read_terraform_output -EXAMPLE_DOT_COM = "https://example.com" +EXAMPLE_DOT_COM = "https://httpbin.org" NOTIFY_ENVIRONMENT = { "SLACK_WEBHOOK_URL": EXAMPLE_DOT_COM, From 43a6e32d1c019f2af97f74ba131fde6e86dcecfc Mon Sep 17 00:00:00 2001 From: megan-bower4 Date: Thu, 12 Sep 2024 15:44:26 +0100 Subject: [PATCH 8/8] release/2024-09-11 Update changelog --- CHANGELOG.md | 2 ++ changelog/2024-09-11.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 682474087..cc751ddca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## 2024-09-11 - [PI-493] Generating Party Keys - [PI-494] Generating ASIDs +- [PI-499] CI s3 tests are running twice +- [PI-513] Unit test post request failing ## 2024-09-05 - [PI-219] Upgrade to Python 3.12 diff --git a/changelog/2024-09-11.md b/changelog/2024-09-11.md index 1b69ed841..955144b84 100644 --- a/changelog/2024-09-11.md +++ b/changelog/2024-09-11.md @@ -1,2 +1,4 @@ - [PI-493] Generating Party Keys - [PI-494] Generating ASIDs +- [PI-499] CI s3 tests are running twice +- [PI-513] Unit test post request failing