From 9762e0b4c4593d8611c66ff694b446414103a661 Mon Sep 17 00:00:00 2001 From: "Krzysztof Massalski (Extern)" Date: Wed, 15 May 2024 15:18:34 +0200 Subject: [PATCH 1/2] feat(impl):[#579] adjust aspect types ess request body --- .../eclipse/tractusx/irs/ess/service/EssService.java | 9 ++++----- .../tractusx/irs/ess/service/EssServiceTest.java | 12 ++---------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java index 94ce5aba89..c6fb30d669 100644 --- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java +++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EssService.java @@ -30,14 +30,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.eclipse.tractusx.irs.common.auth.SecurityHelperService; import org.eclipse.tractusx.irs.component.JobHandle; import org.eclipse.tractusx.irs.component.Jobs; import org.eclipse.tractusx.irs.component.Notification; import org.eclipse.tractusx.irs.component.PartChainIdentificationKey; import org.eclipse.tractusx.irs.component.RegisterBpnInvestigationJob; import org.eclipse.tractusx.irs.component.RegisterJob; -import org.eclipse.tractusx.irs.component.enums.AspectType; import org.eclipse.tractusx.irs.component.enums.BomLifecycle; import org.eclipse.tractusx.irs.component.enums.JobState; import org.eclipse.tractusx.irs.connector.job.JobStore; @@ -57,8 +55,10 @@ @Slf4j public class EssService { + private static final String PART_AS_PLANNED = "urn:samm:io.catenax.part_as_planned:2.0.0#PartAsPlanned"; + private static final String PART_SITE_INFORMATION_AS_PLANNED = "urn:bamm:io.catenax.part_site_information_as_planned:1.0.0#PartSiteInformationAsPlanned"; + private final IrsItemGraphQueryService irsItemGraphQueryService; - private final SecurityHelperService securityHelperService; private final BpnInvestigationJobCache bpnInvestigationJobCache; private final JobStore jobStore; private final EssRecursiveNotificationHandler recursiveNotificationHandler; @@ -167,8 +167,7 @@ private RegisterJob bpnInvestigations(final PartChainIdentificationKey key, fina .key(key) .bomLifecycle(bomLifecycle != null ? bomLifecycle : BomLifecycle.AS_PLANNED) .depth(1) - .aspects(List.of(AspectType.PART_SITE_INFORMATION_AS_PLANNED.toString(), - AspectType.PART_AS_PLANNED.toString())) + .aspects(List.of(PART_SITE_INFORMATION_AS_PLANNED, PART_AS_PLANNED)) .collectAspects(true) .build(); } diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java index b36c8d03db..22923b5c3e 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java @@ -38,7 +38,6 @@ import java.util.Optional; import java.util.UUID; -import org.eclipse.tractusx.irs.common.auth.SecurityHelperService; import org.eclipse.tractusx.irs.component.GlobalAssetIdentification; import org.eclipse.tractusx.irs.component.Job; import org.eclipse.tractusx.irs.component.JobHandle; @@ -63,13 +62,11 @@ class EssServiceTest { private final IrsItemGraphQueryService irsItemGraphQueryService = mock(IrsItemGraphQueryService.class); - private final SecurityHelperService securityHelperService = mock(SecurityHelperService.class); - private final BpnInvestigationJobCache bpnInvestigationJobCache = new InMemoryBpnInvestigationJobCache(); private final JobStore jobStore = mock(JobStore.class); private final EssRecursiveNotificationHandler recursiveNotificationHandler = Mockito.mock( EssRecursiveNotificationHandler.class); - private final EssService essService = new EssService(irsItemGraphQueryService, securityHelperService, bpnInvestigationJobCache, + private final EssService essService = new EssService(irsItemGraphQueryService, bpnInvestigationJobCache, jobStore, recursiveNotificationHandler); @Test @@ -98,7 +95,6 @@ void shouldSuccessfullyStartJobAndReturnWithExtendedSubmodelList() { when(irsItemGraphQueryService.registerItemJob(any(RegisterJob.class), any())).thenReturn(JobHandle.builder().id(createdJobId).build()); when(jobStore.find(createdJobId.toString())).thenReturn(Optional.of(MultiTransferJob.builder().job(expectedResponse.getJob()).build())); when(irsItemGraphQueryService.getJobForJobId(any(MultiTransferJob.class), eq(true))).thenReturn(expectedResponse); - when(securityHelperService.isAdmin()).thenReturn(true); final JobHandle jobHandle = essService.startIrsJob(request); final Jobs jobs = essService.getIrsJob(jobHandle.getId().toString()); @@ -235,7 +231,6 @@ void shouldReturnCorrectFirstLevelImpactedSupplierBpnAndHopsNumberWhenImpactedSu void shouldKeepJobInRunningIfNotificationIsOpen() { final String notificationId = UUID.randomUUID().toString(); final UUID jobId = UUID.randomUUID(); - when(securityHelperService.isAdmin()).thenReturn(true); final BpnInvestigationJob bpnInvestigationJob = new BpnInvestigationJob( Jobs.builder().job(Job.builder().id(jobId).build()).build(), @@ -258,7 +253,6 @@ void shouldThrowResponseStatusExceptionWhenIdDoesntExists() { void shouldCompleteJobIfAllNotificationsSentWereAnswered() { // Arrange final String notificationId = UUID.randomUUID().toString(); - when(securityHelperService.isAdmin()).thenReturn(true); final UUID jobId = UUID.randomUUID(); final Jobs jobSnapshot = job(jobId); @@ -288,9 +282,7 @@ void shouldCompleteJobIfAllNotificationsSentWereAnswered() { @Test void shouldCompleteJobIfFinalNotificationWasReceived() { // Arrange - when(securityHelperService.isAdmin()).thenReturn(true); - - final UUID jobId = UUID.randomUUID(); +git final UUID jobId = UUID.randomUUID(); final Jobs jobSnapshot = job(jobId); final String notificationId = UUID.randomUUID().toString(); final BpnInvestigationJob bpnInvestigationJob = new BpnInvestigationJob(jobSnapshot, null).update(jobSnapshot, From 790729becf444d06cc48121feef0700bd7f0c868 Mon Sep 17 00:00:00 2001 From: "Krzysztof Massalski (Extern)" Date: Wed, 15 May 2024 15:21:37 +0200 Subject: [PATCH 2/2] feat(impl):[#579] adjust aspect types ess request body --- CHANGELOG.md | 7 +++++-- .../eclipse/tractusx/irs/ess/service/EssServiceTest.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37ac5ee8f7..ae53873df7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 _**For better traceability add the corresponding GitHub issue number in each changelog entry, please.**_ ## [Unreleased] - + +### Fixed + +- Fixed ESS Investigation job processing not starting #579 + ### Changed - Improved policy store API input validation. #528 - Extended datamodel of EdcPolicyPermissionConstraint to include andConstraints - Marked createAccessPolicy requests with deprecation mark. - ## Added - Added endpoint for dedicated removal of policy from BPNL. #559 diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java index 22923b5c3e..9b2e781bc8 100644 --- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java +++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EssServiceTest.java @@ -282,7 +282,7 @@ void shouldCompleteJobIfAllNotificationsSentWereAnswered() { @Test void shouldCompleteJobIfFinalNotificationWasReceived() { // Arrange -git final UUID jobId = UUID.randomUUID(); + final UUID jobId = UUID.randomUUID(); final Jobs jobSnapshot = job(jobId); final String notificationId = UUID.randomUUID().toString(); final BpnInvestigationJob bpnInvestigationJob = new BpnInvestigationJob(jobSnapshot, null).update(jobSnapshot,