From 44ce56cf2e6bfae17c443901ac6ded8ba8cdd414 Mon Sep 17 00:00:00 2001 From: wasala Date: Tue, 8 May 2018 13:48:44 +0200 Subject: Added dmaap consumer task execution to workflow Change-Id: I67904a8ffb7d401fa2188fb046e28474eded4377 Issue-ID: DCAEGEN2-474 Signed-off-by: wasala --- .../config/DmaapPublisherConfiguration.java | 1 - .../ExtendedDmaapConsumerHttpClientImpl.java | 23 ++++++----------- .../producer/DmaapPublisherRequestDetails.java | 4 +-- .../ExtendedDmaapProducerHttpClientImpl.java | 30 ++++++++++------------ .../ExtendedDmaapConsumerHttpClientImplTest.java | 6 ++--- .../ExtendedDmaapProducerHttpClientImplTest.java | 12 ++++----- 6 files changed, 31 insertions(+), 45 deletions(-) (limited to 'prh-dmaap-client/src') diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java index 525e1326..ac26ea97 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java @@ -26,7 +26,6 @@ import org.springframework.stereotype.Component; /** * @author Przemysław Wąsala on 3/23/18 */ -@Component @Value.Immutable(prehash = true) @Value.Style(builder = "new") @Gson.TypeAdapters diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java index 0b76ccaa..1772104a 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImpl.java @@ -53,7 +53,7 @@ public class ExtendedDmaapConsumerHttpClientImpl { private final String dmaapContentType; - ExtendedDmaapConsumerHttpClientImpl(DmaapConsumerConfiguration configuration) { + public ExtendedDmaapConsumerHttpClientImpl(DmaapConsumerConfiguration configuration) { this.closeableHttpClient = new DmaapHttpClientImpl(configuration).getHttpClient(); this.dmaapHostName = configuration.dmaapHostName(); this.dmaapProtocol = configuration.dmaapProtocol(); @@ -108,38 +108,31 @@ public class ExtendedDmaapConsumerHttpClientImpl { } private URI createDmaapConsumerExtendedURI() { - URI extendedURI = null; - - final URIBuilder uriBuilder = new URIBuilder() + try { + return new URIBuilder() .setScheme(dmaapProtocol) .setHost(dmaapHostName) .setPort(dmaapPortNumber) - .setPath(createRequestPath()); - - try { - extendedURI = uriBuilder.build(); - logger.info("Building extended URI: {}", extendedURI); + .setPath(createRequestPath()).build(); } catch (URISyntaxException e) { - logger.error("Exception while building extended URI: {}", e); + throw new RuntimeException("Exception while building extended URI: {}", e); } - - return extendedURI; } private ResponseHandler> dmaapConsumerResponseHandler() { - return httpResponse -> { + return httpResponse -> { final int responseCode = httpResponse.getStatusLine().getStatusCode(); logger.info("Status code of operation: {}", responseCode); final HttpEntity responseEntity = httpResponse.getEntity(); - if (HttpUtils.isSuccessfulResponseCode(responseCode) ) { + if (HttpUtils.isSuccessfulResponseCode(responseCode)) { logger.info("HTTP response successful."); final String dmaapResponse = EntityUtils.toString(responseEntity); return Optional.of(dmaapResponse); } else { String dmaapResponse = responseEntity != null ? EntityUtils.toString(responseEntity) : ""; logger.error("HTTP response not successful : {}", dmaapResponse); - return Optional.of("" + responseCode); + return Optional.of(String.valueOf(responseCode)); } }; } diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/DmaapPublisherRequestDetails.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/DmaapPublisherRequestDetails.java index 6541fe96..a0877feb 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/DmaapPublisherRequestDetails.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/DmaapPublisherRequestDetails.java @@ -28,11 +28,9 @@ import java.util.Optional; @Value.Style(builder = "new") public abstract class DmaapPublisherRequestDetails { - private static final long serialVersionUID = 1L; - @Value.Parameter public abstract String dmaapAPIPath(); @Value.Parameter - public abstract Optional jsonBody(); + public abstract String jsonBody(); } diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImpl.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImpl.java index 17e34ed0..af7534c6 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImpl.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImpl.java @@ -52,7 +52,7 @@ public class ExtendedDmaapProducerHttpClientImpl { private final String dmaapContentType; - ExtendedDmaapProducerHttpClientImpl(DmaapPublisherConfiguration configuration) { + public ExtendedDmaapProducerHttpClientImpl(DmaapPublisherConfiguration configuration) { this.closeableHttpClient = new DmaapHttpClientImpl(configuration).getHttpClient(); this.dmaapHostName = configuration.dmaapHostName(); this.dmaapProtocol = configuration.dmaapProtocol(); @@ -61,7 +61,7 @@ public class ExtendedDmaapProducerHttpClientImpl { this.dmaapContentType = configuration.dmaapContentType(); } - Optional getHttpProducerResponse(DmaapPublisherRequestDetails requestDetails) { + public Optional getHttpProducerResponse(DmaapPublisherRequestDetails requestDetails) { Optional extendedDetails = Optional.empty(); Optional request = createRequest(requestDetails); @@ -74,11 +74,7 @@ public class ExtendedDmaapProducerHttpClientImpl { return extendedDetails; } - - private Boolean isExtendedURINotNull(URI extendedURI) { - return extendedURI != null; - } - + private Optional createStringEntity(Optional jsonBody) { return Optional.of(parseJson(jsonBody).get()); } @@ -95,7 +91,7 @@ public class ExtendedDmaapProducerHttpClientImpl { return stringEntity; } - private Optional createRequest (DmaapPublisherRequestDetails requestDetails) { + private Optional createRequest(DmaapPublisherRequestDetails requestDetails) { Optional request = Optional.empty(); final URI extendedURI = createDmaapPublisherExtendedURI(requestDetails); @@ -112,24 +108,24 @@ public class ExtendedDmaapProducerHttpClientImpl { URI extendedURI = null; final URIBuilder uriBuilder = new URIBuilder() - .setScheme(dmaapProtocol) - .setHost(dmaapHostName) - .setPort(dmaapPortNumber) - .setPath(requestDetails.dmaapAPIPath() + "/" + dmaapTopicName); + .setScheme(dmaapProtocol) + .setHost(dmaapHostName) + .setPort(dmaapPortNumber) + .setPath(requestDetails.dmaapAPIPath() + "/" + dmaapTopicName); try { extendedURI = uriBuilder.build(); - logger.info("Building extended URI: {}",extendedURI); + logger.info("Building extended URI: {}", extendedURI); } catch (URISyntaxException e) { - logger.error("Exception while building extended URI: {}", e); + logger.error("Exception while building extended URI: ", e); } return extendedURI; } private HttpRequestBase createRequest(URI extendedURI, DmaapPublisherRequestDetails requestDetails) { - if (isExtendedURINotNull(extendedURI) && requestDetails.jsonBody().isPresent()) { - return createHttpPost(extendedURI, requestDetails.jsonBody()); + if (extendedURI != null) { + return createHttpPost(extendedURI, Optional.ofNullable(requestDetails.jsonBody())); } else { return null; } @@ -143,7 +139,7 @@ public class ExtendedDmaapProducerHttpClientImpl { } private ResponseHandler> dmaapProducerResponseHandler() { - return httpResponse -> { + return httpResponse -> { final int responseCode = httpResponse.getStatusLine().getStatusCode(); final HttpEntity responseEntity = httpResponse.getEntity(); diff --git a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImplTest.java b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImplTest.java index 21d3e4c2..1df025ca 100644 --- a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImplTest.java +++ b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/consumer/ExtendedDmaapConsumerHttpClientImplTest.java @@ -57,9 +57,9 @@ public class ExtendedDmaapConsumerHttpClientImplTest { when(configurationMock.dmaapUserName()).thenReturn("PRH"); when(configurationMock.dmaapUserPassword()).thenReturn("PRH"); when(configurationMock.dmaapContentType()).thenReturn("application/json"); - when(configurationMock.dmaapTopicName()).thenReturn("pnfReady"); - when(configurationMock.consumerGroup()).thenReturn("consumerGroup"); - when(configurationMock.consumerId()).thenReturn("consumerId"); + when(configurationMock.dmaapTopicName()).thenReturn("unauthenticated.SEC_OTHER_OUTPUT"); + when(configurationMock.consumerGroup()).thenReturn("OpenDCAE-c12"); + when(configurationMock.consumerId()).thenReturn("c12"); objectUnderTest = new ExtendedDmaapConsumerHttpClientImpl(configurationMock); diff --git a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImplTest.java b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImplTest.java index 0560432b..3f64fd5f 100644 --- a/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImplTest.java +++ b/prh-dmaap-client/src/test/java/org/onap/dcaegen2/services/service/producer/ExtendedDmaapProducerHttpClientImplTest.java @@ -62,7 +62,7 @@ public class ExtendedDmaapProducerHttpClientImplTest { when(configurationMock.dmaapTopicName()).thenReturn("pnfReady"); when(requestDetailsMock.dmaapAPIPath()).thenReturn("events"); - when(requestDetailsMock.jsonBody()).thenReturn(Optional.of(JSON_MESSAGE)); + when(requestDetailsMock.jsonBody()).thenReturn(JSON_MESSAGE); objectUnderTest = new ExtendedDmaapProducerHttpClientImpl(configurationMock); @@ -75,7 +75,7 @@ public class ExtendedDmaapProducerHttpClientImplTest { expectedResult = Optional.of(RESPONSE_SUCCESS); when(closeableHttpClientMock.execute(any(HttpPost.class), any(ResponseHandler.class))) - .thenReturn(expectedResult); + .thenReturn(expectedResult); Optional actualResult = objectUnderTest.getHttpProducerResponse(requestDetailsMock); @@ -85,10 +85,10 @@ public class ExtendedDmaapProducerHttpClientImplTest { @Test public void getExtendedDetails_returnsFailure() throws IOException { expectedResult = Optional.of(RESPONSE_FAILURE); - when(closeableHttpClientMock.execute(any(HttpPost.class), any(ResponseHandler.class))). - thenReturn(Optional.empty()); - Optional actualResult = objectUnderTest.getHttpProducerResponse(requestDetailsMock); - Assertions.assertEquals(Optional.empty(),actualResult); + when(closeableHttpClientMock.execute(any(HttpPost.class), any(ResponseHandler.class))) + .thenReturn(Optional.empty()); + Optional actualResult = objectUnderTest.getHttpProducerResponse(requestDetailsMock); + Assertions.assertEquals(Optional.empty(), actualResult); } -- cgit 1.2.3-korg