From c9154244d1004752b3cc88a7e98873ecbc5469cb Mon Sep 17 00:00:00 2001 From: svariant Date: Tue, 17 Dec 2024 16:59:21 +0100 Subject: [PATCH] [PPANTT-183] fix: SessionTag seralization --- .../pagopa/backoffice/client/AwsQuicksightClient.java | 8 ++++---- .../pagopa/backoffice/service/AwsQuicksightService.java | 6 ++---- .../pagopa/backoffice/client/AwsQuicksightClientTest.java | 8 ++++---- .../backoffice/service/AwsQuicksightServiceTest.java | 2 +- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/main/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClient.java b/src/main/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClient.java index 4dfea5c80..4ec9b598a 100644 --- a/src/main/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClient.java +++ b/src/main/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClient.java @@ -9,7 +9,6 @@ import software.amazon.awssdk.services.quicksight.QuickSightClient; import software.amazon.awssdk.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest; import software.amazon.awssdk.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResponse; -import software.amazon.awssdk.services.quicksight.model.SessionTag; import java.util.List; @@ -30,7 +29,7 @@ public AwsQuicksightClient( .build(); } - public AwsQuicksightClient(QuickSightClient quickSightClient){ + public AwsQuicksightClient(QuickSightClient quickSightClient) { this.quickSightClient = quickSightClient; } @@ -40,14 +39,15 @@ public String generateEmbedUrlForAnonymousUser( final String namespace, final List authorizedResourceArns, final List allowedDomains, - final List sessionTags + final String sessionTagKey, + final String sessionTagValue ) { GenerateEmbedUrlForAnonymousUserRequest generateEmbedUrlForAnonymousUserRequest = GenerateEmbedUrlForAnonymousUserRequest.builder() .awsAccountId(accountId) .namespace(namespace) .authorizedResourceArns(authorizedResourceArns) .experienceConfiguration(e -> e.dashboard(d -> d.initialDashboardId(initialDashboardId))) - .sessionTags(sessionTags) + .sessionTags(s -> s.key(sessionTagKey).value(sessionTagValue).build()) // TODO verify key session tag .allowedDomains(allowedDomains) .build(); diff --git a/src/main/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightService.java b/src/main/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightService.java index 53c1e3fce..d514aac97 100644 --- a/src/main/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightService.java +++ b/src/main/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightService.java @@ -6,7 +6,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import software.amazon.awssdk.regions.Region; -import software.amazon.awssdk.services.quicksight.model.SessionTag; import java.util.Collections; import java.util.List; @@ -47,15 +46,14 @@ public AwsQuicksightService( * @return dashboard's embed url */ public QuicksightEmbedUrlResponse generateEmbedUrlForAnonymousUser(String pspTaxCode) { - // TODO verify key session tag - List sessionTags = Collections.singletonList(SessionTag.builder().key(sessionTagKey).value(pspTaxCode).build()); String embedUrl = awsQuicksightClient.generateEmbedUrlForAnonymousUser( this.accountId, this.initialDashboardId, this.namespace, this.authorizedResourceArns, this.allowedDomains, - sessionTags); + sessionTagKey, + pspTaxCode); QuicksightEmbedUrlResponse quicksightEmbedUrlResponse = new QuicksightEmbedUrlResponse(); quicksightEmbedUrlResponse.setEmbedUrl(embedUrl); return quicksightEmbedUrlResponse; diff --git a/src/test/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClientTest.java b/src/test/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClientTest.java index cd69aed63..a6c710f61 100644 --- a/src/test/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClientTest.java +++ b/src/test/java/it/pagopa/selfcare/pagopa/backoffice/client/AwsQuicksightClientTest.java @@ -5,7 +5,6 @@ import software.amazon.awssdk.services.quicksight.QuickSightClient; import software.amazon.awssdk.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest; import software.amazon.awssdk.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResponse; -import software.amazon.awssdk.services.quicksight.model.SessionTag; import java.util.Collections; import java.util.concurrent.atomic.AtomicReference; @@ -28,15 +27,16 @@ class AwsQuicksightClientTest { @Test void generateEmbedUrlForAnonymousUserSuccess() { when(quickSightClient.generateEmbedUrlForAnonymousUser(any(GenerateEmbedUrlForAnonymousUserRequest.class))).thenReturn(GenerateEmbedUrlForAnonymousUserResponse.builder().embedUrl(EMBED_URL).build()); - + AtomicReference response = new AtomicReference<>(); - assertDoesNotThrow(() -> response.set( sut.generateEmbedUrlForAnonymousUser( + assertDoesNotThrow(() -> response.set(sut.generateEmbedUrlForAnonymousUser( "accountId", "dashboardId", "namespace", Collections.singletonList("authorizedResourceArns"), Collections.singletonList("allowed-domain"), - Collections.singletonList(SessionTag.builder().build())))); + "sessionTagKey", + "sessionTagValue"))); assertEquals(EMBED_URL, response.get()); } diff --git a/src/test/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightServiceTest.java b/src/test/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightServiceTest.java index 259cc77e9..5bcbf76a0 100644 --- a/src/test/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightServiceTest.java +++ b/src/test/java/it/pagopa/selfcare/pagopa/backoffice/service/AwsQuicksightServiceTest.java @@ -29,7 +29,7 @@ class AwsQuicksightServiceTest { @Test void generateEmbedUrlForAnonymousUserSuccess() { - when(awsQuicksightClient.generateEmbedUrlForAnonymousUser(anyString(), anyString(), anyString(), any(List.class), any(List.class), any(List.class))).thenReturn(EMBED_URL); + when(awsQuicksightClient.generateEmbedUrlForAnonymousUser(anyString(), anyString(), anyString(), any(List.class), any(List.class), anyString(), anyString())).thenReturn(EMBED_URL); AtomicReference response = new AtomicReference<>(); assertDoesNotThrow(() -> response.set(sut.generateEmbedUrlForAnonymousUser("psp-tax-code")));