From 33fa72fe99f44638f58a56bcdf37a1ff4f9bfad6 Mon Sep 17 00:00:00 2001 From: pierpaolodidato89 <137791912+pierpaolodidato89@users.noreply.github.com> Date: Thu, 29 Aug 2024 11:45:48 +0200 Subject: [PATCH 1/3] [SELC-5407] feat: increased version of sdk into onboarding-ms --- apps/onboarding-cdc/pom.xml | 2 +- .../src/main/openapi/onboarding_functions.json | 3 ++- apps/onboarding-functions/pom.xml | 2 +- .../src/main/openapi/core.json | 18 +++++++++--------- apps/onboarding-ms/pom.xml | 2 +- apps/onboarding-ms/src/main/docs/openapi.json | 2 +- apps/onboarding-ms/src/main/docs/openapi.yaml | 1 + apps/onboarding-ms/src/main/openapi/core.json | 2 +- .../src/main/openapi/onboarding_functions.json | 3 ++- test-coverage/pom.xml | 8 ++++---- 10 files changed, 23 insertions(+), 20 deletions(-) diff --git a/apps/onboarding-cdc/pom.xml b/apps/onboarding-cdc/pom.xml index 3eda2fce2..c4a8cb8d1 100644 --- a/apps/onboarding-cdc/pom.xml +++ b/apps/onboarding-cdc/pom.xml @@ -24,7 +24,7 @@ 3.5.2 true 3.1.2 - 0.1.18 + 0.1.19 2.4.1 diff --git a/apps/onboarding-cdc/src/main/openapi/onboarding_functions.json b/apps/onboarding-cdc/src/main/openapi/onboarding_functions.json index fbca43c35..d3c6c78ad 100644 --- a/apps/onboarding-cdc/src/main/openapi/onboarding_functions.json +++ b/apps/onboarding-cdc/src/main/openapi/onboarding_functions.json @@ -502,7 +502,8 @@ "PSP", "AS", "REC", - "CON" + "CON", + "PRV" ], "type": "string" }, diff --git a/apps/onboarding-functions/pom.xml b/apps/onboarding-functions/pom.xml index 8ada4bf6e..54972978a 100644 --- a/apps/onboarding-functions/pom.xml +++ b/apps/onboarding-functions/pom.xml @@ -21,7 +21,7 @@ 3.5.1 true 3.1.2 - 0.1.18 + 0.1.19 1.5.5.Final diff --git a/apps/onboarding-functions/src/main/openapi/core.json b/apps/onboarding-functions/src/main/openapi/core.json index 0879ebed6..42529a0ec 100644 --- a/apps/onboarding-functions/src/main/openapi/core.json +++ b/apps/onboarding-functions/src/main/openapi/core.json @@ -2011,7 +2011,7 @@ "style" : "simple", "schema" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV"] } } ], "responses" : { @@ -2492,7 +2492,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP","PRV" ] }, "origin" : { "type" : "string" @@ -2742,7 +2742,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "productId" : { "type" : "string" @@ -2851,7 +2851,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "origin" : { "type" : "string", @@ -2889,7 +2889,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "subunitCode" : { "type" : "string" @@ -3004,7 +3004,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "onboardings" : { "type" : "object", @@ -3146,7 +3146,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "onboarding" : { "type" : "array", @@ -3248,7 +3248,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "istatCode" : { "type" : "string" @@ -3358,7 +3358,7 @@ }, "institutionType" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] }, "ivassCode" : { "type" : "string" diff --git a/apps/onboarding-ms/pom.xml b/apps/onboarding-ms/pom.xml index 51446f7f1..fb791956c 100644 --- a/apps/onboarding-ms/pom.xml +++ b/apps/onboarding-ms/pom.xml @@ -23,7 +23,7 @@ 3.11.2 true 3.1.2 - 0.1.18 + 0.1.19 2.4.1 diff --git a/apps/onboarding-ms/src/main/docs/openapi.json b/apps/onboarding-ms/src/main/docs/openapi.json index 22ba8a145..7047f045f 100644 --- a/apps/onboarding-ms/src/main/docs/openapi.json +++ b/apps/onboarding-ms/src/main/docs/openapi.json @@ -1764,7 +1764,7 @@ } }, "InstitutionType" : { - "enum" : [ "PA", "PG", "GSP", "SA", "PT", "SCP", "PSP", "AS", "REC", "CON" ], + "enum" : [ "PA", "PG", "GSP", "SA", "PT", "SCP", "PSP", "AS", "REC", "CON", "PRV" ], "type" : "string" }, "LocalDateTime" : { diff --git a/apps/onboarding-ms/src/main/docs/openapi.yaml b/apps/onboarding-ms/src/main/docs/openapi.yaml index ff061929d..be41357e2 100644 --- a/apps/onboarding-ms/src/main/docs/openapi.yaml +++ b/apps/onboarding-ms/src/main/docs/openapi.yaml @@ -1248,6 +1248,7 @@ components: - AS - REC - CON + - PRV type: string LocalDateTime: format: date-time diff --git a/apps/onboarding-ms/src/main/openapi/core.json b/apps/onboarding-ms/src/main/openapi/core.json index 1970d9de3..b886d52c6 100644 --- a/apps/onboarding-ms/src/main/openapi/core.json +++ b/apps/onboarding-ms/src/main/openapi/core.json @@ -1967,7 +1967,7 @@ "style" : "simple", "schema" : { "type" : "string", - "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP" ] + "enum" : [ "AS", "CON", "GSP", "PA", "PG", "PSP", "PT", "REC", "SA", "SCP", "PRV" ] } } ], "responses" : { diff --git a/apps/onboarding-ms/src/main/openapi/onboarding_functions.json b/apps/onboarding-ms/src/main/openapi/onboarding_functions.json index 56b4a48bc..7710246f2 100644 --- a/apps/onboarding-ms/src/main/openapi/onboarding_functions.json +++ b/apps/onboarding-ms/src/main/openapi/onboarding_functions.json @@ -509,7 +509,8 @@ "PSP", "AS", "REC", - "CON" + "CON", + "PRV" ], "type": "string" }, diff --git a/test-coverage/pom.xml b/test-coverage/pom.xml index 5d087626d..adba810ad 100644 --- a/test-coverage/pom.xml +++ b/test-coverage/pom.xml @@ -77,22 +77,22 @@ it.pagopa.selfcare onboarding-sdk-product - 0.1.15 + 0.1.19 it.pagopa.selfcare onboarding-sdk-common - 0.1.14 + 0.1.19 it.pagopa.selfcare onboarding-sdk-azure-storage - 0.1.14 + 0.1.19 it.pagopa.selfcare onboarding-sdk-crypto - 0.1.14 + 0.1.19 From 50d85c612bda5cd722aa9a47f7fcd427cdf25e62 Mon Sep 17 00:00:00 2001 From: Manuel Rafeli Date: Thu, 29 Aug 2024 14:36:18 +0200 Subject: [PATCH 2/3] chore: Disable Health Check for Onboarding Functions (#459) --- infra/functions/onboarding-functions/functions.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infra/functions/onboarding-functions/functions.tf b/infra/functions/onboarding-functions/functions.tf index 3036af8b0..2c7c26f26 100644 --- a/infra/functions/onboarding-functions/functions.tf +++ b/infra/functions/onboarding-functions/functions.tf @@ -29,7 +29,7 @@ module "selc_onboarding_fn" { location = azurerm_resource_group.onboarding_fn_rg.location resource_group_name = azurerm_resource_group.onboarding_fn_rg.name - health_check_path = "/api/v1/info" + enable_healthcheck = false always_on = var.function_always_on subnet_id = module.onboarding_fn_snet[0].id application_insights_instrumentation_key = data.azurerm_application_insights.application_insights.instrumentation_key From bfae9ca1dd1f9bc5529910bc5b0ee95f8978faa2 Mon Sep 17 00:00:00 2001 From: pierpaolodidato89 <137791912+pierpaolodidato89@users.noreply.github.com> Date: Fri, 30 Aug 2024 09:37:23 +0200 Subject: [PATCH 3/3] Merge back into main --- .../service/OnboardingServiceDefault.java | 2 +- .../service/util/OnboardingUtils.java | 43 ++++++++-- .../service/OnboardingServiceDefaultTest.java | 2 +- .../service/util/OnboardingUtilsTest.java | 79 ++++++++++++++++--- 4 files changed, 104 insertions(+), 22 deletions(-) diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java index d255de464..2f1988c21 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefault.java @@ -1082,7 +1082,7 @@ public Uni checkManager(OnboardingUserRequest onboardingUserRequest) { public Uni checkRecipientCode(String recipientCode, String originId) { return onboardingUtils.getUoFromRecipientCode(recipientCode).onItem() .transformToUni(uoResource -> - onboardingUtils.validationRecipientCode(originId, uoResource)); + onboardingUtils.getValidationRecipientCodeError(originId, uoResource)); } private static Uni updateOnboardingValues(String onboardingId, Onboarding onboarding) { diff --git a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java index 68efb42e6..675bc7ffb 100644 --- a/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java +++ b/apps/onboarding-ms/src/main/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtils.java @@ -14,11 +14,14 @@ import jakarta.inject.Inject; import jakarta.ws.rs.WebApplicationException; import org.eclipse.microprofile.rest.client.inject.RestClient; +import org.openapi.quarkus.party_registry_proxy_json.api.AooApi; import org.openapi.quarkus.party_registry_proxy_json.api.UoApi; import org.openapi.quarkus.party_registry_proxy_json.model.UOResource; import java.util.Objects; +import static it.pagopa.selfcare.onboarding.common.InstitutionPaSubunitType.EC; +import static it.pagopa.selfcare.onboarding.common.InstitutionPaSubunitType.UO; import static it.pagopa.selfcare.onboarding.constants.CustomError.*; @ApplicationScoped @@ -28,6 +31,9 @@ public class OnboardingUtils { @Inject UoApi uoApi; + @RestClient + @Inject + AooApi aooApi; private static final String ADDITIONAL_INFORMATION_REQUIRED = "Additional Information is required when institutionType is GSP and productId is pagopa"; private static final String OTHER_NOTE_REQUIRED = "Other Note is required when other boolean are false"; private static final String BILLING_OR_RECIPIENT_CODE_REQUIRED = "Billing and/or recipient code are required"; @@ -46,13 +52,10 @@ public Uni customValidationOnboardingData(Onboarding onboarding, Pro } private Uni checkRecipientCode(Onboarding onboarding) { - if (Objects.nonNull(onboarding.getInstitution()) - && InstitutionType.PA.equals(onboarding.getInstitution().getInstitutionType()) - && Objects.nonNull(onboarding.getBilling()) - && Objects.nonNull(onboarding.getBilling().getRecipientCode())) { + if (isInvoiceablePA(onboarding)) { final String recipientCode = onboarding.getBilling().getRecipientCode(); return getUoFromRecipientCode(recipientCode) - .flatMap(uoResource -> validationRecipientCode(onboarding.getInstitution().getOriginId(), uoResource)) + .onItem().transformToUni(uoResource -> validationRecipientCode(onboarding, uoResource)) .onItem().transformToUni(customError -> { if (Objects.nonNull(customError)) { return Uni.createFrom().failure(new InvalidRequestException(customError.getMessage())); @@ -63,6 +66,23 @@ private Uni checkRecipientCode(Onboarding onboarding) { return Uni.createFrom().nullItem(); } + private Uni validationRecipientCode(Onboarding onboarding, UOResource uoResource) { + + switch ((onboarding.getInstitution().getSubunitType() != null) ? onboarding.getInstitution().getSubunitType() : EC ) { + case AOO -> { + return aooApi.findByUnicodeUsingGET(onboarding.getInstitution().getSubunitCode(), null) + .onItem().transformToUni(aooResource -> getValidationRecipientCodeError(aooResource.getCodiceIpa(), uoResource)); + } + case UO -> { + return uoApi.findByUnicodeUsingGET1(onboarding.getInstitution().getSubunitCode(), null) + .onItem().transformToUni(innerUoResource -> getValidationRecipientCodeError(innerUoResource.getCodiceIpa(), uoResource)); + } + default -> { + return getValidationRecipientCodeError(onboarding.getInstitution().getOriginId(), uoResource); + } + } + } + public Uni getUoFromRecipientCode(String recipientCode) { return uoApi.findByUnicodeUsingGET1(recipientCode, null) .onFailure(WebApplicationException.class) @@ -74,8 +94,8 @@ public Uni getUoFromRecipientCode(String recipientCode) { : Uni.createFrom().failure(ex)); } - public Uni validationRecipientCode(String originId, UOResource uoResource) { - if (!originId.equals(uoResource.getCodiceIpa())) { + public Uni getValidationRecipientCodeError(String originIdEC, UOResource uoResource) { + if (!originIdEC.equals(uoResource.getCodiceIpa())) { return Uni.createFrom().item(DENIED_NO_ASSOCIATION); } if (Objects.isNull(uoResource.getCodiceFiscaleSfe())) { @@ -136,9 +156,16 @@ private Uni additionalChecksForProduct(Onboarding onboarding, Produc private boolean isUO(Onboarding onboarding) { return Objects.nonNull(onboarding.getInstitution().getSubunitCode()) - && onboarding.getInstitution().getSubunitType().equals(InstitutionPaSubunitType.UO) + && UO.equals(onboarding.getInstitution().getSubunitType()) && Objects.nonNull(onboarding.getBilling()) && Objects.nonNull(onboarding.getBilling().getTaxCodeInvoicing()) && Objects.nonNull(onboarding.getInstitution().getTaxCode()); } + + private boolean isInvoiceablePA(Onboarding onboarding) { + return Objects.nonNull(onboarding.getInstitution()) + && InstitutionType.PA.equals(onboarding.getInstitution().getInstitutionType()) + && Objects.nonNull(onboarding.getBilling()) + && Objects.nonNull(onboarding.getBilling().getRecipientCode()); + } } diff --git a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java index 8fd3983ab..3c829709c 100644 --- a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java +++ b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/OnboardingServiceDefaultTest.java @@ -1633,7 +1633,7 @@ void checkRecipientCodeWithValidResponse() { .thenReturn(Uni.createFrom().item(uoResource)); // Mock the response from onboardingUtils.validationRecipientCode - when(onboardingUtils.validationRecipientCode(eq(originId), eq(uoResource))) + when(onboardingUtils.getValidationRecipientCodeError(eq(originId), eq(uoResource))) .thenReturn(Uni.createFrom().item(customError)); // Call the method under test diff --git a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtilsTest.java b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtilsTest.java index 94570720b..9f578b527 100644 --- a/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtilsTest.java +++ b/apps/onboarding-ms/src/test/java/it/pagopa/selfcare/onboarding/service/util/OnboardingUtilsTest.java @@ -18,7 +18,10 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; +import org.openapi.quarkus.party_registry_proxy_json.api.AooApi; import org.openapi.quarkus.party_registry_proxy_json.api.UoApi; +import org.openapi.quarkus.party_registry_proxy_json.model.AOOResource; +import org.openapi.quarkus.party_registry_proxy_json.model.AOOsResource; import org.openapi.quarkus.party_registry_proxy_json.model.UOResource; import org.openapi.quarkus.party_registry_proxy_json.model.UOsResource; import org.wildfly.common.Assert; @@ -34,6 +37,11 @@ public class OnboardingUtilsTest { @InjectMock @RestClient UoApi uoApi; + + @InjectMock + @RestClient + AooApi aooApi; + @Inject OnboardingUtils onboardingUtils; @@ -219,9 +227,9 @@ void checkRecipientCodeNoBilling() { institution.setSubunitType(InstitutionPaSubunitType.AOO); institution.setInstitutionType(InstitutionType.PA); institution.setTaxCode("taxCode"); - UOResource uoResource = new UOResource(); - uoResource.setCodiceFiscaleEnte("taxCode"); - uoResource.setCodiceIpa("ipaCode"); + AOOResource resource = new AOOResource(); + resource.setCodiceFiscaleEnte("taxCode"); + resource.setCodiceIpa("ipaCode"); onboarding.setInstitution(institution); onboarding.setProductId(ProductId.PROD_IO_SIGN.getValue()); Billing billing = new Billing(); @@ -229,11 +237,52 @@ void checkRecipientCodeNoBilling() { billing.setRecipientCode("recipientCode"); onboarding.setBilling(billing); + UOResource uoResource = new UOResource(); + uoResource.setCodiceIpa("ipaCode"); + uoResource.setCodiceFiscaleEnte("taxCode1"); + when(uoApi.findByUnicodeUsingGET1(any(), any())) .thenReturn(Uni.createFrom().item(uoResource)); - UOsResource uOsResource = new UOsResource(); - uOsResource.setItems(List.of(uoResource)); + when(aooApi.findByUnicodeUsingGET(any(), any())) + .thenReturn(Uni.createFrom().item(resource)); + + AOOsResource uOsResource = new AOOsResource(); + uOsResource.setItems(List.of(resource)); + + UniAssertSubscriber subscriber = onboardingUtils + .customValidationOnboardingData(onboarding, dummyProduct()) + .subscribe() + .withSubscriber(UniAssertSubscriber.create()); + + subscriber.assertFailedWith(InvalidRequestException.class); + } + + @Test + void checkRecipientCodeUONoBilling() { + + Onboarding onboarding = new Onboarding(); + Institution institution = new Institution(); + institution.setOriginId("ipaCode"); + institution.setSubunitCode("subunitCode"); + institution.setSubunitType(InstitutionPaSubunitType.UO); + institution.setInstitutionType(InstitutionType.PA); + institution.setTaxCode("taxCode"); + AOOResource resource = new AOOResource(); + resource.setCodiceFiscaleEnte("taxCode"); + resource.setCodiceIpa("ipaCode"); + onboarding.setInstitution(institution); + onboarding.setProductId(ProductId.PROD_IO_SIGN.getValue()); + Billing billing = new Billing(); + billing.setRecipientCode("recipientCode"); + onboarding.setBilling(billing); + + UOResource uoResource = new UOResource(); + uoResource.setCodiceIpa("ipaCode"); + uoResource.setCodiceFiscaleEnte("taxCode1"); + + when(uoApi.findByUnicodeUsingGET1(any(), any())) + .thenReturn(Uni.createFrom().item(uoResource)); UniAssertSubscriber subscriber = onboardingUtils .customValidationOnboardingData(onboarding, dummyProduct()) @@ -253,10 +302,9 @@ void checkRecipientCodeNoAssociation() { institution.setSubunitType(InstitutionPaSubunitType.AOO); institution.setInstitutionType(InstitutionType.PA); institution.setTaxCode("taxCode"); - UOResource uoResource = new UOResource(); - uoResource.setCodiceFiscaleEnte("taxCode"); - uoResource.setCodiceIpa("ipaCode"); - uoResource.setCodiceFiscaleSfe("taxCodeInvoicing"); + AOOResource aooResource = new AOOResource(); + aooResource.setCodiceFiscaleEnte("taxCode"); + aooResource.setCodiceIpa("ipaCode"); onboarding.setInstitution(institution); onboarding.setProductId(ProductId.PROD_IO_SIGN.getValue()); Billing billing = new Billing(); @@ -264,11 +312,19 @@ void checkRecipientCodeNoAssociation() { billing.setRecipientCode("recipientCode"); onboarding.setBilling(billing); + UOResource uoResource = new UOResource(); + uoResource.setCodiceIpa("customIpaCode"); + uoResource.setCodiceFiscaleEnte("taxCode1"); + uoResource.setCodiceFiscaleSfe("taxCodeInvoicing1"); + when(uoApi.findByUnicodeUsingGET1(any(), any())) .thenReturn(Uni.createFrom().item(uoResource)); - UOsResource uOsResource = new UOsResource(); - uOsResource.setItems(List.of(uoResource)); + when(aooApi.findByUnicodeUsingGET(any(), any())) + .thenReturn(Uni.createFrom().item(aooResource)); + + AOOsResource uOsResource = new AOOsResource(); + uOsResource.setItems(List.of(aooResource)); UniAssertSubscriber subscriber = onboardingUtils .customValidationOnboardingData(onboarding, dummyProduct()) @@ -285,7 +341,6 @@ void checkRecipientCodeSuccess() { Institution institution = new Institution(); institution.setOriginId("ipaCode"); institution.setSubunitCode("subunitCode"); - institution.setSubunitType(InstitutionPaSubunitType.AOO); institution.setInstitutionType(InstitutionType.PA); institution.setTaxCode("taxCode"); UOResource uoResource = new UOResource();