aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java477
1 files changed, 354 insertions, 123 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java
index 290a5f4d1d..a80999a25b 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/distribution/DistributionBusinessLogicTest.java
@@ -20,18 +20,13 @@
package org.openecomp.sdc.be.distribution;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import javax.ws.rs.core.Response;
-
import org.apache.http.HttpStatus;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.be.components.BaseConfDependentTest;
+import org.openecomp.sdc.be.components.BeConfDependentTest;
import org.openecomp.sdc.be.components.distribution.engine.CambriaErrorResponse;
import org.openecomp.sdc.be.components.distribution.engine.CambriaHandler;
import org.openecomp.sdc.be.components.distribution.engine.DistributionEngineInitTask;
@@ -43,148 +38,384 @@ import org.openecomp.sdc.be.distribution.api.client.TopicRegistrationResponse;
import org.openecomp.sdc.be.distribution.api.client.TopicUnregistrationResponse;
import org.openecomp.sdc.common.datastructure.Wrapper;
-public class DistributionBusinessLogicTest extends BaseConfDependentTest {
-
- @InjectMocks
- DistributionBusinessLogic distributionBusinessLogic = Mockito.spy(DistributionBusinessLogic.class);
-
- CambriaHandler cambriaHandler = Mockito.mock(CambriaHandler.class);
- AuditHandler auditHandler = Mockito.mock(AuditHandler.class);
-
- @Test
- public void testHandleRegistrationHappyScenario() {
- CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
- Mockito.when(cambriaHandler.registerToTopic(Mockito.anyCollection(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class))).thenReturn(okResponse);
-
- Wrapper<Response> responseWrapper = new Wrapper<>();
- RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv");
- distributionBusinessLogic.handleRegistration(responseWrapper, registrationRequest, auditHandler);
-
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.PRODUCER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.CONSUMER);
- Mockito.verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(Mockito.anyCollection(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class));
-
- assertTrue(!responseWrapper.isEmpty());
- Response response = responseWrapper.getInnerElement();
- assertTrue(response.getStatus() == HttpStatus.SC_OK);
-
- TopicRegistrationResponse okTopicResponse = (TopicRegistrationResponse) response.getEntity();
-
- String expectedStatusTopicName = DistributionEngineInitTask.buildTopicName(configurationManager.getDistributionEngineConfiguration().getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
- String actualStatusTopicName = okTopicResponse.getDistrStatusTopicName();
- assertEquals(expectedStatusTopicName, actualStatusTopicName);
-
- String expectedNotificationTopicName = DistributionEngineInitTask.buildTopicName(configurationManager.getDistributionEngineConfiguration().getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
- String actualNotificationTopicName = okTopicResponse.getDistrNotificationTopicName();
- assertEquals(expectedNotificationTopicName, actualNotificationTopicName);
-
- }
-
- @Test
- public void testHandleRegistrationFailedScenario() {
- CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
- CambriaErrorResponse errorResponse = new CambriaErrorResponse(CambriaOperationStatus.CONNNECTION_ERROR, HttpStatus.SC_SERVICE_UNAVAILABLE);
- DistributionEngineConfiguration config = configurationManager.getDistributionEngineConfiguration();
- RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv");
- String expectedStatusTopicName = DistributionEngineInitTask.buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
- String expectedNotificationTopicName = DistributionEngineInitTask.buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
-
- Mockito.when(cambriaHandler.registerToTopic(config.getUebServers(), expectedStatusTopicName, config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.PRODUCER)).thenReturn(okResponse);
- Mockito.when(cambriaHandler.registerToTopic(config.getUebServers(), expectedNotificationTopicName, config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER))
- .thenReturn(errorResponse);
-
- Wrapper<Response> responseWrapper = new Wrapper<>();
+import javax.ws.rs.core.Response;
- distributionBusinessLogic.handleRegistration(responseWrapper, registrationRequest, auditHandler);
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.be.components.distribution.engine.DistributionEngineInitTask.buildTopicName;
+
+public class DistributionBusinessLogicTest extends BeConfDependentTest {
+
+ @InjectMocks
+ DistributionBusinessLogic distributionBusinessLogic = Mockito.spy(DistributionBusinessLogic.class);
+
+ CambriaHandler cambriaHandler = Mockito.mock(CambriaHandler.class);
+ AuditHandler auditHandler = Mockito.mock(AuditHandler.class);
+
+ CambriaErrorResponse errorResponse = new CambriaErrorResponse(CambriaOperationStatus.CONNNECTION_ERROR,
+ HttpStatus.SC_SERVICE_UNAVAILABLE);
+ CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
+ DistributionEngineConfiguration config = configurationManager.getDistributionEngineConfiguration();
+
+ @Before
+ public void init() {
+ MockitoAnnotations.initMocks(this);
+ Mockito.reset(cambriaHandler);
+ }
+
+ @Test
+ public void testHandleRegistrationNoConsumeStatusTopic() {
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", false);
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+
+ testHandleRegistrationBasic(registrationRequest, responseWrapper);
+
+ String expectedStatusTopicName = buildTopicName(
+ configurationManager.getDistributionEngineConfiguration().getDistributionStatusTopicName(),
+ registrationRequest.getDistrEnvName());
+ verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(responseWrapper,
+ registrationRequest, SubscriberTypeEnum.CONSUMER, expectedStatusTopicName);
+
+ }
+
+ @Test
+ public void testHandleRegistrationConsumeStatusTopic() {
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", true);
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+
+ testHandleRegistrationBasic(registrationRequest, responseWrapper);
+
+ String expectedStatusTopicName = buildTopicName(
+ configurationManager.getDistributionEngineConfiguration().getDistributionStatusTopicName(),
+ registrationRequest.getDistrEnvName());
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper,
+ registrationRequest, SubscriberTypeEnum.CONSUMER, expectedStatusTopicName);
+ }
+ /**
+ * Registration Fails When registering as consumer to Notification With Consumer Status flag false.
+ */
+ @Test
+ public void testHandleRegistrationFailedScenario() {
+
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", false);
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+ String expectedNotificationTopicName = buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
+ String expectedStatusTopicName = buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
+
+ Runnable failWhen = () -> when(cambriaHandler.registerToTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName)).thenReturn(errorResponse);
+ testHandleRegistrationFailed(registrationRequest, responseWrapper, failWhen);
+ //Registered
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName);
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper, registrationRequest,SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName);
+ //Did Not Register
+ verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.CONSUMER,
+ expectedStatusTopicName);
+ //Unregistered Activated (rollback)
+ verify(cambriaHandler, Mockito.times(1)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.PRODUCER, expectedStatusTopicName);
+
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedStatusTopicName);
+
+ }
+
+ /**
+ * Registration Fails When registering as consumer to Notification With Consumer Status flag true.
+ */
+ @Test
+ public void testHandleRegistrationFailedConsumeStatusTopic() {
+
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", true);
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+ String expectedNotificationTopicName = buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
+ String expectedStatusTopicName = buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
+
+ Runnable failWhen = () -> when(cambriaHandler.registerToTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName)).thenReturn(errorResponse);
+ testHandleRegistrationFailed(registrationRequest, responseWrapper, failWhen);
+
+ //Registered
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName);
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper, registrationRequest,SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName);
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.CONSUMER,
+ expectedStatusTopicName);
+ //Unregistered Activated (rollback)
+ verify(cambriaHandler, Mockito.times(1)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.PRODUCER, expectedStatusTopicName);
+ verify(cambriaHandler, Mockito.times(1)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedStatusTopicName);
+ //Unregistered Not Activated
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedNotificationTopicName);
+ }
+
+ /**
+ * Registration Fails When registering as consumer to status With Consumer Status flag true.
+ */
+ @Test
+ public void testHandleRegistrationFailedConsumeStatusTopic2() {
+
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", true);
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+ String expectedNotificationTopicName = buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
+ String expectedStatusTopicName = buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
+
+ //Failing on new registration
+ Runnable failWhen = () -> when(cambriaHandler.registerToTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER,
+ expectedStatusTopicName)).thenReturn(errorResponse);
+ testHandleRegistrationFailed(registrationRequest, responseWrapper, failWhen);
+ //Registered
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName);
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.CONSUMER,
+ expectedStatusTopicName);
+ //Did Not Register
+ verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ responseWrapper, registrationRequest,SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName);
+ //Unregistered Activated (rollback)
+ verify(cambriaHandler, Mockito.times(1)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.PRODUCER, expectedStatusTopicName);
+ //Unregistered Not Activated
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedStatusTopicName);
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedNotificationTopicName);
+
+ }
+
+
+ /**
+ * Registration Fails When registering as PRODUCER to status With Consumer Status flag true.
+ */
+ @Test
+ public void testHandleRegistrationFailedConsumeStatusTopic3() {
+
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", true);
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+ String expectedNotificationTopicName = buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
+ String expectedStatusTopicName = buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
+
+ //Failing on new registration
+ Runnable failWhen = () -> when(cambriaHandler.registerToTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName)).thenReturn(errorResponse);
+ testHandleRegistrationFailed(registrationRequest, responseWrapper, failWhen);
+ //Registered
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName);
+ //Did Not Register
+ verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ responseWrapper,registrationRequest, SubscriberTypeEnum.CONSUMER,
+ expectedStatusTopicName);
+ verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ responseWrapper, registrationRequest,SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName);
+ //Unregistered Not Activated
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.PRODUCER, expectedStatusTopicName);
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedNotificationTopicName);
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(config.getUebServers(),
+ config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(),
+ SubscriberTypeEnum.CONSUMER, expectedStatusTopicName);
+
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testHandleUnRegistrationHappyScenario() {
+ CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
+
+ Mockito.when(cambriaHandler.unRegisterFromTopic(Mockito.anyCollection(), Mockito.anyString(),
+ Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class), Mockito.anyString()))
+ .thenReturn(okResponse);
+
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", false);
+ distributionBusinessLogic.handleUnRegistration(responseWrapper, registrationRequest, auditHandler);
+
+ Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ Mockito.eq(responseWrapper), Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.PRODUCER),
+ Mockito.anyString());
+ Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ Mockito.eq(responseWrapper), Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.CONSUMER),
+ Mockito.anyString());
+ Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(
+ Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.PRODUCER), Mockito.anyString());
+ Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(
+ Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.CONSUMER), Mockito.anyString());
+
+ Mockito.verify(cambriaHandler, Mockito.times(2)).unRegisterFromTopic(Mockito.anyCollection(),
+ Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class),
+ Mockito.anyString());
+
+ assertTrue(!responseWrapper.isEmpty());
+ Response response = responseWrapper.getInnerElement();
+ assertTrue(response.getStatus() == HttpStatus.SC_OK);
+
+ TopicUnregistrationResponse okTopicUnregisterResponse = (TopicUnregistrationResponse) response.getEntity();
+
+ String expectedStatusTopicName = DistributionEngineInitTask.buildTopicName(
+ configurationManager.getDistributionEngineConfiguration().getDistributionStatusTopicName(),
+ registrationRequest.getDistrEnvName());
+ String actualStatusTopicName = okTopicUnregisterResponse.getDistrStatusTopicName();
+ assertEquals(expectedStatusTopicName, actualStatusTopicName);
+
+ String expectedNotificationTopicName = DistributionEngineInitTask.buildTopicName(
+ configurationManager.getDistributionEngineConfiguration().getDistributionNotifTopicName(),
+ registrationRequest.getDistrEnvName());
+ String actualNotificationTopicName = okTopicUnregisterResponse.getDistrNotificationTopicName();
+ assertEquals(expectedNotificationTopicName, actualNotificationTopicName);
+
+ assertEquals(okTopicUnregisterResponse.getNotificationUnregisterResult(), CambriaOperationStatus.OK);
+ assertEquals(okTopicUnregisterResponse.getStatusUnregisterResult(), CambriaOperationStatus.OK);
+
+ }
+
+ @Test
+ public void testHandleUnRegistrationFailedScenario() {
+ CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
+ CambriaErrorResponse errorResponse = new CambriaErrorResponse(CambriaOperationStatus.AUTHENTICATION_ERROR,
+ HttpStatus.SC_INTERNAL_SERVER_ERROR);
+
+ Wrapper<Response> responseWrapper = new Wrapper<>();
+ RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv", false);
+ DistributionEngineConfiguration config = configurationManager.getDistributionEngineConfiguration();
+ String expectedStatusTopicName = DistributionEngineInitTask
+ .buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
+ String expectedNotificationTopicName = DistributionEngineInitTask
+ .buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
+ Mockito.when(cambriaHandler.unRegisterFromTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName)).thenReturn(okResponse);
+ Mockito.when(cambriaHandler.unRegisterFromTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER,
+ expectedNotificationTopicName)).thenReturn(errorResponse);
+
+ distributionBusinessLogic.handleUnRegistration(responseWrapper, registrationRequest, auditHandler);
+
+ Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ Mockito.eq(responseWrapper), Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.PRODUCER),
+ Mockito.anyString());
+ Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(
+ Mockito.eq(responseWrapper), Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.CONSUMER),
+ Mockito.anyString());
+ Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(
+ Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.PRODUCER), Mockito.anyString());
+ Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(
+ Mockito.eq(registrationRequest), Mockito.eq(SubscriberTypeEnum.CONSUMER), Mockito.anyString());
+
+ assertTrue(!responseWrapper.isEmpty());
+ Response response = responseWrapper.getInnerElement();
+ assertTrue(response.getStatus() == HttpStatus.SC_INTERNAL_SERVER_ERROR);
+
+ TopicUnregistrationResponse okTopicUnregisterResponse = (TopicUnregistrationResponse) response.getEntity();
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.PRODUCER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.CONSUMER);
- Mockito.verify(cambriaHandler, Mockito.times(1)).unRegisterFromTopic(config.getUebServers(), expectedStatusTopicName, config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.PRODUCER);
+ String actualStatusTopicName = okTopicUnregisterResponse.getDistrStatusTopicName();
+ assertEquals(expectedStatusTopicName, actualStatusTopicName);
- assertTrue(!responseWrapper.isEmpty());
- Response response = responseWrapper.getInnerElement();
- assertTrue(response.getStatus() == HttpStatus.SC_INTERNAL_SERVER_ERROR);
+ String actualNotificationTopicName = okTopicUnregisterResponse.getDistrNotificationTopicName();
+ assertEquals(expectedNotificationTopicName, actualNotificationTopicName);
- }
+ assertEquals(okTopicUnregisterResponse.getNotificationUnregisterResult(),
+ CambriaOperationStatus.AUTHENTICATION_ERROR);
+ assertEquals(okTopicUnregisterResponse.getStatusUnregisterResult(), CambriaOperationStatus.OK);
- @Test
- public void testHandleUnRegistrationHappyScenario() {
- CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
+ }
- Mockito.when(cambriaHandler.unRegisterFromTopic(Mockito.anyCollection(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class))).thenReturn(okResponse);
+ @SuppressWarnings("unchecked")
+ private void testHandleRegistrationBasic(RegistrationRequest registrationRequest,
+ Wrapper<Response> responseWrapper) {
+ CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
+ Mockito.when(cambriaHandler.registerToTopic(Mockito.anyCollection(), Mockito.anyString(), Mockito.anyString(),
+ Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class), Mockito.anyString()))
+ .thenReturn(okResponse);
- Wrapper<Response> responseWrapper = new Wrapper<>();
- RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv");
- distributionBusinessLogic.handleUnRegistration(responseWrapper, registrationRequest, auditHandler);
+ String expectedStatusTopicName = buildTopicName(
+ configurationManager.getDistributionEngineConfiguration().getDistributionStatusTopicName(),
+ registrationRequest.getDistrEnvName());
+ String expectedNotificationTopicName = buildTopicName(
+ configurationManager.getDistributionEngineConfiguration().getDistributionNotifTopicName(),
+ registrationRequest.getDistrEnvName());
- Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.PRODUCER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.CONSUMER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(registrationRequest, SubscriberTypeEnum.PRODUCER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(registrationRequest, SubscriberTypeEnum.CONSUMER);
+ distributionBusinessLogic.handleRegistration(responseWrapper, registrationRequest, auditHandler);
- Mockito.verify(cambriaHandler, Mockito.times(2)).unRegisterFromTopic(Mockito.anyCollection(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class));
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper,
+ registrationRequest, SubscriberTypeEnum.PRODUCER, expectedStatusTopicName);
+ verify(distributionBusinessLogic, Mockito.times(1)).registerDistributionClientToTopic(responseWrapper,
+ registrationRequest, SubscriberTypeEnum.CONSUMER, expectedNotificationTopicName);
- assertTrue(!responseWrapper.isEmpty());
- Response response = responseWrapper.getInnerElement();
- assertTrue(response.getStatus() == HttpStatus.SC_OK);
+ verify(cambriaHandler, Mockito.times(0)).unRegisterFromTopic(Mockito.anyCollection(), Mockito.anyString(),
+ Mockito.anyString(), Mockito.anyString(), Mockito.any(SubscriberTypeEnum.class), Mockito.anyString());
- TopicUnregistrationResponse okTopicUnregisterResponse = (TopicUnregistrationResponse) response.getEntity();
+ assertTrue(!responseWrapper.isEmpty());
+ Response response = responseWrapper.getInnerElement();
+ assertTrue(response.getStatus() == HttpStatus.SC_OK);
- String expectedStatusTopicName = DistributionEngineInitTask.buildTopicName(configurationManager.getDistributionEngineConfiguration().getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
- String actualStatusTopicName = okTopicUnregisterResponse.getDistrStatusTopicName();
- assertEquals(expectedStatusTopicName, actualStatusTopicName);
+ TopicRegistrationResponse okTopicResponse = (TopicRegistrationResponse) response.getEntity();
- String expectedNotificationTopicName = DistributionEngineInitTask.buildTopicName(configurationManager.getDistributionEngineConfiguration().getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
- String actualNotificationTopicName = okTopicUnregisterResponse.getDistrNotificationTopicName();
- assertEquals(expectedNotificationTopicName, actualNotificationTopicName);
+ String actualStatusTopicName = okTopicResponse.getDistrStatusTopicName();
+ assertEquals(expectedStatusTopicName, actualStatusTopicName);
- assertEquals(okTopicUnregisterResponse.getNotificationUnregisterResult(), CambriaOperationStatus.OK);
- assertEquals(okTopicUnregisterResponse.getStatusUnregisterResult(), CambriaOperationStatus.OK);
+ String actualNotificationTopicName = okTopicResponse.getDistrNotificationTopicName();
+ assertEquals(expectedNotificationTopicName, actualNotificationTopicName);
+ }
- }
+ private void testHandleRegistrationFailed(RegistrationRequest registrationRequest,
+ Wrapper<Response> responseWrapper, Runnable failWhen) {
+ String expectedStatusTopicName = buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
- @Test
- public void testHandleUnRegistrationFailedScenario() {
- CambriaErrorResponse okResponse = new CambriaErrorResponse(CambriaOperationStatus.OK, HttpStatus.SC_OK);
- CambriaErrorResponse errorResponse = new CambriaErrorResponse(CambriaOperationStatus.AUTHENTICATION_ERROR, HttpStatus.SC_INTERNAL_SERVER_ERROR);
- Wrapper<Response> responseWrapper = new Wrapper<>();
- RegistrationRequest registrationRequest = new RegistrationRequest("myPublicKey", "myEnv");
- DistributionEngineConfiguration config = configurationManager.getDistributionEngineConfiguration();
- String expectedStatusTopicName = DistributionEngineInitTask.buildTopicName(config.getDistributionStatusTopicName(), registrationRequest.getDistrEnvName());
- String expectedNotificationTopicName = DistributionEngineInitTask.buildTopicName(config.getDistributionNotifTopicName(), registrationRequest.getDistrEnvName());
- Mockito.when(cambriaHandler.unRegisterFromTopic(config.getUebServers(), expectedStatusTopicName, config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.PRODUCER)).thenReturn(okResponse);
- Mockito.when(cambriaHandler.unRegisterFromTopic(config.getUebServers(), expectedNotificationTopicName, config.getUebPublicKey(), config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER))
- .thenReturn(errorResponse);
- distributionBusinessLogic.handleUnRegistration(responseWrapper, registrationRequest, auditHandler);
- Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.PRODUCER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(0)).registerDistributionClientToTopic(responseWrapper, registrationRequest, SubscriberTypeEnum.CONSUMER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(registrationRequest, SubscriberTypeEnum.PRODUCER);
- Mockito.verify(distributionBusinessLogic, Mockito.times(1)).unRegisterDistributionClientFromTopic(registrationRequest, SubscriberTypeEnum.CONSUMER);
- assertTrue(!responseWrapper.isEmpty());
- Response response = responseWrapper.getInnerElement();
- assertTrue(response.getStatus() == HttpStatus.SC_INTERNAL_SERVER_ERROR);
+ when(cambriaHandler.registerToTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.CONSUMER,
+ expectedStatusTopicName)).thenReturn(okResponse);
- TopicUnregistrationResponse okTopicUnregisterResponse = (TopicUnregistrationResponse) response.getEntity();
+ when(cambriaHandler.registerToTopic(config.getUebServers(), config.getUebPublicKey(),
+ config.getUebSecretKey(), registrationRequest.getApiPublicKey(), SubscriberTypeEnum.PRODUCER,
+ expectedStatusTopicName)).thenReturn(okResponse);
- String actualStatusTopicName = okTopicUnregisterResponse.getDistrStatusTopicName();
- assertEquals(expectedStatusTopicName, actualStatusTopicName);
+ failWhen.run();
- String actualNotificationTopicName = okTopicUnregisterResponse.getDistrNotificationTopicName();
- assertEquals(expectedNotificationTopicName, actualNotificationTopicName);
+ distributionBusinessLogic.handleRegistration(responseWrapper, registrationRequest, auditHandler);
- assertEquals(okTopicUnregisterResponse.getNotificationUnregisterResult(), CambriaOperationStatus.AUTHENTICATION_ERROR);
- assertEquals(okTopicUnregisterResponse.getStatusUnregisterResult(), CambriaOperationStatus.OK);
+ assertTrue(!responseWrapper.isEmpty());
+ Response response = responseWrapper.getInnerElement();
+ assertTrue(response.getStatus() == HttpStatus.SC_INTERNAL_SERVER_ERROR);
- }
- @Before
- public void init() {
- MockitoAnnotations.initMocks(this);
- Mockito.reset(cambriaHandler);
- }
+ }
}