From a9355ad95eabbeb8fde19467054f88758f367771 Mon Sep 17 00:00:00 2001 From: ORybak5 <12736698+ORybak5@users.noreply.github.com> Date: Wed, 3 Jun 2026 14:32:42 +0100 Subject: [PATCH] small cleanup of docker compose images (#1284) Bump actions/upload-artifact from 6.0.0 to 7.0.1 (#1281) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.1. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/b7c566a772e6b6bfb58ed0dc250532a479d7789f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.1 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ORybak5 <12736698+ORybak5@users.noreply.github.com> NIAD-3467 Fixed undeleted logs bug --- .github/workflows/test.yml | 8 ++++---- CHANGELOG.md | 1 + docker/docker-compose-checks.yml | 5 ++--- docker/docker-compose.yml | 1 - docker/release-scripts/ps-mhs-e2e/docker-compose.yml | 1 - .../service/InboundMessageMergingService.java | 5 +++++ .../service/InboundMessageMergingServiceTests.java | 10 ++++++++++ 7 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 457891075..f490f9d40 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,7 +34,7 @@ jobs: cp -r ./${{ inputs.path }}/build/reports ./artifacts - name: Upload Artifacts - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a if: always() with: name: '${{ inputs.name }} Checkstyle Report' @@ -68,7 +68,7 @@ jobs: cp -r ./${{ inputs.path }}/build/reports ./artifacts - name: Upload Artifacts - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a if: always() with: name: '${{ inputs.name }} Spotbugs Report' @@ -103,7 +103,7 @@ jobs: cp -r ./${{ inputs.path }}/build/reports ./artifacts - name: Upload Artifacts - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a if: always() with: name: '${{ inputs.name }} Unit Test Report' @@ -210,7 +210,7 @@ jobs: cp -r ./scripts/logs ./artifacts - name: Upload Artifacts - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a if: always() with: name: '${{ inputs.name }} Integration Test Report & Docker Logs' diff --git a/CHANGELOG.md b/CHANGELOG.md index a4d1c5c86..57131ca71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### Fixed * Improved error handling in SkeletonProcessingService to throw a meaningful IllegalArgumentException when a payload node cannot be matched to a skeleton document ID, replacing an uninformative NullPointerException. +* Fixed `canMergeCompleteBundle` incorrectly returning `true` when attachment logs are empty, causing a blank patient record after large message GP2GP transfers. ## [3.1.3] - 2025-09-19 diff --git a/docker/docker-compose-checks.yml b/docker/docker-compose-checks.yml index 017df4dbc..0cc3877e6 100644 --- a/docker/docker-compose-checks.yml +++ b/docker/docker-compose-checks.yml @@ -1,10 +1,9 @@ -version: '3.8' services: gpc_facade: container_name: gpc_facade_tests build: target: build - entrypoint: "gradle check" + entrypoint: ["gradle", "check"] environment: - GPC_FACADE_SERVER_PORT - PS_DB_URL @@ -15,7 +14,7 @@ services: container_name: gp2gp_translator_tests build: target: build - entrypoint: "gradle check" + entrypoint: ["gradle", "check"] environment: - GP2GP_TRANSLATOR_SERVER_PORT - PS_DB_URL diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index da3017a28..9f9417cbe 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3.8' services: gpc_facade: build: diff --git a/docker/release-scripts/ps-mhs-e2e/docker-compose.yml b/docker/release-scripts/ps-mhs-e2e/docker-compose.yml index 5e591f02d..7f8d25197 100644 --- a/docker/release-scripts/ps-mhs-e2e/docker-compose.yml +++ b/docker/release-scripts/ps-mhs-e2e/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3' ############ Network ############## diff --git a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingService.java b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingService.java index c7c4fefd7..71489a55f 100644 --- a/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingService.java +++ b/gp2gp-translator/src/main/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingService.java @@ -61,6 +61,11 @@ public boolean canMergeCompleteBundle(String conversationId) throws ValidationEx } var undeletedLogs = getUndeletedLogsForConversation(conversationId); + + if (undeletedLogs.isEmpty()) { + return false; + } + return undeletedLogs.stream().allMatch(log -> log.getUploaded().equals(true)); } diff --git a/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingServiceTests.java b/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingServiceTests.java index 10ed29515..40bcf7b13 100644 --- a/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingServiceTests.java +++ b/gp2gp-translator/src/test/java/uk/nhs/adaptors/pss/translator/service/InboundMessageMergingServiceTests.java @@ -468,6 +468,16 @@ public void When_AttachmentsPresent_Expect_AttachmentReferenceUpdated() verify(nackAckPreparationService, never()).sendNackMessage(any(NACKReason.class), any(RCMRIN030000UKMessage.class), any()); } + @Test + public void When_AllAttachmentLogsDeleted_CanMergeCompleteBundle_Expect_ReturnFalse() throws JAXBException { + var emptyAttachmentLogs = new ArrayList(); + + when(patientAttachmentLogService.findAttachmentLogs(CONVERSATION_ID)).thenReturn(emptyAttachmentLogs); + var result = inboundMessageMergingService.canMergeCompleteBundle(CONVERSATION_ID); + + assertFalse(result); + } + private ArrayList createPatientAttachmentList(Boolean isParentUploaded, Boolean isSkeleton) { var patientAttachmentLogs = new ArrayList();