From 9f15e1987dc9fc6bb8196c415b817b3f1cf6bd5f Mon Sep 17 00:00:00 2001 From: Jorge Hernandez Date: Tue, 15 Jan 2019 13:28:16 -0600 Subject: Add post and delete http client methods Additional clean up for sonars have also been added for the classes that have been modified Issue-ID: POLICY-1367 Change-Id: Ie97d9057273e89850420a7c1b5b2d275709bdfd0 Signed-off-by: Jorge Hernandez --- .../endpoints/http/server/test/HttpClientTest.java | 114 +++++++++++---------- .../http/server/test/RestEchoService.java | 23 ++++- 2 files changed, 82 insertions(+), 55 deletions(-) (limited to 'policy-endpoints/src/test/java/org/onap') diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/HttpClientTest.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/HttpClientTest.java index c5204ae3..f15d68e9 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/HttpClientTest.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/HttpClientTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2018 Samsung Electronics Co., Ltd. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -22,18 +22,17 @@ package org.onap.policy.common.endpoints.http.server.test; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import java.io.IOException; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Properties; - import javax.ws.rs.client.Entity; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; @@ -43,12 +42,8 @@ import org.onap.policy.common.endpoints.http.server.HttpServletServer; import org.onap.policy.common.endpoints.http.server.internal.JettyJerseyServer; import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties; import org.onap.policy.common.utils.network.NetworkUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class HttpClientTest { - private static final Logger logger = LoggerFactory.getLogger(HttpClientTest.class); - private static final HashMap savedValuesMap = new HashMap<>(); /** @@ -59,8 +54,6 @@ public class HttpClientTest { */ @BeforeClass public static void setUp() throws InterruptedException, IOException { - logger.info("-- setup() --"); - /* echo server - http + no auth */ final HttpServletServer echoServerNoAuth = @@ -124,8 +117,6 @@ public class HttpClientTest { */ @AfterClass public static void tearDown() { - logger.info("-- tearDown() --"); - HttpServletServer.factory.destroy(); HttpClient.factory.destroy(); @@ -166,80 +157,85 @@ public class HttpClientTest { @Test public void testHttpGetNoAuthClient() throws Exception { - logger.info("-- testHttpNoAuthClient() --"); - - final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName("testHttpNoAuthClient") - .useHttps(false).allowSelfSignedCerts(false).hostname("localhost").port(6666).basePath("junit/echo") - .userName(null).password(null).managed(true).build()); + final HttpClient client = getNoAuthHttpClient("testHttpNoAuthClient", false, + 6666); final Response response = client.get("hello"); final String body = HttpClient.getBody(response, String.class); - assertTrue(response.getStatus() == 200); - assertTrue(body.equals("hello")); + assertEquals(200, response.getStatus()); + assertEquals("hello", body); } @Test public void testHttpPutNoAuthClient() throws Exception { - logger.info("-- testHttpNoAuthClient() --"); - - final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName("testHttpNoAuthClient") - .useHttps(false).allowSelfSignedCerts(false).hostname("localhost").port(6666).basePath("junit/echo") - .userName(null).password(null).managed(true).build()); + final HttpClient client = getNoAuthHttpClient("testHttpNoAuthClient", false, 6666); Entity entity = Entity.entity(new MyEntity("myValue"), MediaType.APPLICATION_JSON); final Response response = client.put("hello", entity, Collections.emptyMap()); final String body = HttpClient.getBody(response, String.class); - assertTrue(response.getStatus() == 200); - assertTrue(body.equals("hello:{myParameter=myValue}")); + assertEquals(200, response.getStatus()); + assertEquals("PUT:hello:{myParameter=myValue}", body); } @Test - public void testHttpGetAuthClient() throws Exception { - logger.info("-- testHttpAuthClient() --"); + public void testHttpPostNoAuthClient() throws Exception { + final HttpClient client = getNoAuthHttpClient("testHttpNoAuthClient", false, + 6666); - final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName("testHttpAuthClient") - .useHttps(true).allowSelfSignedCerts(true).hostname("localhost").port(6667).basePath("junit/echo") - .userName("x").password("y").managed(true).build()); + Entity entity = Entity.entity(new MyEntity("myValue"), MediaType.APPLICATION_JSON); + final Response response = client.post("hello", entity, Collections.emptyMap()); + final String body = HttpClient.getBody(response, String.class); + + assertEquals(200, response.getStatus()); + assertEquals("POST:hello:{myParameter=myValue}", body); + } + + @Test + public void testHttpDeletetNoAuthClient() throws Exception { + final HttpClient client = getNoAuthHttpClient("testHttpNoAuthClient", false, + 6666); + + final Response response = client.delete("hello", Collections.emptyMap()); + final String body = HttpClient.getBody(response, String.class); + + assertEquals(200, response.getStatus()); + assertEquals("DELETE:hello", body); + } + + @Test + public void testHttpGetAuthClient() throws Exception { + final HttpClient client = getAuthHttpClient(); final Response response = client.get("hello"); final String body = HttpClient.getBody(response, String.class); - assertTrue(response.getStatus() == 200); - assertTrue(body.equals("hello")); + assertEquals(200, response.getStatus()); + assertEquals("hello", body); } @Test public void testHttpPutAuthClient() throws Exception { - logger.info("-- testHttpAuthClient() --"); - - final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName("testHttpAuthClient") - .useHttps(true).allowSelfSignedCerts(true).hostname("localhost").port(6667).basePath("junit/echo") - .userName("x").password("y").managed(true).build()); + final HttpClient client = getAuthHttpClient(); Entity entity = Entity.entity(new MyEntity("myValue"), MediaType.APPLICATION_JSON); final Response response = client.put("hello", entity, Collections.emptyMap()); final String body = HttpClient.getBody(response, String.class); - assertTrue(response.getStatus() == 200); - assertTrue(body.equals("hello:{myParameter=myValue}")); + assertEquals(200, response.getStatus()); + assertEquals("PUT:hello:{myParameter=myValue}", body); } @Test public void testHttpAuthClient401() throws Exception { - logger.info("-- testHttpAuthClient401() --"); - - final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName("testHttpAuthClient401") - .useHttps(true).allowSelfSignedCerts(true).hostname("localhost").port(6667).basePath("junit/echo") - .userName(null).password(null).managed(true).build()); + final HttpClient client = getNoAuthHttpClient("testHttpAuthClient401", true, + 6667); final Response response = client.get("hello"); - assertEquals(new Integer(response.getStatus()).toString(), response.getStatus(), 401); + assertEquals(401, response.getStatus()); } @Test public void testHttpAuthClientProps() throws Exception { - logger.info("-- testHttpAuthClientProps() --"); - final Properties httpProperties = new Properties(); httpProperties.setProperty(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES, "PAP,PDP"); @@ -309,10 +305,10 @@ public class HttpClientTest { + PolicyEndPointProperties.PROPERTY_MANAGED_SUFFIX, "true"); final List servers = HttpServletServer.factory.build(httpProperties); - assertTrue(servers.size() == 2); + assertEquals(2, servers.size()); final List clients = HttpClient.factory.build(httpProperties); - assertTrue(clients.size() == 2); + assertEquals(2, clients.size()); for (final HttpServletServer server : servers) { server.waitedStart(10000); @@ -320,13 +316,27 @@ public class HttpClientTest { final HttpClient clientPap = HttpClient.factory.get("PAP"); final Response response = clientPap.get(); - assertTrue(response.getStatus() == 200); + assertEquals(200, response.getStatus()); final HttpClient clientPdp = HttpClient.factory.get("PDP"); final Response response2 = clientPdp.get("test"); - assertTrue(response2.getStatus() == 500); + assertEquals(500, response2.getStatus()); + } + + private HttpClient getAuthHttpClient() throws KeyManagementException, NoSuchAlgorithmException { + return HttpClient.factory.build(BusTopicParams.builder().clientName("testHttpAuthClient") + .useHttps(true).allowSelfSignedCerts(true).hostname("localhost").port(6667).basePath("junit/echo") + .userName("x").password("y").managed(true).build()); } + private HttpClient getNoAuthHttpClient(String clientName, boolean https, int port) + throws KeyManagementException, NoSuchAlgorithmException { + return HttpClient.factory.build(BusTopicParams.builder().clientName(clientName) + .useHttps(https).allowSelfSignedCerts(https).hostname("localhost").port(port).basePath("junit/echo") + .userName(null).password(null).managed(true).build()); + } + + class MyEntity { private String myParameter; diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/RestEchoService.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/RestEchoService.java index 56ed8933..5d9b14d3 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/RestEchoService.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/http/server/test/RestEchoService.java @@ -1,8 +1,8 @@ /*- * ============LICENSE_START======================================================= - * policy-endpoints + * ONAP * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 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. @@ -23,7 +23,9 @@ package org.onap.policy.common.endpoints.http.server.test; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import javax.ws.rs.DELETE; import javax.ws.rs.GET; +import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -48,7 +50,22 @@ public class RestEchoService { @Produces(MediaType.TEXT_PLAIN) @ApiOperation(value = "echoes back whatever received") public String echoPut(@PathParam("word") String word, Object entity) { - return word + ":" + entity.toString(); + return "PUT:" + word + ":" + entity.toString(); } + @POST + @Path("{word}") + @Produces(MediaType.TEXT_PLAIN) + @ApiOperation(value = "echoes back whatever received") + public String echoPost(@PathParam("word") String word, Object entity) { + return "POST:" + word + ":" + entity.toString(); + } + + @DELETE + @Path("{word}") + @Produces(MediaType.TEXT_PLAIN) + @ApiOperation(value = "echoes back whatever received") + public String echoDelete(@PathParam("word") String word) { + return "DELETE:" + word; + } } -- cgit 1.2.3-korg