From 6086c28e7d781492e9d5e9f7d2b4f6502530eb71 Mon Sep 17 00:00:00 2001 From: Lorenzo Catalano Date: Tue, 16 Apr 2024 18:45:46 +0200 Subject: [PATCH] fix base64 encoder --- .../apiconfig/cache/service/ConfigService.java | 8 ++++---- .../pagopa/apiconfig/cache/util/Constants.java | 4 ++++ .../pagopa/apiconfig/cache/VerifierTest.java | 17 +++++++++++++---- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/java/it/gov/pagopa/apiconfig/cache/service/ConfigService.java b/src/main/java/it/gov/pagopa/apiconfig/cache/service/ConfigService.java index 2aef2e31..77e670e0 100644 --- a/src/main/java/it/gov/pagopa/apiconfig/cache/service/ConfigService.java +++ b/src/main/java/it/gov/pagopa/apiconfig/cache/service/ConfigService.java @@ -651,7 +651,7 @@ public List getEncodings() { .map(codificheRepository.findAll(), new TypeToken>() {}.getType()); } - private Base64.Encoder encoder = Base64.getEncoder().withoutPadding(); + private String toXml(TplInformativaPSP element) { try { @@ -663,7 +663,7 @@ private String toXml(TplInformativaPSP element) { marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, schemaInstance); ByteArrayOutputStream baos = new ByteArrayOutputStream(); marshaller.marshal(informativaPSP, baos); - return encoder.encodeToString(baos.toByteArray()); + return Constants.ENCODER.encodeToString(baos.toByteArray()); } catch (Exception e) { log.error("error creating TplInformativaPSP", e); return e.toString(); @@ -680,7 +680,7 @@ private String toXml(CtListaInformativePSP element) { marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, schemaInstance); ByteArrayOutputStream baos = new ByteArrayOutputStream(); marshaller.marshal(informativaPSP, baos); - return encoder.encodeToString(baos.toByteArray()); + return Constants.ENCODER.encodeToString(baos.toByteArray()); } catch (Exception e) { log.error("error creating CtListaInformativePSP", e); return e.toString(); @@ -697,7 +697,7 @@ private String toXml(CtListaInformativeControparte element) { marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, schemaInstance); ByteArrayOutputStream baos = new ByteArrayOutputStream(); marshaller.marshal(informativaPA, baos); - return encoder.encodeToString(baos.toByteArray()); + return Constants.ENCODER.encodeToString(baos.toByteArray()); } catch (Exception e) { log.error("error creating CtListaInformativeControparte", e); return e.toString(); diff --git a/src/main/java/it/gov/pagopa/apiconfig/cache/util/Constants.java b/src/main/java/it/gov/pagopa/apiconfig/cache/util/Constants.java index 751435be..a057b361 100644 --- a/src/main/java/it/gov/pagopa/apiconfig/cache/util/Constants.java +++ b/src/main/java/it/gov/pagopa/apiconfig/cache/util/Constants.java @@ -2,9 +2,13 @@ import lombok.experimental.UtilityClass; +import java.util.Base64; + @UtilityClass public class Constants { + public static final Base64.Encoder ENCODER = Base64.getEncoder(); + public static final String HEADER_REQUEST_ID = "X-Request-Id"; public static final String GZIP_JSON_V1 = "GZIP_JSON-v1"; public static final String FULL = "full"; diff --git a/src/test/java/it/gov/pagopa/apiconfig/cache/VerifierTest.java b/src/test/java/it/gov/pagopa/apiconfig/cache/VerifierTest.java index cb2e7684..eab52a96 100644 --- a/src/test/java/it/gov/pagopa/apiconfig/cache/VerifierTest.java +++ b/src/test/java/it/gov/pagopa/apiconfig/cache/VerifierTest.java @@ -1,12 +1,9 @@ package it.gov.pagopa.apiconfig.cache; -import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; -import static org.mockito.Mockito.when; - import it.gov.pagopa.apiconfig.cache.redis.RedisRepository; import it.gov.pagopa.apiconfig.cache.repository.VerifierRepository; import it.gov.pagopa.apiconfig.cache.service.VerifierService; -import java.util.List; +import it.gov.pagopa.apiconfig.cache.util.Constants; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -14,6 +11,12 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; +import java.nio.charset.StandardCharsets; +import java.util.List; + +import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat; +import static org.mockito.Mockito.when; + // @SpringBootTest(classes = Application.class) @ExtendWith(MockitoExtension.class) class VerifierTest { @@ -33,4 +36,10 @@ void getCacheV1() throws Exception { List allData = verifierService.getPaV2(); assertThat(allData.containsAll(TestUtils.pastazioniV2)); } + + @Test + void encoding() throws Exception { + String s = Constants.ENCODER.encodeToString("listacontroparti>".getBytes(StandardCharsets.UTF_8)); + assertThat(s).isEqualTo("bGlzdGFjb250cm9wYXJ0aT4="); + } }