From b60f265ae3fc2246a77a9f66836f6d45dfc5dfd2 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Wed, 19 Dec 2018 17:48:47 +0000 Subject: Add example policy for HTTPS Added an example of how to configure HTTPS for an Apex policy. Issue-ID: POLICY-1222 Change-Id: Iea8a8accac32f6d25c64a8324e202ad5e6221c7a Signed-off-by: liamfallon (cherry picked from commit 1dff5ebe27cbe79de8f9d798e256d41ecccdaa8c) --- .../carrier/restclient/ApexRestClientConsumer.java | 2 +- .../carrier/restclient/ApexRestClientProducer.java | 6 ++++-- .../restclient/ApexRestClientConusmerTest.java | 22 ++++++++++++---------- .../restclient/ApexRestClientProducerTest.java | 10 +++++++--- 4 files changed, 24 insertions(+), 16 deletions(-) (limited to 'plugins') diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java index 04397d688..5591777eb 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConsumer.java @@ -202,7 +202,7 @@ public class ApexRestClientConsumer implements ApexEventConsumer, Runnable { public void run() { try { final Response response = client.target(restConsumerProperties.getUrl()).request("application/json") - .get(); + .headers(restConsumerProperties.getHttpHeadersAsMultivaluedMap()).get(); // Check that the event request worked if (response.getStatus() != Response.Status.OK.getStatusCode()) { diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java index a7e0ddd52..4113cea4b 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/main/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducer.java @@ -183,9 +183,11 @@ public class ApexRestClientProducer implements ApexEventProducer { private Response sendEventAsRestRequest(final String event) { // We have already checked that it is a PUT or POST request if (RestClientCarrierTechnologyParameters.HttpMethod.POST.equals(restProducerProperties.getHttpMethod())) { - return client.target(restProducerProperties.getUrl()).request("application/json").post(Entity.json(event)); + return client.target(restProducerProperties.getUrl()).request("application/json") + .headers(restProducerProperties.getHttpHeadersAsMultivaluedMap()).post(Entity.json(event)); } else { - return client.target(restProducerProperties.getUrl()).request("application/json").put(Entity.json(event)); + return client.target(restProducerProperties.getUrl()).request("application/json") + .headers(restProducerProperties.getHttpHeadersAsMultivaluedMap()).put(Entity.json(event)); } } diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConusmerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConusmerTest.java index 1498678e9..ae75dd7e5 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConusmerTest.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientConusmerTest.java @@ -147,7 +147,7 @@ public class ApexRestClientConusmerTest { consumerParameters.setCarrierTechnologyParameters(rcctp); rcctp.setUrl("http://some.place.that.does.not/exist"); SupportApexEventReceiver incomingEventReceiver = new SupportApexEventReceiver(); - + try { arcc.init("RestClientConsumer", consumerParameters, incomingEventReceiver); assertEquals(RestClientCarrierTechnologyParameters.HttpMethod.GET, rcctp.getHttpMethod()); @@ -163,6 +163,7 @@ public class ApexRestClientConusmerTest { Mockito.doReturn(Response.Status.BAD_REQUEST.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).get(); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcc.setClient(httpClientMock); @@ -182,7 +183,7 @@ public class ApexRestClientConusmerTest { final String outString = outContent.toString(); System.setOut(stdout); - + assertTrue(outString.contains( "reception of event from URL \"http://some.place.that.does.not/exist\" failed with status code 400")); } @@ -215,6 +216,7 @@ public class ApexRestClientConusmerTest { Mockito.doReturn(Response.Status.OK.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).get(); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcc.setClient(httpClientMock); @@ -231,12 +233,11 @@ public class ApexRestClientConusmerTest { } catch (Exception e) { fail("test should not throw an exception"); } - + final String outString = outContent.toString(); System.setOut(stdout); - - assertTrue(outString.contains( - "received an empty event from URL \"http://some.place.that.does.not/exist\"")); + + assertTrue(outString.contains("received an empty event from URL \"http://some.place.that.does.not/exist\"")); } @Test @@ -268,6 +269,7 @@ public class ApexRestClientConusmerTest { Mockito.doReturn("").when(responseMock).readEntity(String.class); Mockito.doReturn(responseMock).when(builderMock).get(); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcc.setClient(httpClientMock); @@ -284,12 +286,11 @@ public class ApexRestClientConusmerTest { } catch (Exception e) { fail("test should not throw an exception"); } - + final String outString = outContent.toString(); System.setOut(stdout); - - assertTrue(outString.contains( - "received an empty event from URL \"http://some.place.that.does.not/exist\"")); + + assertTrue(outString.contains("received an empty event from URL \"http://some.place.that.does.not/exist\"")); } @Test @@ -321,6 +322,7 @@ public class ApexRestClientConusmerTest { Mockito.doReturn("This is an event").when(responseMock).readEntity(String.class); Mockito.doReturn(responseMock).when(builderMock).get(); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcc.setClient(httpClientMock); diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java index 3ef172427..8f0e0940b 100644 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java +++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restclient/src/test/java/org/onap/policy/apex/plugins/event/carrier/restclient/ApexRestClientProducerTest.java @@ -161,13 +161,14 @@ public class ApexRestClientProducerTest { Mockito.doReturn(Response.Status.OK.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).put(Mockito.any()); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcp.setClient(httpClientMock); try { arcp.sendEvent(123, "EventName", "This is an Event"); arcp.stop(); - } catch (Exception e) { + } catch (Exception ex) { fail("test should not throw an exception"); } } @@ -197,6 +198,7 @@ public class ApexRestClientProducerTest { Mockito.doReturn(Response.Status.OK.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).post(Mockito.any()); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcp.setClient(httpClientMock); @@ -239,6 +241,7 @@ public class ApexRestClientProducerTest { Mockito.doReturn(Response.Status.OK.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).post(Mockito.any()); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcp.setClient(httpClientMock); @@ -250,14 +253,13 @@ public class ApexRestClientProducerTest { } } - @Test public void testApexRestClientProducerPostEventCacheTrace() { MockitoAnnotations.initMocks(this); ch.qos.logback.classic.Logger classicLogger = (ch.qos.logback.classic.Logger) LOGGER; classicLogger.setLevel(Level.TRACE); - + ApexRestClientProducer arcp = new ApexRestClientProducer(); assertNotNull(arcp); @@ -285,6 +287,7 @@ public class ApexRestClientProducerTest { Mockito.doReturn(Response.Status.OK.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).post(Mockito.any()); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcp.setClient(httpClientMock); @@ -321,6 +324,7 @@ public class ApexRestClientProducerTest { Mockito.doReturn(Response.Status.BAD_REQUEST.getStatusCode()).when(responseMock).getStatus(); Mockito.doReturn(responseMock).when(builderMock).post(Mockito.any()); Mockito.doReturn(builderMock).when(targetMock).request("application/json"); + Mockito.doReturn(builderMock).when(builderMock).headers(Mockito.any()); Mockito.doReturn(targetMock).when(httpClientMock).target(rcctp.getUrl()); arcp.setClient(httpClientMock); -- cgit 1.2.3-korg