From 45ac9feb0b1ce97f951bff6f055bd114a222f0c9 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Sun, 9 Oct 2016 14:06:45 +0000 Subject: [PATCH] added tests for testing with jetty and junit git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-catalogue/grsf-publisher-ws@132963 82a268e6-3cf1-43bd-a215-b396298e98cf --- pom.xml | 6 +++ .../services/GrsfPublisherFisheryService.java | 17 +++--- .../utils/AssociationToGroupThread.java | 3 +- .../grsf_publish_ws/JJerseyTest.java | 53 +++++++++++++++++++ .../grsf_publish_ws/JTests.java | 1 - 5 files changed, 72 insertions(+), 8 deletions(-) create mode 100644 src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java diff --git a/pom.xml b/pom.xml index e2e7e0e..d9c17cf 100644 --- a/pom.xml +++ b/pom.xml @@ -112,6 +112,12 @@ common-smartgears provided + + org.glassfish.jersey.test-framework.providers + jersey-test-framework-provider-jetty + 2.23.2 + test + diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java index dd251c7..df7ab86 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/services/GrsfPublisherFisheryService.java @@ -1,13 +1,17 @@ package org.gcube.data_catalogue.grsf_publish_ws.services; +import java.util.UUID; + import javax.ws.rs.Consumes; 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 javax.ws.rs.core.Response.Status; import org.gcube.data_catalogue.grsf_publish_ws.json.input.FisheryRecord; +import org.gcube.data_catalogue.grsf_publish_ws.json.output.ResponseCreationBean; import org.slf4j.LoggerFactory; /** @@ -16,21 +20,22 @@ import org.slf4j.LoggerFactory; */ @Path("fishery/") public class GrsfPublisherFisheryService { - + // Logger private static final org.slf4j.Logger logger = LoggerFactory.getLogger(GrsfPublisherFisheryService.class); - + @POST @Path("publish-product") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response publishFishery(FisheryRecord record){ - + logger.info("Incoming request for creating a fishery record"); - + System.out.println(record); + // TODO - return null; - + return Response.status(Status.CREATED).entity(new ResponseCreationBean(UUID.randomUUID().toString(), null)).build(); + } } diff --git a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/AssociationToGroupThread.java b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/AssociationToGroupThread.java index d288dc8..82f75fc 100644 --- a/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/AssociationToGroupThread.java +++ b/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/utils/AssociationToGroupThread.java @@ -45,8 +45,9 @@ public class AssociationToGroupThread extends Thread { // check the user has enough privileges to associate it if(catalogue.checkRoleIntoGroup(username, groupTitle, RolesCkanGroupOrOrg.MEMBER)){ - logger.warn("The user " + username + " has no enough priviliges to associate the dataset into group " + groupTitle); + logger.warn("The user " + username + " has not enough privileges to associate the dataset into group " + groupTitle); continue; + } boolean putIntoGroup = catalogue.assignDatasetToGroup(groupTitle, datasetId, catalogue.getApiKeyFromUsername(username)); diff --git a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java new file mode 100644 index 0000000..1acbde2 --- /dev/null +++ b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JJerseyTest.java @@ -0,0 +1,53 @@ +package org.gcube.data_catalogue.grsf_publish_ws; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import org.gcube.data_catalogue.grsf_publish_ws.json.input.FisheryRecord; +import org.gcube.data_catalogue.grsf_publish_ws.json.input.StockRecord; +import org.gcube.data_catalogue.grsf_publish_ws.services.GrsfPublisherFisheryService; +import org.gcube.data_catalogue.grsf_publish_ws.services.GrsfPublisherStockService; +import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Source; +import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Status; +import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Type; +import org.glassfish.jersey.server.ResourceConfig; +import org.glassfish.jersey.test.JerseyTest; + +public class JJerseyTest extends JerseyTest{ + + //@Override + protected Application configure() { + return new ResourceConfig(GrsfPublisherFisheryService.class, GrsfPublisherStockService.class); + } + + //@Test + public void testFishery() { + FisheryRecord recordFishery = new FisheryRecord(); + recordFishery.setAuthor("Costantino Perciante"); + recordFishery.setAuthorContact("costantino.perciante@isti.cnr.it"); + recordFishery.setType(Type.Fishing_Description); + recordFishery.setDatabaseSources(Source.FIRMS); + recordFishery.setStatus(Status.Pending); + recordFishery.setSpatial( + "{\"type\":\"Polygon\",\"coordinates\":[[[2.05827, 49.8625],[2.05827, 55.7447], [-6.41736, 55.7447], [-6.41736, 49.8625], [2.05827, 49.8625]]]}"); + + Response res = target("fishery").path("/publish-product").request().post(Entity.entity(recordFishery, MediaType.APPLICATION_JSON)); + System.out.println("Result is " + res.readEntity(String.class)); + } + + //@Test + public void testStock() { + StockRecord stock = new StockRecord(); + stock.setAuthor("Costantino Perciante"); + stock.setAuthorContact("costantino.perciante@isti.cnr.it"); + stock.setType(Type.Fishing_Description); + stock.setDatabaseSources(Source.FIRMS); + stock.setStatus(Status.Pending); + + Response res = target("stock").path("/publish-product").request().post(Entity.entity(stock, MediaType.APPLICATION_JSON)); + + System.out.println("Result is " + res); + } +} diff --git a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java index 816249f..851f8bb 100644 --- a/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java +++ b/src/test/java/org/gcube/data_catalogue/grsf_publish_ws/JTests.java @@ -127,5 +127,4 @@ public class JTests { FisheryRecord converted = mapper.readValue(jsonInString, recordFishery.getClass()); System.out.println(converted); } - }