From 1a3bd0f99e0d351d14fee8ce802dbf89b4193ee2 Mon Sep 17 00:00:00 2001 From: Konstantin Blagov Date: Thu, 19 May 2016 18:32:20 +0200 Subject: [PATCH] Test coverage increasing for iovisor.restclient Change-Id: I931a58b7386680bf79bdec6860f1550bb5f03bb9 Signed-off-by: Konstantin Blagov --- renderers/iovisor/pom.xml | 11 +- .../renderer/restclient/RestClientTest.java | 107 +++++++++++++++++- 2 files changed, 111 insertions(+), 7 deletions(-) mode change 100644 => 100755 renderers/iovisor/pom.xml mode change 100644 => 100755 renderers/iovisor/src/test/java/org/opendaylight/groupbasedpolicy/renderer/restclient/RestClientTest.java diff --git a/renderers/iovisor/pom.xml b/renderers/iovisor/pom.xml old mode 100644 new mode 100755 index 0404347b4..12d7f17e9 --- a/renderers/iovisor/pom.xml +++ b/renderers/iovisor/pom.xml @@ -1,7 +1,7 @@ - @@ -87,6 +87,11 @@ powermock-api-mockito test + + com.sun.jersey.jersey-test-framework + jersey-test-framework-grizzly2 + test + diff --git a/renderers/iovisor/src/test/java/org/opendaylight/groupbasedpolicy/renderer/restclient/RestClientTest.java b/renderers/iovisor/src/test/java/org/opendaylight/groupbasedpolicy/renderer/restclient/RestClientTest.java old mode 100644 new mode 100755 index eab0c1a66..a33b83ced --- a/renderers/iovisor/src/test/java/org/opendaylight/groupbasedpolicy/renderer/restclient/RestClientTest.java +++ b/renderers/iovisor/src/test/java/org/opendaylight/groupbasedpolicy/renderer/restclient/RestClientTest.java @@ -8,19 +8,118 @@ package org.opendaylight.groupbasedpolicy.renderer.restclient; +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; import java.util.List; +import com.sun.jersey.api.container.grizzly2.GrizzlyServerFactory; +import com.sun.jersey.api.core.ClassNamesResourceConfig; +import com.sun.jersey.api.core.ResourceConfig; +import com.sun.jersey.test.framework.AppDescriptor; +import com.sun.jersey.test.framework.JerseyTest; +import com.sun.jersey.test.framework.WebAppDescriptor; +import org.glassfish.grizzly.http.server.HttpServer; +import org.junit.AfterClass; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.groupbasedpolicy.renderer.iovisor.restclient.RestClient; -import com.google.common.collect.ImmutableList; - -public class RestClientTest { +public class RestClientTest extends JerseyTest { private RestClient client; private String uri; - private String resolvedPolicy = + private static String resolvedPolicy = " { \"resolved-policy-uri\" : \"/restconf/operational/resolved-policy:resolved-policies/resolved-policy/tenant-red/client/tenant-red/webserver/\" } "; + private static final String BASE_URI = "http://localhost"; + private static final int BASE_PORT = 1234; + private static HttpServer server; + + private static HttpServer startServer() throws IOException { + final ResourceConfig resourceConfig = new ClassNamesResourceConfig(dumbServer.class); + HttpServer httpServer = null; + httpServer = GrizzlyServerFactory.createHttpServer(URI.create(BASE_URI + ":" + BASE_PORT), resourceConfig); + return httpServer; + } + + @BeforeClass + public static void setUpClass() throws IOException { + server = startServer(); + } + + @AfterClass + public static void tearDownClass() { + if (server != null && server.isStarted()) + server.stop(); + } + + @Before + public void init() { + client = new RestClient("http://localhost:1234"); + } + + @Test + public void testResolvedPoliciesJSON_coverage() { + client.new ResolvedPoliciesJSON("string"); + + List uris = new ArrayList<>(); + uris.add("string1"); + uris.add("string2"); + client.new ResolvedPoliciesJSON(uris); + } + + @Test + public void testGet_coverage() { + client.get("/"); + client.get("/warning"); + client.get("/error"); + } + + @Test + public void testPost_coverage() { + client.post("/", "json"); + } + + @Override + protected AppDescriptor configure() { + return new WebAppDescriptor.Builder().build(); + } + + @Path("/") + public static class dumbServer { + + @GET + @Produces(MediaType.APPLICATION_JSON) + public Response get200() { + return Response.status(Response.Status.OK).entity(resolvedPolicy).build(); + } + + @POST + @Consumes(MediaType.APPLICATION_JSON) + public Response post200(String json) { + return Response.status(Response.Status.OK).build(); + } + + @Path("/warning") + @GET + public Response get202() { + return Response.status(Response.Status.ACCEPTED).build(); + } + + @Path("/error") + @GET + public Response get404() { + return Response.status(Response.Status.NOT_FOUND).build(); + } + + } } -- 2.36.6