From 7827edb5831b3ab4e10c05718af4245c846ddc27 Mon Sep 17 00:00:00 2001 From: Giulia Tremolada <124147597+giulia-tremolada@users.noreply.github.com> Date: Fri, 4 Oct 2024 11:01:44 +0200 Subject: [PATCH] [SELC-5560] feat: call CREATE_AGGREGATES_CSV_ACTIVITY function in WorkflowExecutorContractRegistrationAggregator (#523) --- .../onboarding/service/ContractServiceDefault.java | 2 +- ...flowExecutorContractRegistrationAggregator.java | 11 ++++------- .../functions/OnboardingFunctionsTest.java | 14 +++++++++----- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/ContractServiceDefault.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/ContractServiceDefault.java index c9ecee0c9..e91f54ba8 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/ContractServiceDefault.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/service/ContractServiceDefault.java @@ -300,7 +300,7 @@ private File generateCsv(List institutions, Path filePath) institution.getAddress(), institution.getCity(), institution.getCounty(), - Optional.ofNullable(institution.getSubunitType()).map(ignored -> institution.getOriginId()).orElse(""), + Optional.ofNullable(institution.getSubunitType()).map(originId -> "").orElse(institution.getOriginId()), institution.getSubunitType(), institution.getSubunitCode() ); diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/workflow/WorkflowExecutorContractRegistrationAggregator.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/workflow/WorkflowExecutorContractRegistrationAggregator.java index d37f2d9ea..ce6a53756 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/workflow/WorkflowExecutorContractRegistrationAggregator.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/workflow/WorkflowExecutorContractRegistrationAggregator.java @@ -1,31 +1,28 @@ package it.pagopa.selfcare.onboarding.workflow; import com.fasterxml.jackson.databind.ObjectMapper; -import com.microsoft.durabletask.Task; import com.microsoft.durabletask.TaskOptions; import com.microsoft.durabletask.TaskOrchestrationContext; import it.pagopa.selfcare.onboarding.common.OnboardingStatus; -import it.pagopa.selfcare.onboarding.dto.OnboardingAggregateOrchestratorInput; -import it.pagopa.selfcare.onboarding.entity.AggregateInstitution; import it.pagopa.selfcare.onboarding.entity.Onboarding; import it.pagopa.selfcare.onboarding.entity.OnboardingWorkflow; import it.pagopa.selfcare.onboarding.entity.OnboardingWorkflowAggregator; import it.pagopa.selfcare.onboarding.mapper.OnboardingMapper; -import java.util.ArrayList; -import java.util.List; import java.util.Optional; import static it.pagopa.selfcare.onboarding.entity.OnboardingWorkflowType.AGGREGATOR; import static it.pagopa.selfcare.onboarding.functions.utils.ActivityName.*; -import static it.pagopa.selfcare.onboarding.utils.Utils.*; +import static it.pagopa.selfcare.onboarding.utils.Utils.getOnboardingWorkflowString; +import static it.pagopa.selfcare.onboarding.utils.Utils.readOnboardingValue; public record WorkflowExecutorContractRegistrationAggregator(ObjectMapper objectMapper, TaskOptions optionsRetry, OnboardingMapper onboardingMapper) implements WorkflowExecutor { @Override public Optional executeRequestState(TaskOrchestrationContext ctx, OnboardingWorkflow onboardingWorkflow) { String onboardingWorkflowString = getOnboardingWorkflowString(objectMapper, onboardingWorkflow); - ctx.callActivity(BUILD_CONTRACT_ACTIVITY_NAME, getOnboardingWorkflowString(objectMapper, onboardingWorkflow), optionsRetry, String.class).await(); + ctx.callActivity(CREATE_AGGREGATES_CSV_ACTIVITY, onboardingWorkflowString, optionsRetry, String.class).await(); + ctx.callActivity(BUILD_CONTRACT_ACTIVITY_NAME, onboardingWorkflowString, optionsRetry, String.class).await(); ctx.callActivity(SAVE_TOKEN_WITH_CONTRACT_ACTIVITY_NAME, onboardingWorkflowString, optionsRetry, String.class).await(); ctx.callActivity(SEND_MAIL_REGISTRATION_FOR_CONTRACT, onboardingWorkflowString, optionsRetry, String.class).await(); return Optional.of(OnboardingStatus.PENDING); diff --git a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctionsTest.java b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctionsTest.java index e03d7e62a..8fe643cf6 100644 --- a/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctionsTest.java +++ b/apps/onboarding-functions/src/test/java/it/pagopa/selfcare/onboarding/functions/OnboardingFunctionsTest.java @@ -27,7 +27,10 @@ import org.mockito.Mockito; import org.mockito.stubbing.Answer; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.logging.Logger; import static it.pagopa.selfcare.onboarding.functions.utils.ActivityName.*; @@ -148,11 +151,12 @@ void onboardingOrchestratorContractRegistrationAggregator(){ function.onboardingsOrchestrator(orchestrationContext, executionContext); ArgumentCaptor captorActivity = ArgumentCaptor.forClass(String.class); - verify(orchestrationContext, times(3)) + verify(orchestrationContext, times(4)) .callActivity(captorActivity.capture(), any(), any(),any()); - assertEquals(BUILD_CONTRACT_ACTIVITY_NAME, captorActivity.getAllValues().get(0)); - assertEquals(SAVE_TOKEN_WITH_CONTRACT_ACTIVITY_NAME, captorActivity.getAllValues().get(1)); - assertEquals(SEND_MAIL_REGISTRATION_FOR_CONTRACT, captorActivity.getAllValues().get(2)); + assertEquals(CREATE_AGGREGATES_CSV_ACTIVITY, captorActivity.getAllValues().get(0)); + assertEquals(BUILD_CONTRACT_ACTIVITY_NAME, captorActivity.getAllValues().get(1)); + assertEquals(SAVE_TOKEN_WITH_CONTRACT_ACTIVITY_NAME, captorActivity.getAllValues().get(2)); + assertEquals(SEND_MAIL_REGISTRATION_FOR_CONTRACT, captorActivity.getAllValues().get(3)); verify(service, times(1)) .updateOnboardingStatus(onboarding.getId(), OnboardingStatus.PENDING);