From f2ee427c40ac6da9106dbccc850b772bd4e4876a Mon Sep 17 00:00:00 2001 From: Yash Dholakia <ysdholak@amazon.com> Date: Tue, 11 Jul 2023 10:56:41 -0700 Subject: [PATCH] Create a seperate subscription for test partition --- .../TestNotificationsEndpoint.java | 51 ++++++++++++++++--- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java index d3af80e13..377cedff0 100644 --- a/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java +++ b/testing/notification-test-aws/src/test/java/org/opengroup/osdu/notification/subscriptions/TestNotificationsEndpoint.java @@ -23,6 +23,8 @@ import static org.junit.Assert.assertEquals; public class TestNotificationsEndpoint extends TestBase { + private String subscriptionId_TestPartition; + private String subscriptionId; private ISubscriptionService awssubscriptionService; private TestUtils testUtils; @@ -46,7 +48,7 @@ public class TestNotificationsEndpoint extends TestBase { } @Before - public void setup() throws Exception { + public void setup() { this.testUtils = new AwsTestUtils(); } @@ -58,6 +60,43 @@ public class TestNotificationsEndpoint extends TestBase { this.testUtils = null; } + private void createResourceForTestParition() throws Exception { + Map<String, String> headers = new HashMap<>(); + headers.put(DpsHeaders.DATA_PARTITION_ID, TestUtils.getOsduTenant()); + headers.put(DpsHeaders.AUTHORIZATION, testUtils.getOpsToken()); + //hardcoding user here for 200 response tests. This is just initializing the subscription creation + headers.put("x-user-id", AwsConfig.getAWSCognitoUser()); + DpsHeaders dpsHeaders = DpsHeaders.createFromMap(headers); + awssubscriptionService = awsfactory.create(dpsHeaders); + + Map<String,String> h = dpsHeaders.getHeaders(); + System.out.println(h); + + + //Create a new subscription to pub/sub + Subscription subscription = new Subscription(); + subscription.setName("Subscription-test-for-notification"); + subscription.setDescription("Subscription with test Partition for fetching notifications"); + subscription.setTopic(Config.Instance().Topic); + //This seems to be a bug. Don't need to add the string + //subscription.setPushEndpoint(Config.Instance().HMACPushUrl + "hmac-integration-test"); + subscription.setPushEndpoint(Config.Instance().HMACPushUrl); + HmacSecret secret = new HmacSecret(); + secret.setValue(Config.Instance().hmacSecretValue); + + subscription.setSecret(secret); + try { + Subscription subscriptionCreated = awssubscriptionService.create(subscription); + System.out.println("Subscription created successfully"); + String notificationId = subscriptionCreated.getNotificationId(); + subscriptionId_TestPartition = subscriptionCreated.getId(); + Config.Instance().NotificationId = notificationId; + }catch (SubscriptionException e){ + System.out.println("Subscription exception inner response : " + e.getHttpResponse()); + throw e; + } + } + private void createResource() throws Exception { Map<String, String> headers = new HashMap<>(); headers.put(DpsHeaders.DATA_PARTITION_ID, TestUtils.getOsduTenant()); @@ -74,7 +113,7 @@ public class TestNotificationsEndpoint extends TestBase { //Create a new subscription to pub/sub Subscription subscription = new Subscription(); subscription.setName("Subscription-test-for-notification"); - subscription.setDescription("Subscription test for fetching notifications"); + subscription.setDescription("Subscription for fetching notifications"); subscription.setTopic(Config.Instance().Topic); //This seems to be a bug. Don't need to add the string //subscription.setPushEndpoint(Config.Instance().HMACPushUrl + "hmac-integration-test"); @@ -111,7 +150,7 @@ public class TestNotificationsEndpoint extends TestBase { public void testVerifyNotificationReceivedWhenDataPartitionIdIsDifferent() throws Exception { try { LegalTagUtils.create(LEGAL_TAG_TEST, testUtils.getOpsToken(), true); - createResource(); + createResourceForTestParition(); final String correlationId = UUID.randomUUID().toString(); ClientResponse response = createStorageRecordForTestPartition(correlationId); assertEquals(201, response.getStatus()); @@ -125,9 +164,9 @@ public class TestNotificationsEndpoint extends TestBase { int exitValue = process.exitValue(); assertEquals(exitValue, 1); } catch (Exception e) { - System.out.println("Error while verifying notification service" + Arrays.toString(e.getStackTrace())); + System.out.println("Error while verifying notification service. Error = " + e.getMessage() + " Stack Trace = " + Arrays.toString(e.getStackTrace())); } finally { - awssubscriptionService.delete(subscriptionId); + awssubscriptionService.delete(subscriptionId_TestPartition); } } @@ -149,7 +188,7 @@ public class TestNotificationsEndpoint extends TestBase { int exitValue = process.exitValue(); assertEquals(exitValue, 0); } catch (Exception e) { - System.out.println("Error while verifying notification service" + Arrays.toString(e.getStackTrace())); + System.out.println("Error while verifying notification service. Error = " + e.getMessage() + " Stack Trace = " + Arrays.toString(e.getStackTrace())); } finally { awssubscriptionService.delete(subscriptionId); } -- GitLab