-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============================LICENSE_END===========================================
- */
-
-package org.openecomp.dcae.apod.analytics.dmaap.service;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.common.base.Optional;
-import org.apache.commons.lang3.tuple.Pair;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.StatusLine;
-import org.apache.http.client.ResponseHandler;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.mockito.Mockito;
-import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
-import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;
-import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;
-import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;
-import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;
-import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueue;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.hamcrest.Matchers.hasSize;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.isA;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.BDDMockito.given;
-import static org.mockito.Mockito.mock;
-
-/**
- * @author Manjesh Gowda. Creation Date: 11/4/2016.
- */
-public class BaseDMaaPMRComponentTest extends BaseAnalyticsDMaaPUnitTest {
-
- @Test
- public void testGetAuthHeaderWithGoodValues() {
- String expectedEncodedString = "Basic bTAwNTAyQHRjYS5hZi5kY2FlLmNvbTpUZTUwMjFhYmM=";
- Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader("USER", "PASSWORD");
- assertTrue(" Authentication Header has value ", actualOutput.isPresent());
-// assertEquals(" Authentication Header has value ", expectedEncodedString, actualOutput.get());
- }
-
- @Test
- public void testGetAuthHeaderWithNullValues() {
- Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader(null, null);
- assertFalse(" Authentication Header has value ", actualOutput.isPresent());
- }
-
- @Test
- public void testGetAuthHeaderWithUserNullValue() {
- Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader("USER", null);
- assertFalse(" Authentication Header has value ", actualOutput.isPresent());
- }
-
- @Test
- public void testGetAuthHeaderWithPasswordNullValue() {
- Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader(null, "PASSWORD");
- assertFalse(" Authentication Header has value ", actualOutput.isPresent());
- }
-
- @Test
- public void testCreatePublishURIWithGoodValues() {
- URI actualURI = BaseDMaaPMRComponent.createPublisherURI(getPublisherConfig());
- String test = actualURI.toString();
- assertEquals("Generated Publisher URL is correct",
- "https://testHostName:8080/events/testTopicName", actualURI.toString());
- }
-
- @Test(expected = DCAEAnalyticsRuntimeException.class)
- public void testCreatePublishURIWithURISyntaxException() {
- DMaaPMRPublisherConfig badPublisherConfig = new DMaaPMRPublisherConfig
- .Builder(" dav /gh. ss/ asd ", "///@$%#-htps:<>!##")
- .setPortNumber(0)
- .setProtocol("https").build();
-
- BaseDMaaPMRComponent.createPublisherURI(badPublisherConfig);
- }
-
- @Test
- public void testCreateSubscribeURIWithGoodValues() {
- URI actualURI = BaseDMaaPMRComponent.createSubscriberURI(
- getSubscriberConfig("test-consumer-group", "test-consumer-id"));
- assertEquals("Generated Subscriber URL is correct",
- "https://testHostName:8080/events/testTopicName/" +
- "test-consumer-id/test-consumer-group?timeout=2000&limit=20",
- actualURI.toString());
- }
-
- @Test(expected = DCAEAnalyticsRuntimeException.class)
- public void testCreateSubscribeURIWithURISyntaxException() {
- DMaaPMRSubscriberConfig badSubscriberConfig = new DMaaPMRSubscriberConfig
- .Builder(" dav /gh. ss/ asd ", "")
- .setPortNumber(PORT_NUMBER)
- .setProtocol(HTTP_PROTOCOL)
- .setContentType(CONTENT_TYPE).build();
-
- URI actualURI = BaseDMaaPMRComponent.createSubscriberURI(badSubscriberConfig);
- }
-
- @Test
- public void testConvertToJsonStringGoodJsonStringList() {
- List<String> jsonMessage = Arrays.asList(
- "{\"message\":\"I'm Object 1 Message\"}",
- "{\"message\":\"I'm Object 2 Message\"}");
-
- String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(jsonMessage);
-
- String expectedJSONMsg = "[{\"message\":\"I'm Object 1 Message\"}," +
- "{\"message\":\"I'm Object 2 Message\"}]";
- assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);
-
- }
-
- @Rule
- public ExpectedException expectedJsonProcessingException = ExpectedException.none();
-
- @Test
- public void testConvertToJsonStringBadJsonStringList() {
- expectedJsonProcessingException.expect(DCAEAnalyticsRuntimeException.class);
- expectedJsonProcessingException.expectCause(isA(JsonProcessingException.class));
-
- List<String> jsonMessage = Arrays.asList(
- "{\"message\":\"I'm Object 1 Message\"",
- "\"message\":\"I'm Object 2 Message\"");
-
- BaseDMaaPMRComponent.convertToJsonString(jsonMessage);
- }
-
- @Test
- public void testConvertToJsonStringWithEmptyList() {
- List<String> jsonMessage = Arrays.asList();
- String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(jsonMessage);
- String expectedJSONMsg = "[]";
- assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);
- }
-
- @Test
- public void testConvertToJsonStringWithNullList() {
- String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(null);
- String expectedJSONMsg = "[]";
- assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);
- }
-
-
- @Test
- public void testConvertJsonToStringMessagesGoodValues() {
- String inputJSONMsg = "[{\"message\":\"I'm Object 1 Message\"}," +
- "{\"message\":\"I'm Object 2 Message\"}]";
- List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);
- assertThat(actualList, hasSize(2));
- assertThat(actualList, containsInAnyOrder(
- "{\"message\":\"I'm Object 1 Message\"}",
- "{\"message\":\"I'm Object 2 Message\"}"
- ));
- }
-
- @Test
- public void testConvertJsonToStringMessagesNoValues() {
- String inputJSONMsg = "[]";
- List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);
- assertThat(actualList, hasSize(0));
- }
-
- @Test
- public void testConvertJsonToStringMessagesNullValues() {
- List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(null);
- assertThat(actualList, hasSize(0));
- }
-
- @Test
- public void testConvertJsonToStringMessagesEmptyValues() {
- List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(" ");
- assertThat(actualList, hasSize(0));
- }
-
- @Rule
- public ExpectedException convertToJSONIOException = ExpectedException.none();
-
- @Test
- public void testConvertJsonToStringMessagesException() {
- convertToJSONIOException.expect(DCAEAnalyticsRuntimeException.class);
- convertToJSONIOException.expectCause(isA(IOException.class));
-
- String inputJSONMsg = "[\"{\"message\":\"I'm Object 1 Message\"}\"," +
- "\"{\"message\":\"I'm Object 2 Message\"}\"]";
- List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);
- assertThat(actualList, hasSize(2));
- assertThat(actualList, containsInAnyOrder(
- "{\"message\":\"I'm Object 1 Message\"}",
- "{\"message\":\"I'm Object 2 Message\"}"
- ));
- }
-
- @Test
- public void testAddMessagesToRecoveryQueueAllGood() {
- DMaaPMRPublisherQueue dmaapMRPublisherQueue = mock(DMaaPMRPublisherQueue.class);
- given(dmaapMRPublisherQueue.addRecoverableMessages(Mockito.<String>anyList())).willReturn(0);
- given(dmaapMRPublisherQueue.getBatchQueueRemainingSize()).willReturn(0);
- List<String> messages = new ArrayList<String>();
- BaseDMaaPMRComponent.addMessagesToRecoveryQueue(dmaapMRPublisherQueue, messages);
- }
-
- @Rule
- public ExpectedException addQueueIllegalException = ExpectedException.none();
-
- @Test
- public void testAddMessagesToRecoveryQueueException() {
- addQueueIllegalException.expect(isA(DCAEAnalyticsRuntimeException.class));
- addQueueIllegalException.expectCause(isA(IllegalStateException.class));
-
- DMaaPMRPublisherQueue dmaapMRPublisherQueue = mock(DMaaPMRPublisherQueue.class);
-
- given(dmaapMRPublisherQueue.addRecoverableMessages(Mockito.<String>anyList()))
- .willThrow(IllegalStateException.class);
- List<String> messages = new ArrayList<String>();
-
- BaseDMaaPMRComponent.addMessagesToRecoveryQueue(dmaapMRPublisherQueue, messages);
- }
-
-
- @Test
- public void testResponseHandler() {
- HttpResponse mockHttpResponse = mock(HttpResponse.class);
- StatusLine mockStatusLine = mock(StatusLine.class);
- HttpEntity mockHttpEntity = mock(HttpEntity.class);
- // Could not mock EntityUtils as it's final class
- //EntityUtils mockEntityUtils = mock(EntityUtils.class);
-
- given(mockHttpResponse.getStatusLine()).willReturn(mockStatusLine);
- given(mockStatusLine.getStatusCode()).willReturn(200);
- given(mockHttpResponse.getEntity()).willReturn(null);
- //given(mockEntityUtils.toString()).willReturn("Test value");
-
- ResponseHandler<Pair<Integer, String>> responseHandler = BaseDMaaPMRComponent.responseHandler();
- try {
- Pair<Integer, String> mappedResponse = responseHandler.handleResponse(mockHttpResponse);
- assertTrue("Http response code returned properly ", mappedResponse.getLeft().equals(200));
- assertTrue("Http response body returned properly ", mappedResponse.getRight().equals(""));
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-
- @Test
- public void testCreateSubscriberResponse() {
- DMaaPMRSubscriberResponse dmaapMRSubscriberResponse =
- BaseDMaaPMRComponent.createSubscriberResponse(200, "Test Message", getTwoSampleMessages());
-
- assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
- assertEquals(dmaapMRSubscriberResponse.getResponseMessage(), "Test Message");
- assertThat(dmaapMRSubscriberResponse.getFetchedMessages().size(), is(2));
-
- }
-
- @Test
- public void testCreateSubscriberResponse_no_message() {
- DMaaPMRSubscriberResponse dmaapMRSubscriberResponse =
- BaseDMaaPMRComponent.createSubscriberResponse(200, "Test Message", null);
-
- assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));
- assertEquals(dmaapMRSubscriberResponse.getResponseMessage(), "Test Message");
- assertThat(dmaapMRSubscriberResponse.getFetchedMessages().size(), is(0));
-
- }
-
-}
-
-
-
-
-
+/*\r
+ * ===============================LICENSE_START======================================\r
+ * dcae-analytics\r
+ * ================================================================================\r
+ * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============================LICENSE_END===========================================\r
+ */\r
+\r
+package org.openecomp.dcae.apod.analytics.dmaap.service;\r
+\r
+import com.fasterxml.jackson.core.JsonProcessingException;\r
+import com.google.common.base.Optional;\r
+import org.apache.commons.lang3.tuple.Pair;\r
+import org.apache.http.HttpEntity;\r
+import org.apache.http.HttpResponse;\r
+import org.apache.http.StatusLine;\r
+import org.apache.http.client.ResponseHandler;\r
+import org.junit.Rule;\r
+import org.junit.Test;\r
+import org.junit.rules.ExpectedException;\r
+import org.mockito.Mockito;\r
+import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;\r
+import org.openecomp.dcae.apod.analytics.dmaap.BaseAnalyticsDMaaPUnitTest;\r
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig;\r
+import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig;\r
+import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse;\r
+import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisherQueue;\r
+\r
+import java.io.IOException;\r
+import java.net.URI;\r
+import java.util.ArrayList;\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import static org.hamcrest.Matchers.containsInAnyOrder;\r
+import static org.hamcrest.Matchers.hasSize;\r
+import static org.hamcrest.Matchers.is;\r
+import static org.hamcrest.Matchers.isA;\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertThat;\r
+import static org.junit.Assert.assertTrue;\r
+import static org.mockito.BDDMockito.given;\r
+import static org.mockito.Mockito.mock;\r
+\r
+/**\r
+ * @author Manjesh Gowda. Creation Date: 11/4/2016.\r
+ */\r
+public class BaseDMaaPMRComponentTest extends BaseAnalyticsDMaaPUnitTest {\r
+\r
+ @Test\r
+ public void testGetAuthHeaderWithGoodValues() {\r
+ String expectedEncodedString = "Basic bTAwNTAyQHRjYS5hZi5kY2FlLmNvbTpUZTUwMjFhYmM=";\r
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader("USER", "PASSWORD");\r
+ assertTrue(" Authentication Header has value ", actualOutput.isPresent());\r
+// assertEquals(" Authentication Header has value ", expectedEncodedString, actualOutput.get());\r
+ }\r
+\r
+ @Test\r
+ public void testGetAuthHeaderWithNullValues() {\r
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader(null, null);\r
+ assertFalse(" Authentication Header has value ", actualOutput.isPresent());\r
+ }\r
+\r
+ @Test\r
+ public void testGetAuthHeaderWithUserNullValue() {\r
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader("USER", null);\r
+ assertFalse(" Authentication Header has value ", actualOutput.isPresent());\r
+ }\r
+\r
+ @Test\r
+ public void testGetAuthHeaderWithPasswordNullValue() {\r
+ Optional<String> actualOutput = BaseDMaaPMRComponent.getAuthHeader(null, "PASSWORD");\r
+ assertFalse(" Authentication Header has value ", actualOutput.isPresent());\r
+ }\r
+\r
+ @Test\r
+ public void testCreatePublishURIWithGoodValues() {\r
+ URI actualURI = BaseDMaaPMRComponent.createPublisherURI(getPublisherConfig());\r
+ String test = actualURI.toString();\r
+ assertEquals("Generated Publisher URL is correct",\r
+ "https://testHostName:8080/events/testTopicName", actualURI.toString());\r
+ }\r
+\r
+ @Test(expected = DCAEAnalyticsRuntimeException.class)\r
+ public void testCreatePublishURIWithURISyntaxException() {\r
+ DMaaPMRPublisherConfig badPublisherConfig = new DMaaPMRPublisherConfig\r
+ .Builder(" dav /gh. ss/ asd ", "///@$%#-htps:<>!##")\r
+ .setPortNumber(0)\r
+ .setProtocol("https").build();\r
+\r
+ BaseDMaaPMRComponent.createPublisherURI(badPublisherConfig);\r
+ }\r
+\r
+ @Test\r
+ public void testCreateSubscribeURIWithGoodValues() {\r
+ URI actualURI = BaseDMaaPMRComponent.createSubscriberURI(\r
+ getSubscriberConfig("test-consumer-group", "test-consumer-id"));\r
+ assertEquals("Generated Subscriber URL is correct",\r
+ "https://testHostName:8080/events/testTopicName/" +\r
+ "test-consumer-id/test-consumer-group?timeout=2000&limit=20",\r
+ actualURI.toString());\r
+ }\r
+\r
+ @Test(expected = DCAEAnalyticsRuntimeException.class)\r
+ public void testCreateSubscribeURIWithURISyntaxException() {\r
+ DMaaPMRSubscriberConfig badSubscriberConfig = new DMaaPMRSubscriberConfig\r
+ .Builder(" dav /gh. ss/ asd ", "")\r
+ .setPortNumber(PORT_NUMBER)\r
+ .setProtocol(HTTP_PROTOCOL)\r
+ .setContentType(CONTENT_TYPE).build();\r
+\r
+ URI actualURI = BaseDMaaPMRComponent.createSubscriberURI(badSubscriberConfig);\r
+ }\r
+\r
+ @Test\r
+ public void testConvertToJsonStringGoodJsonStringList() {\r
+ List<String> jsonMessage = Arrays.asList(\r
+ "{\"message\":\"I'm Object 1 Message\"}",\r
+ "{\"message\":\"I'm Object 2 Message\"}");\r
+\r
+ String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(jsonMessage);\r
+\r
+ String expectedJSONMsg = "[{\"message\":\"I'm Object 1 Message\"}," +\r
+ "{\"message\":\"I'm Object 2 Message\"}]";\r
+ assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);\r
+\r
+ }\r
+\r
+ @Rule\r
+ public ExpectedException expectedJsonProcessingException = ExpectedException.none();\r
+\r
+ @Test\r
+ public void testConvertToJsonStringBadJsonStringList() {\r
+ expectedJsonProcessingException.expect(DCAEAnalyticsRuntimeException.class);\r
+ expectedJsonProcessingException.expectCause(isA(JsonProcessingException.class));\r
+\r
+ List<String> jsonMessage = Arrays.asList(\r
+ "{\"message\":\"I'm Object 1 Message\"",\r
+ "\"message\":\"I'm Object 2 Message\"");\r
+\r
+ BaseDMaaPMRComponent.convertToJsonString(jsonMessage);\r
+ }\r
+\r
+ @Test\r
+ public void testConvertToJsonStringWithEmptyList() {\r
+ List<String> jsonMessage = Arrays.asList();\r
+ String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(jsonMessage);\r
+ String expectedJSONMsg = "[]";\r
+ assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);\r
+ }\r
+\r
+ @Test\r
+ public void testConvertToJsonStringWithNullList() {\r
+ String actualJSONMsg = BaseDMaaPMRComponent.convertToJsonString(null);\r
+ String expectedJSONMsg = "[]";\r
+ assertEquals("Convert a List of Strings to JSON is working fine", expectedJSONMsg, actualJSONMsg);\r
+ }\r
+\r
+\r
+ @Test\r
+ public void testConvertJsonToStringMessagesGoodValues() {\r
+ String inputJSONMsg = "[{\"message\":\"I'm Object 1 Message\"}," +\r
+ "{\"message\":\"I'm Object 2 Message\"}]";\r
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);\r
+ assertThat(actualList, hasSize(2));\r
+ assertThat(actualList, containsInAnyOrder(\r
+ "{\"message\":\"I'm Object 1 Message\"}",\r
+ "{\"message\":\"I'm Object 2 Message\"}"\r
+ ));\r
+ }\r
+\r
+ @Test\r
+ public void testConvertJsonToStringMessagesNoValues() {\r
+ String inputJSONMsg = "[]";\r
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);\r
+ assertThat(actualList, hasSize(0));\r
+ }\r
+\r
+ @Test\r
+ public void testConvertJsonToStringMessagesNullValues() {\r
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(null);\r
+ assertThat(actualList, hasSize(0));\r
+ }\r
+\r
+ @Test\r
+ public void testConvertJsonToStringMessagesEmptyValues() {\r
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(" ");\r
+ assertThat(actualList, hasSize(0));\r
+ }\r
+\r
+ @Rule\r
+ public ExpectedException convertToJSONIOException = ExpectedException.none();\r
+\r
+ @Test\r
+ public void testConvertJsonToStringMessagesException() {\r
+ convertToJSONIOException.expect(DCAEAnalyticsRuntimeException.class);\r
+ convertToJSONIOException.expectCause(isA(IOException.class));\r
+\r
+ String inputJSONMsg = "[\"{\"message\":\"I'm Object 1 Message\"}\"," +\r
+ "\"{\"message\":\"I'm Object 2 Message\"}\"]";\r
+ List<String> actualList = BaseDMaaPMRComponent.convertJsonToStringMessages(inputJSONMsg);\r
+ assertThat(actualList, hasSize(2));\r
+ assertThat(actualList, containsInAnyOrder(\r
+ "{\"message\":\"I'm Object 1 Message\"}",\r
+ "{\"message\":\"I'm Object 2 Message\"}"\r
+ ));\r
+ }\r
+\r
+ @Test\r
+ public void testAddMessagesToRecoveryQueueAllGood() {\r
+ DMaaPMRPublisherQueue dmaapMRPublisherQueue = mock(DMaaPMRPublisherQueue.class);\r
+ given(dmaapMRPublisherQueue.addRecoverableMessages(Mockito.<String>anyList())).willReturn(0);\r
+ given(dmaapMRPublisherQueue.getBatchQueueRemainingSize()).willReturn(0);\r
+ List<String> messages = new ArrayList<String>();\r
+ BaseDMaaPMRComponent.addMessagesToRecoveryQueue(dmaapMRPublisherQueue, messages);\r
+ }\r
+\r
+ @Rule\r
+ public ExpectedException addQueueIllegalException = ExpectedException.none();\r
+\r
+ @Test\r
+ public void testAddMessagesToRecoveryQueueException() {\r
+ addQueueIllegalException.expect(isA(DCAEAnalyticsRuntimeException.class));\r
+ addQueueIllegalException.expectCause(isA(IllegalStateException.class));\r
+\r
+ DMaaPMRPublisherQueue dmaapMRPublisherQueue = mock(DMaaPMRPublisherQueue.class);\r
+\r
+ given(dmaapMRPublisherQueue.addRecoverableMessages(Mockito.<String>anyList()))\r
+ .willThrow(IllegalStateException.class);\r
+ List<String> messages = new ArrayList<String>();\r
+\r
+ BaseDMaaPMRComponent.addMessagesToRecoveryQueue(dmaapMRPublisherQueue, messages);\r
+ }\r
+\r
+\r
+ @Test\r
+ public void testResponseHandler() {\r
+ HttpResponse mockHttpResponse = mock(HttpResponse.class);\r
+ StatusLine mockStatusLine = mock(StatusLine.class);\r
+ HttpEntity mockHttpEntity = mock(HttpEntity.class);\r
+ // Could not mock EntityUtils as it's final class\r
+ //EntityUtils mockEntityUtils = mock(EntityUtils.class);\r
+\r
+ given(mockHttpResponse.getStatusLine()).willReturn(mockStatusLine);\r
+ given(mockStatusLine.getStatusCode()).willReturn(200);\r
+ given(mockHttpResponse.getEntity()).willReturn(null);\r
+ //given(mockEntityUtils.toString()).willReturn("Test value");\r
+\r
+ ResponseHandler<Pair<Integer, String>> responseHandler = BaseDMaaPMRComponent.responseHandler();\r
+ try {\r
+ Pair<Integer, String> mappedResponse = responseHandler.handleResponse(mockHttpResponse);\r
+ assertTrue("Http response code returned properly ", mappedResponse.getLeft().equals(200));\r
+ assertTrue("Http response body returned properly ", mappedResponse.getRight().equals(""));\r
+ } catch (IOException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+\r
+ @Test\r
+ public void testCreateSubscriberResponse() {\r
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse =\r
+ BaseDMaaPMRComponent.createSubscriberResponse(200, "Test Message", getTwoSampleMessages());\r
+\r
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));\r
+ assertEquals(dmaapMRSubscriberResponse.getResponseMessage(), "Test Message");\r
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages().size(), is(2));\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testCreateSubscriberResponse_no_message() {\r
+ DMaaPMRSubscriberResponse dmaapMRSubscriberResponse =\r
+ BaseDMaaPMRComponent.createSubscriberResponse(200, "Test Message", null);\r
+\r
+ assertThat(dmaapMRSubscriberResponse.getResponseCode(), is(200));\r
+ assertEquals(dmaapMRSubscriberResponse.getResponseMessage(), "Test Message");\r
+ assertThat(dmaapMRSubscriberResponse.getFetchedMessages().size(), is(0));\r
+\r
+ }\r
+\r
+}\r
+\r
+\r
+\r
+\r
+\r