diff --git a/io/src/main/java/org/gcube/resourcemanagement/manager/io/codeexceptions/WebCodeException.java b/io/src/main/java/org/gcube/resourcemanagement/manager/io/codeexceptions/WebCodeException.java index 8ea0f37..3c18989 100644 --- a/io/src/main/java/org/gcube/resourcemanagement/manager/io/codeexceptions/WebCodeException.java +++ b/io/src/main/java/org/gcube/resourcemanagement/manager/io/codeexceptions/WebCodeException.java @@ -1,7 +1,6 @@ package org.gcube.resourcemanagement.manager.io.codeexceptions; import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** diff --git a/webapp/src/main/java/org/gcube/resourcemanagement/manager/webapp/rs/RMContext.java b/webapp/src/main/java/org/gcube/resourcemanagement/manager/webapp/rs/RMContext.java index ebe416f..fc7315e 100644 --- a/webapp/src/main/java/org/gcube/resourcemanagement/manager/webapp/rs/RMContext.java +++ b/webapp/src/main/java/org/gcube/resourcemanagement/manager/webapp/rs/RMContext.java @@ -48,9 +48,9 @@ public class RMContext { logger.info("Force URL: " + rrURL); ContextHolder holder = new ContextHolder(json); ResponseFromResourceRegistry returned = CreateRequest.fromHolder(holder).forceURL(rrURL).submit(); - if (!returned.wasSuccessful()) { +/* if (!returned.wasSuccessful()) { throw new WebCodeException(new RMContextDoesNotExistException("too bad")); - } + }*/ return this.buildResponse(returned,Status.CREATED,"Context successfully created.","Failed to create the context."); } @@ -65,9 +65,9 @@ public class RMContext { logger.info("Requested to delete context with id {}", uuid); logger.info("Force URL: " + rrURL); ResponseFromResourceRegistry returned = DeleteRequest.fromUUID(UUID.fromString(uuid)).forceURL(rrURL).submit(); - if (!returned.wasSuccessful()) { +/* if (!returned.wasSuccessful()) { throw new WebCodeException(new RMContextDoesNotExistException()); - } + }*/ return this.buildResponse(returned,Status.OK,"Context successfully deleted.","Failed to delete the context."); } diff --git a/webapp/src/test/java/org/gcube/resourcemanagement/manager/webapp/context/RMContextTest.java b/webapp/src/test/java/org/gcube/resourcemanagement/manager/webapp/context/RMContextTest.java index 8650c1b..7c96e8a 100644 --- a/webapp/src/test/java/org/gcube/resourcemanagement/manager/webapp/context/RMContextTest.java +++ b/webapp/src/test/java/org/gcube/resourcemanagement/manager/webapp/context/RMContextTest.java @@ -24,8 +24,9 @@ import org.gcube.informationsystem.impl.utils.ISMapper; import org.gcube.informationsystem.model.entity.Context; import org.gcube.informationsystem.resourceregistry.context.ResourceRegistryContextClient; import org.gcube.informationsystem.resourceregistry.context.ResourceRegistryContextClientImpl; -import org.gcube.resourcemanagement.manager.io.codeexceptions.CodeFinder; +import org.gcube.resourcemanagement.manager.io.codeexceptions.ErrorCode; import org.gcube.resourcemanagement.manager.io.codeexceptions.SerializableErrorEntity; +import org.gcube.resourcemanagement.manager.io.codeexceptions.CodeFinder; import org.gcube.resourcemanagement.manager.io.codeexceptions.deserializer.ErrorEntityManager; import org.gcube.resourcemanagement.manager.io.rs.RMCreateContextCode; import org.gcube.resourcemanagement.manager.io.rs.RMContextDoesNotExistException; @@ -40,7 +41,6 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.BlockJUnit4ClassRunner; import org.junit.runners.MethodSorters; -import org.omg.IOP.ExceptionDetailMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,23 +56,23 @@ import com.fasterxml.jackson.core.JsonProcessingException; public class RMContextTest extends JerseyTest { private final static String context1 = "ContextA"; - + private final static String context2 = "ContextB"; - + private final static String context3 = "ContextC"; public static final UUID context1UUID = UUID.fromString("5f86dc81-2f59-486b-8aa9-3ab5486313c4"); - + public static final UUID context2UUID = UUID.fromString("6f86dc81-2f59-486b-8aa9-3ab5486313c4"); public static final UUID context3UUID = UUID.fromString("7f86dc81-2f59-486b-8aa9-3ab5486313c4"); private final static String RR = "http://manuele-registry.dev.d4science.org/resource-registry"; - - public static String DEFAULT_TEST_SCOPE =""; - + + public static String DEFAULT_TEST_SCOPE = ""; + private static boolean skipTest = false; - + private static final Logger logger = LoggerFactory.getLogger(RMContextTest.class); static { @@ -82,9 +82,9 @@ public class RMContextTest extends JerseyTest { properties.load(input); } catch (IOException e) { skipTest = true; - //throw new RuntimeException(e); + // throw new RuntimeException(e); } - + DEFAULT_TEST_SCOPE = properties.getProperty("DEFAULT_SCOPE_TOKEN"); if (DEFAULT_TEST_SCOPE.isEmpty()) skipTest = true; @@ -143,9 +143,10 @@ public class RMContextTest extends JerseyTest { /** * Test method for * {@link org.gcube.resourcemanagement.manager.webapp.rs.RMContext#create(String)}. - * @throws Exception + * + * @throws Exception */ - @Test(expected = RMContextDoesNotExistException.class) + @Test public void step1_Create() throws Exception { if (skipTest) return; @@ -155,33 +156,38 @@ public class RMContextTest extends JerseyTest { Response create = target("context").queryParam(RMContextPath.FORCE_RRURL_PARAM, RR).request() .post(Entity.entity(ISMapper.marshal(newContext), MediaType.APPLICATION_JSON + ";charset=UTF-8")); assertNotNull(create); - logger.info("RM returned status: " + create.getStatusInfo() ); + logger.info("RM returned status: " + create.getStatusInfo()); if (create.getStatusInfo().getStatusCode() == Status.CREATED.getStatusCode()) { String message = create.readEntity(String.class); logger.info("RM says: " + message); - }else { + } else { assertEquals("Unexpected returned code. Reason: " + create.getStatusInfo().getReasonPhrase(), Status.NOT_ACCEPTABLE.getStatusCode(), create.getStatus()); SerializableErrorEntity entity = create.readEntity(SerializableErrorEntity.class); - //try { + ErrorEntityManager response = new ErrorEntityManager(entity); + if (response.hasException()) { logger.info("about to load " + entity.getExceptionClass()); - ErrorEntityManager response = new ErrorEntityManager(entity); - if (response.hasException()) { - try { - throw response.getException(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - throw e; - } + try { + throw response.getException(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + throw e; } + } else if (response.hasErrorCode()) { + ErrorCode code = response.getErrorCode(); + RMCreateContextCode realCode = CodeFinder.findAndConvert(code, RMCreateContextCode.values()); + assertEquals(RMCreateContextCode.CONTEXT_ALREADY_EXISTS, realCode); + } else { + assertTrue("Invalid error response returned.", true); + } } - + } catch (JsonProcessingException e) { assertFalse("Failed to marshal the context.", false); } } - + /** * Test method for * {@link org.gcube.resourcemanagement.manager.webapp.rs.RMContext#create(java.lang.String)} @@ -194,18 +200,22 @@ public class RMContextTest extends JerseyTest { Context newContext = new ContextImpl(context2, context2UUID); newContext.setParent(new ContextImpl("DoNotExist")); try { - Response create = target(RMContextPath.CONTEXT_ROOT).queryParam(RMContextPath.FORCE_RRURL_PARAM, RR).request() + Response create = target(RMContextPath.CONTEXT_ROOT).queryParam(RMContextPath.FORCE_RRURL_PARAM, RR) + .request() .post(Entity.entity(ISMapper.marshal(newContext), MediaType.APPLICATION_JSON + ";charset=UTF-8")); assertEquals("Unexpected returned code. Reason: " + create.getStatusInfo().getReasonPhrase(), Status.NOT_ACCEPTABLE.getStatusCode(), create.getStatus()); SerializableErrorEntity code = create.readEntity(SerializableErrorEntity.class); - //RMCreateContextCode realCode = CodeFinder.findAndConvert(code.getErrorCode(), RMCreateContextCode.values()); - //assertEquals(RMCreateContextCode.CONTEXT_PARENT_DOES_NOT_EXIST, realCode); + // RMCreateContextCode realCode = + // CodeFinder.findAndConvert(code.getErrorCode(), + // RMCreateContextCode.values()); + // assertEquals(RMCreateContextCode.CONTEXT_PARENT_DOES_NOT_EXIST, + // realCode); } catch (JsonProcessingException e) { assertFalse("Failed to marshal the context.", false); } } - + /** * Test method for * {@link org.gcube.resourcemanagement.manager.webapp.rs.RMContext#create(java.lang.String)} @@ -220,57 +230,60 @@ public class RMContextTest extends JerseyTest { Queries queries = new Queries(); newContext.setParent(context1UUID); try { - Response create = target(RMContextPath.CONTEXT_ROOT).queryParam(RMContextPath.FORCE_RRURL_PARAM, RR).request() + Response create = target(RMContextPath.CONTEXT_ROOT).queryParam(RMContextPath.FORCE_RRURL_PARAM, RR) + .request() .post(Entity.entity(ISMapper.marshal(newContext), MediaType.APPLICATION_JSON + ";charset=UTF-8")); assertNotNull(create); if (create.getStatusInfo().getStatusCode() == Status.CREATED.getStatusCode()) { String message = create.readEntity(String.class); System.out.println("RM says: " + message); - }else { + } else { assertEquals("Unexpected returned code. Reason: " + create.getStatusInfo().getReasonPhrase(), Status.NOT_ACCEPTABLE.getStatusCode(), create.getStatus()); SerializableErrorEntity code = create.readEntity(SerializableErrorEntity.class); - //RMCreateContextCode realCode = CodeFinder.findAndConvert(code.getErrorCode(), RMCreateContextCode.values()); - //assertEquals(RMCreateContextCode.CONTEXT_ALREADY_EXISTS, realCode); + // RMCreateContextCode realCode = + // CodeFinder.findAndConvert(code.getErrorCode(), + // RMCreateContextCode.values()); + // assertEquals(RMCreateContextCode.CONTEXT_ALREADY_EXISTS, + // realCode); } } catch (JsonProcessingException e) { assertFalse("Failed to marshal the context.", false); } } - + /** * Test method for * {@link org.gcube.resourcemanagement.manager.webapp.rs.RMContext#delete(String, String)} - * @throws Exception + * + * @throws Exception */ @Test public void step4_Delete() throws Exception { if (skipTest) return; - Response delete = target(RMContextPath.CONTEXT_ROOT).path(context2UUID.toString()) - .queryParam(RMContextPath.FORCE_RRURL_PARAM, RR) - .request().delete(); - assertNotNull(delete); - if (delete.getStatusInfo().getStatusCode() == Status.OK.getStatusCode()) { - - }else { - assertEquals("Unexpected returned code. Reason: " + delete.getStatusInfo().getReasonPhrase(), - Status.NOT_ACCEPTABLE.getStatusCode(), delete.getStatus()); - SerializableErrorEntity entity = delete.readEntity(SerializableErrorEntity.class); - ErrorEntityManager response = new ErrorEntityManager(entity); - if (response.hasException()) { - try { - throw response.getException(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - throw e; - } + Response delete = target(RMContextPath.CONTEXT_ROOT).path(context2UUID.toString()) + .queryParam(RMContextPath.FORCE_RRURL_PARAM, RR).request().delete(); + assertNotNull(delete); + if (delete.getStatusInfo().getStatusCode() == Status.OK.getStatusCode()) { + + } else { + assertEquals("Unexpected returned code. Reason: " + delete.getStatusInfo().getReasonPhrase(), + Status.NOT_ACCEPTABLE.getStatusCode(), delete.getStatus()); + SerializableErrorEntity entity = delete.readEntity(SerializableErrorEntity.class); + ErrorEntityManager response = new ErrorEntityManager(entity); + if (response.hasException()) { + try { + throw response.getException(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + throw e; } } + } } - /** * Test method for @@ -282,8 +295,7 @@ public class RMContextTest extends JerseyTest { return; try { Response delete = target(RMContextPath.CONTEXT_ROOT).path(context1UUID.toString()) - .queryParam(RMContextPath.FORCE_RRURL_PARAM, RR) - .request().delete(); + .queryParam(RMContextPath.FORCE_RRURL_PARAM, RR).request().delete(); assertNotNull(delete); assertEquals("Unexpected returned code. Reason: " + delete.getStatusInfo().getReasonPhrase(), Status.OK.getStatusCode(), delete.getStatus());