Fixing tests
This commit is contained in:
parent
cdd6c121e1
commit
df3d81d2bd
|
@ -239,10 +239,6 @@ public class ERManagementTest extends ContextTest {
|
|||
Assert.assertTrue(lastUpdateBy.compareTo(HeaderUtility.getUser())==0);
|
||||
}
|
||||
|
||||
if(header.getCreationTime()!=null) {
|
||||
Assert.assertTrue(creationTime.equals(header.getCreationTime()));
|
||||
}
|
||||
|
||||
if(header.getLastUpdateTime()!=null) {
|
||||
Assert.assertTrue(lastUpdateTime.after(header.getLastUpdateTime()));
|
||||
}
|
||||
|
@ -355,6 +351,11 @@ public class ERManagementTest extends ContextTest {
|
|||
return createResource(hostingNode);
|
||||
}
|
||||
|
||||
public static Configuration createConfiguration() throws Exception {
|
||||
Configuration configuration = ERManagementTest.instantiateValidConfiguration();
|
||||
return createResource(configuration);
|
||||
}
|
||||
|
||||
public static Map<String, Resource> createHostingNodeAndEService() throws Exception {
|
||||
Map<String, Resource> map = new HashMap<>();
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ import org.gcube.informationsystem.model.reference.entities.Resource;
|
|||
import org.gcube.informationsystem.model.reference.relations.ConsistsOf;
|
||||
import org.gcube.informationsystem.resourceregistry.ContextTest;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resource.ResourceAlreadyPresentException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaViolationException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.utils.Utility;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.FacetManagement;
|
||||
|
@ -38,33 +39,22 @@ import org.junit.Test;
|
|||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class InvalidInstancesTest extends ContextTest {
|
||||
public class InvalidOperationTest extends ContextTest {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(InvalidInstancesTest.class);
|
||||
private static Logger logger = LoggerFactory.getLogger(InvalidOperationTest.class);
|
||||
|
||||
public static final String ESERVICE = SmartgearResourcesTest.ESERVICE;
|
||||
public static final String ACTIVATES = "{\"header\": {\"@class\": \"Header\",\"creator\": \"luca.frosini\",\"creationTime\": \"2021-02-23 16:45:58.358 +0100\",\"modifiedBy\": \"luca.frosini\",\"uuid\": \"83e9ece1-326c-4d24-a515-0fc6e68f31ef\",\"lastUpdateTime\": \"2021-02-23 16:45:58.358 +0100\"},\"propagationConstraint\": {\"@class\": \"PropagationConstraint\",\"add\": \"propagate\",\"remove\": \"cascade\"},\"@class\": \"Activates\",\"@superClasses\": [\"IsRelatedTo\"],\"source\": {\"header\": {\"@class\": \"Header\",\"creator\": \"luca.frosini\",\"creationTime\": \"2021-02-23 16:45:58.297 +0100\",\"modifiedBy\": \"luca.frosini\",\"uuid\": \"bf665e49-7c54-4984-bafe-a021757a7423\",\"lastUpdateTime\": \"2021-02-23 16:45:58.297 +0100\"},\"@class\": \"Configuration\"},\"target\": {\"header\": {\"@class\": \"Header\",\"creator\": \"luca.frosini\",\"creationTime\": \"2021-02-23 16:45:58.128 +0100\",\"modifiedBy\": \"luca.frosini\",\"uuid\": \"3ace4bd0-e5cd-49a3-97a8-a0a9468ce6d4\",\"lastUpdateTime\": \"2021-02-23 16:45:58.128 +0100\"},\"@class\": \"EService\"}}";
|
||||
public static final String CONFIGURATION = "{\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.382 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"bf665e49-7c54-4984-bafe-a021757a7423\",\"lastUpdateTime\":\"2021-02-23 16:45:58.382 +0100\"},\"@class\":\"Configuration\",\"@superClasses\":[\"ConfigurationTemplate\",\"GCubeResource\",\"Resource\"],\"consistsOf\":[{\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.378 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"2233f303-497f-433d-9338-6ca16de34c1a\",\"lastUpdateTime\":\"2021-02-23 16:45:58.378 +0100\"},\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"add\":\"propagate\",\"remove\":\"cascadeWhenOrphan\"},\"@class\":\"IsIdentifiedBy\",\"@superClasses\":[\"ConsistsOf\"],\"source\":{\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.382 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"bf665e49-7c54-4984-bafe-a021757a7423\",\"lastUpdateTime\":\"2021-02-23 16:45:58.382 +0100\"},\"@class\":\"Configuration\",\"@superClasses\":[\"ConfigurationTemplate\",\"GCubeResource\",\"Resource\"]},\"target\":{\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.375 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"5efc4c1f-f784-4682-a694-896bd7a3f321\",\"lastUpdateTime\":\"2021-02-23 16:45:58.375 +0100\"},\"type\":\"STRING\",\"persistent\":\"false\",\"value\":\"TEST\",\"@class\":\"IdentifierFacet\",\"@superClasses\":[\"ConsistsOf\"]}},{\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.381 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"15055c47-32a1-412c-b6d8-c0d4c831cb95\",\"lastUpdateTime\":\"2021-02-23 16:45:58.381 +0100\"},\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"add\":\"propagate\",\"remove\":\"cascadeWhenOrphan\"},\"@class\":\"ConsistsOf\",\"@superClasses\":[\"ConsistsOf\"],\"source\":{\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.382 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"bf665e49-7c54-4984-bafe-a021757a7423\",\"lastUpdateTime\":\"2021-02-23 16:45:58.382 +0100\"},\"@class\":\"Configuration\",\"@superClasses\":[\"ConfigurationTemplate\",\"GCubeResource\",\"Resource\"]},\"target\":{\"name\":\"test\",\"header\":{\"@class\":\"Header\",\"creator\":\"luca.frosini\",\"creationTime\":\"2021-02-23 16:45:58.380 +0100\",\"modifiedBy\":\"luca.frosini\",\"uuid\":\"9b71f04c-6f5d-4133-87aa-f37445e206b6\",\"lastUpdateTime\":\"2021-02-23 16:45:58.380 +0100\"},\"value\":\"test\",\"@class\":\"SimplePropertyFacet\",\"@superClasses\":[\"ConsistsOf\"]}}]}";
|
||||
public static final String ACTIVATES = "{\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"add\":\"propagate\",\"remove\":\"cascade\"},\"@class\":\"Activates\",\"source\":{\"header\":{\"@class\":\"Header\",\"uuid\":\"CONFIGURATION_UUID\"},\"@class\":\"Configuration\"},\"target\":{\"header\":{\"@class\":\"Header\",\"uuid\":\"ESERVICE_UUID\"},\"@class\":\"EService\"}}";
|
||||
public static final String ACTOR = "{\"@class\":\"Actor\",\"header\":null,\"consistsOf\":[{\"@class\":\"IsIdentifiedBy\",\"header\":null,\"propagationConstraint\":{\"@class\":\"PropagationConstraint\",\"remove\":\"cascadeWhenOrphan\",\"add\":\"propagate\"},\"source\":{\"@class\":\"Actor\",\"header\":null},\"target\":{\"@class\":\"ContactFacet\",\"header\":null,\"title\":\"Dr.\",\"name\":\"Frosini\",\"middleName\":null,\"surname\":null,\"eMail\":\"luca.frosini@isti.cnr.it\"}}],\"isRelatedTo\":[]}";
|
||||
|
||||
@Test(expected = SchemaViolationException.class)
|
||||
public void createInvalidIsRealtedTo() throws Exception {
|
||||
|
||||
ResourceManagement configurationManagement = new ResourceManagement();
|
||||
ResourceManagement eServiceManagement = new ResourceManagement();
|
||||
Configuration configuration = ERManagementTest.createConfiguration();
|
||||
EService eService = ERManagementTest.createEService();
|
||||
try {
|
||||
configurationManagement.setElementType(Configuration.NAME);
|
||||
configurationManagement.setJson(CONFIGURATION);
|
||||
configurationManagement.create();
|
||||
|
||||
eServiceManagement.setElementType(EService.NAME);
|
||||
eServiceManagement.setJson(ESERVICE);
|
||||
eServiceManagement.create();
|
||||
|
||||
/*
|
||||
* Trying to create a relation activates between a Configuration and EService
|
||||
* The creation MUST fails raising SchemaViolationException because the
|
||||
* Activates relation is between two Service
|
||||
* Activates relation is between two Service isntaces
|
||||
*
|
||||
* The only way to try to create it is using static string because Java classes
|
||||
* already deny to create and instance of Activates
|
||||
|
@ -73,14 +63,26 @@ public class InvalidInstancesTest extends ContextTest {
|
|||
*/
|
||||
IsRelatedToManagement isRelatedToManagement = new IsRelatedToManagement();
|
||||
isRelatedToManagement.setElementType(Activates.NAME);
|
||||
isRelatedToManagement.setJson(ACTIVATES);
|
||||
String json = ACTIVATES.replace("CONFIGURATION_UUID", configuration.getHeader().getUUID().toString());
|
||||
json = json.replace("ESERVICE_UUID", eService.getHeader().getUUID().toString());
|
||||
isRelatedToManagement.setJson(json);
|
||||
isRelatedToManagement.create();
|
||||
}finally {
|
||||
configurationManagement.delete();
|
||||
eServiceManagement.delete();
|
||||
ERManagementTest.deleteResource(configuration);
|
||||
ERManagementTest.deleteResource(eService);
|
||||
}
|
||||
}
|
||||
|
||||
@Test(expected = ResourceAlreadyPresentException.class)
|
||||
public void testRecreate() throws Exception {
|
||||
EService eService = ERManagementTest.createEService();
|
||||
try {
|
||||
ERManagementTest.createResource(eService);
|
||||
}finally {
|
||||
ERManagementTest.deleteResource(eService);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Test(expected = SchemaViolationException.class)
|
||||
public void testCreateStandAloneFacet() throws Exception {
|
File diff suppressed because one or more lines are too long
|
@ -8,7 +8,6 @@ import java.util.Map;
|
|||
import java.util.UUID;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
||||
import org.gcube.common.authorization.client.exceptions.ObjectNotFound;
|
||||
import org.gcube.informationsystem.base.reference.IdentifiableElement;
|
||||
import org.gcube.informationsystem.context.reference.entities.Context;
|
||||
import org.gcube.informationsystem.model.impl.properties.PropagationConstraintImpl;
|
||||
|
@ -18,16 +17,11 @@ import org.gcube.informationsystem.model.reference.properties.PropagationConstra
|
|||
import org.gcube.informationsystem.model.reference.relations.ConsistsOf;
|
||||
import org.gcube.informationsystem.resourceregistry.ContextTest;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.AvailableInAnotherContextException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.context.ContextNotFoundException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resource.ResourceAvailableInAnotherContextException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resource.ResourceNotFoundException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.relation.RelationAvailableInAnotherContextException;
|
||||
import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.ERManagementTest;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.SmartgearResourcesTest;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagement;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.base.ElementManagementUtility;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.ResourceManagement;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.relations.IsRelatedToManagement;
|
||||
import org.gcube.informationsystem.utils.ElementMapper;
|
||||
|
@ -170,16 +164,7 @@ public class BasicTest extends MultiContextTest {
|
|||
|
||||
@Test
|
||||
public void testCreateEServiceHostingNode() throws Exception {
|
||||
EService eService = ERManagementTest.instantiateValidEService();
|
||||
|
||||
ResourceManagement resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setElementType(EService.NAME);
|
||||
resourceManagement.setJson(ElementMapper.marshal(eService));
|
||||
|
||||
String json = resourceManagement.create();
|
||||
logger.debug("Created : {}", json);
|
||||
eService = ElementMapper.unmarshal(EService.class, json);
|
||||
logger.debug("Unmarshalled {} {}", EService.NAME, eService);
|
||||
EService eService = ERManagementTest.createEService();
|
||||
|
||||
Map<UUID, IdentifiableElement> eServiceInstances = new HashMap<>();
|
||||
eServiceInstances.put(eService.getHeader().getUUID(), eService);
|
||||
|
@ -188,16 +173,7 @@ public class BasicTest extends MultiContextTest {
|
|||
eServiceInstances.put(consistsOf.getTarget().getHeader().getUUID(), consistsOf.getTarget());
|
||||
}
|
||||
|
||||
HostingNode hostingNode = ERManagementTest.instantiateValidHostingNode();
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setElementType(HostingNode.NAME);
|
||||
resourceManagement.setJson(ElementMapper.marshal(hostingNode));
|
||||
|
||||
String hnJson = resourceManagement.create();
|
||||
logger.debug("Created : {}", hnJson);
|
||||
hostingNode = ElementMapper.unmarshal(HostingNode.class, hnJson);
|
||||
logger.debug("Unmarshalled {} {}", HostingNode.NAME, hostingNode);
|
||||
HostingNode hostingNode = ERManagementTest.createHostingNode();
|
||||
UUID hostingNodeUUID = hostingNode.getHeader().getUUID();
|
||||
|
||||
|
||||
|
@ -222,11 +198,9 @@ public class BasicTest extends MultiContextTest {
|
|||
|
||||
UUID contextUUID = ContextUtility.getCurrentSecurityContext().getUUID();
|
||||
try {
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(hostingNodeUUID);
|
||||
ResourceManagement resourceManagement = ERManagementTest.getResourceManagement(hostingNode);
|
||||
resourceManagement.read();
|
||||
logger.debug("You should not be able to read {} with UUID {} in {} with UUID {} (i.e., {})",
|
||||
HostingNode.NAME, hostingNodeUUID.toString(), Context.NAME, contextUUID, ContextUtility.getCurrentContextFullName());
|
||||
throw new Exception("You should not be able to read " + HostingNode.NAME + " with UUID " + hostingNodeUUID.toString() + " in " + Context.NAME + " with UUID " + contextUUID.toString()+ " (i.e., " + ContextUtility.getCurrentContextFullName() +")");
|
||||
}catch (AvailableInAnotherContextException e) {
|
||||
// OK
|
||||
}
|
||||
|
@ -236,39 +210,21 @@ public class BasicTest extends MultiContextTest {
|
|||
|
||||
addToContextThenTestIfBehaveProperly(hostingNode, false, targetContextFullName);
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(hostingNodeUUID);
|
||||
String hnString = resourceManagement.read().toString();
|
||||
ResourceManagement resourceManagement = ERManagementTest.getResourceManagement(hostingNode);
|
||||
String hnString = resourceManagement.read();
|
||||
HostingNode readHN = ElementMapper.unmarshal(HostingNode.class, hnString);
|
||||
Assert.assertTrue(readHN.getHeader().getUUID().compareTo(hostingNodeUUID) == 0);
|
||||
|
||||
UUID eServiceUUID = eService.getHeader().getUUID();
|
||||
try {
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(eServiceUUID);
|
||||
resourceManagement = ERManagementTest.getResourceManagement(eService);
|
||||
resourceManagement.read();
|
||||
throw new Exception("You should not be able to read " + EService.NAME + " with UUID " + eServiceUUID.toString() + " in " + Context.NAME + " with UUID " + contextUUID.toString()+ " (i.e., " + ContextUtility.getCurrentContextFullName() +")");
|
||||
} catch (ResourceAvailableInAnotherContextException e) {
|
||||
logger.debug("Resource with {} Not Found as Expected",
|
||||
eServiceUUID);
|
||||
logger.debug("Resource with {} Not Found as Expected", eServiceUUID);
|
||||
}
|
||||
|
||||
/* Commented because the behavior has been changed
|
||||
try {
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(eServiceUUID);
|
||||
resourceManagement.delete();
|
||||
logger.debug("You should not be able to delete EService with UUID {}",
|
||||
uuid);
|
||||
throw new Exception(
|
||||
"You should not be able to delete EService with UUID " + uuid);
|
||||
} catch (ResourceAvailableInAnotherContextException e) {
|
||||
logger.debug("Resource with {} Not Deleted as Expected",
|
||||
eServiceUUID);
|
||||
}
|
||||
*/
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(hostingNodeUUID);
|
||||
resourceManagement = ERManagementTest.getResourceManagement(eService);
|
||||
resourceManagement.delete();
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
@ -280,52 +236,22 @@ public class BasicTest extends MultiContextTest {
|
|||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(eServiceUUID);
|
||||
resourceManagement.delete();
|
||||
throw new Exception("The" + EService.NAME + " with UUID " + eServiceUUID.toString() + " should be already deleted");
|
||||
}catch (ResourceNotFoundException e) {
|
||||
// OK
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// @Test
|
||||
public void addTest() throws ResourceNotFoundException,
|
||||
ContextNotFoundException, ResourceRegistryException {
|
||||
ResourceManagement resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(UUID.fromString(""));
|
||||
resourceManagement.addToContext(ContextUtility.getCurrentSecurityContext().getUUID());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testAddAndRemoveFromContext() throws Exception {
|
||||
/* Creating HostingNode */
|
||||
ResourceManagement resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setElementType(HostingNode.NAME);
|
||||
resourceManagement.setJson(SmartgearResourcesTest.HOSTING_NODE);
|
||||
|
||||
String hnJson = resourceManagement.create();
|
||||
logger.debug("Created : {}", hnJson);
|
||||
HostingNode hostingNode = ElementMapper.unmarshal(HostingNode.class, hnJson);
|
||||
logger.debug("Unmarshalled {} {}", HostingNode.NAME, hostingNode);
|
||||
|
||||
UUID hnUUID = hostingNode.getHeader().getUUID();
|
||||
|
||||
HostingNode hostingNode = ERManagementTest.createHostingNode();
|
||||
|
||||
/* Creating EService */
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setElementType(EService.NAME);
|
||||
resourceManagement.setJson(SmartgearResourcesTest.ESERVICE);
|
||||
|
||||
String eservicejson = resourceManagement.create();
|
||||
logger.debug("Created : {}", eservicejson);
|
||||
EService eService = ElementMapper.unmarshal(EService.class, eservicejson);
|
||||
logger.debug("Unmarshalled {} {}", EService.NAME, eService);
|
||||
|
||||
UUID eServiceUUID = eService.getHeader().getUUID();
|
||||
|
||||
EService eService = ERManagementTest.createEService();
|
||||
|
||||
/* Creating Activates Relation */
|
||||
|
||||
PropagationConstraint propagationConstraint = new PropagationConstraintImpl();
|
||||
propagationConstraint
|
||||
.setRemoveConstraint(RemoveConstraint.cascade);
|
||||
|
@ -341,7 +267,7 @@ public class BasicTest extends MultiContextTest {
|
|||
String activatesJson = ElementMapper.marshal(activates);
|
||||
isRelatedToManagement.setJson(activatesJson);
|
||||
String createdActivatesJson = isRelatedToManagement.create();
|
||||
logger.debug("Created : {}", createdActivatesJson);
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
Activates<HostingNode, EService> createdActivates = ElementMapper.unmarshal(Activates.class, createdActivatesJson);
|
||||
|
@ -350,21 +276,6 @@ public class BasicTest extends MultiContextTest {
|
|||
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
||||
/*
|
||||
* resourceManagement = new ResourceManagement();
|
||||
* resourceManagement.setUUID(hnUUID);
|
||||
* resourceManagement.addToContext();
|
||||
|
||||
* resourceManagement = new ResourceManagement();
|
||||
* resourceManagement.setUUID(eServiceUUID);
|
||||
* resourceManagement.addToContext();
|
||||
*
|
||||
* This code is commented because the addToContext
|
||||
* on relation enforce addToContext both on source
|
||||
* and target
|
||||
*
|
||||
*/
|
||||
|
||||
isRelatedToManagement = new IsRelatedToManagement();
|
||||
isRelatedToManagement.setUUID(activatesUUID);
|
||||
UUID contextUUID = ContextUtility.getInstance().getSecurityContextByFullName(ALTERNATIVE_TEST_SCOPE).getUUID();
|
||||
|
@ -377,20 +288,17 @@ public class BasicTest extends MultiContextTest {
|
|||
* So that I MUST be able to read HostinNode and EService
|
||||
*/
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(hnUUID);
|
||||
ResourceManagement resourceManagement = ERManagementTest.getResourceManagement(hostingNode);
|
||||
resourceManagement.read();
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(eServiceUUID);
|
||||
resourceManagement = ERManagementTest.getResourceManagement(eService);
|
||||
resourceManagement.read();
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
logger.debug("Setting back default scope");
|
||||
ContextTest.setContextByName(DEFAULT_TEST_SCOPE);
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(hnUUID);
|
||||
resourceManagement = ERManagementTest.getResourceManagement(hostingNode);
|
||||
resourceManagement.removeFromContext(ContextUtility.getCurrentSecurityContext().getUUID());
|
||||
|
||||
Map<UUID,JsonNode> affectedInstances = resourceManagement.getAffectedInstances();
|
||||
|
@ -402,11 +310,10 @@ public class BasicTest extends MultiContextTest {
|
|||
* I MUST not be able to read Activates relation and EService
|
||||
*/
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(eServiceUUID);
|
||||
resourceManagement = ERManagementTest.getResourceManagement(eService);
|
||||
try {
|
||||
resourceManagement.read();
|
||||
String error = String.format("{} with UUID {} should not be visible.", EService.NAME, eServiceUUID);
|
||||
String error = String.format("{} with UUID {} should not be visible.", EService.NAME, eService.getHeader().getUUID());
|
||||
logger.trace(error);
|
||||
throw new Exception(error);
|
||||
}catch (ResourceAvailableInAnotherContextException e) {
|
||||
|
@ -430,29 +337,8 @@ public class BasicTest extends MultiContextTest {
|
|||
ContextTest.setContextByName(ALTERNATIVE_TEST_SCOPE);
|
||||
// TODO checks here
|
||||
|
||||
resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(hnUUID);
|
||||
resourceManagement = ERManagementTest.getResourceManagement(hostingNode);
|
||||
resourceManagement.delete();
|
||||
}
|
||||
|
||||
// @Test
|
||||
public void testGetInstanceContexts() throws ObjectNotFound, Exception {
|
||||
|
||||
String type = "HostingNode";
|
||||
String instanceId = "f0460614-9ffb-4ecd-bf52-d91e8d81d604";
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
ElementManagement erManagement = ElementManagementUtility.getERManagement(type);
|
||||
UUID uuid = null;
|
||||
try {
|
||||
uuid = UUID.fromString(instanceId);
|
||||
} catch(Exception e) {
|
||||
throw new ResourceRegistryException(e);
|
||||
}
|
||||
erManagement.setUUID(uuid);
|
||||
String contexts = erManagement.getContexts();
|
||||
logger.debug("{}", contexts);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -11,8 +11,9 @@ import org.gcube.informationsystem.model.reference.properties.PropagationConstra
|
|||
import org.gcube.informationsystem.resourceregistry.ContextTest;
|
||||
import org.gcube.informationsystem.resourceregistry.api.contexts.ContextCache;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resource.ResourceNotFoundException;
|
||||
import org.gcube.informationsystem.resourceregistry.api.utils.Utility;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.SmartgearResourcesTest;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.ERManagementTest;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.FacetManagement;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.ResourceManagement;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.relations.IsRelatedToManagement;
|
||||
|
@ -38,28 +39,13 @@ public class ComplexTest extends MultiContextTest {
|
|||
contextCache.setContextCacheRenewal(contextCacheRenewal);
|
||||
|
||||
/* Creating HostingNode */
|
||||
ResourceManagement hostingNodeManagement = new ResourceManagement();
|
||||
hostingNodeManagement.setElementType(HostingNode.NAME);
|
||||
hostingNodeManagement.setJson(SmartgearResourcesTest.HOSTING_NODE);
|
||||
|
||||
String hnJson = hostingNodeManagement.create();
|
||||
logger.debug("Created : {}", hnJson);
|
||||
HostingNode hostingNode = ElementMapper.unmarshal(HostingNode.class, hnJson);
|
||||
logger.debug("Unmarshalled {} {}", HostingNode.NAME, hostingNode);
|
||||
HostingNode hostingNode = ERManagementTest.createHostingNode();
|
||||
|
||||
/* Creating EService */
|
||||
ResourceManagement eServiceManagement = new ResourceManagement();
|
||||
eServiceManagement.setElementType(EService.NAME);
|
||||
eServiceManagement.setJson(SmartgearResourcesTest.ESERVICE);
|
||||
|
||||
String eservicejson = eServiceManagement.create();
|
||||
logger.debug("Created : {}", eservicejson);
|
||||
EService eService = ElementMapper.unmarshal(EService.class, eservicejson);
|
||||
logger.debug("Unmarshalled {} {}", EService.NAME, eService);
|
||||
EService eService = ERManagementTest.createEService();
|
||||
|
||||
|
||||
/* Creating Activates Relation */
|
||||
|
||||
PropagationConstraint propagationConstraint = new PropagationConstraintImpl();
|
||||
propagationConstraint
|
||||
.setRemoveConstraint(RemoveConstraint.cascade);
|
||||
|
@ -88,10 +74,7 @@ public class ComplexTest extends MultiContextTest {
|
|||
logger.debug("Switching to alternative scope");
|
||||
ContextTest.setContextByName(ALTERNATIVE_TEST_SCOPE);
|
||||
|
||||
hostingNodeManagement = new ResourceManagement();
|
||||
hostingNodeManagement.setUUID(hostingNode.getHeader().getUUID());
|
||||
hostingNodeManagement.setElementType(Utility.getTypeName(hostingNode.getClass()));
|
||||
|
||||
ResourceManagement hostingNodeManagement = ERManagementTest.getResourceManagement(hostingNode);
|
||||
|
||||
String hostingNodeContexts = hostingNodeManagement.getContexts();
|
||||
logger.debug("Contexts of {} with UUID {} have the following UUID {}", HostingNode.NAME, hostingNodeManagement.getUUID(), hostingNodeContexts);
|
||||
|
@ -131,9 +114,7 @@ public class ComplexTest extends MultiContextTest {
|
|||
logger.debug("Contexts of {} with UUID {} are {}", Activates.NAME, activatesManagement.getUUID(), activatesContextFullNames);
|
||||
|
||||
|
||||
eServiceManagement = new ResourceManagement();
|
||||
eServiceManagement.setUUID(eService.getHeader().getUUID());
|
||||
eServiceManagement.setElementType(Utility.getTypeName(eService.getClass()));
|
||||
ResourceManagement eServiceManagement = ERManagementTest.getResourceManagement(eService);
|
||||
String eServiceContexts = eServiceManagement.getContexts();
|
||||
logger.debug("Contexts of {} with UUID {} have the following UUID {}", EService.NAME, eServiceManagement.getUUID(), eServiceContexts);
|
||||
Set<UUID> eServiceContextsUUID = org.gcube.informationsystem.resourceregistry.api.contexts.ContextUtility.getContextUUIDSet(eServiceContexts);
|
||||
|
@ -144,7 +125,14 @@ public class ComplexTest extends MultiContextTest {
|
|||
Assert.assertTrue(eServiceContextFullNames.size()==1);
|
||||
logger.debug("Contexts of {} with UUID {} are {}", EService.NAME, eServiceManagement.getUUID(), eServiceContextFullNames);
|
||||
|
||||
hostingNodeManagement.delete();
|
||||
ERManagementTest.deleteResource(hostingNode);
|
||||
|
||||
try {
|
||||
ERManagementTest.deleteResource(eService);
|
||||
throw new Exception(EService.NAME + " should be already deleted giving the cascade");
|
||||
}catch (ResourceNotFoundException e) {
|
||||
// As expected
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.informationsystem.resourceregistry.instances.multicontext;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.JsonNode;
|
||||
import org.gcube.informationsystem.model.reference.entities.Facet;
|
||||
import org.gcube.informationsystem.resourceregistry.ContextTest;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
|
||||
import org.gcube.informationsystem.resourceregistry.contexts.ContextUtility;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.ERManagementTest;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.ERManagementUtility;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.ResourceManagement;
|
||||
import org.gcube.informationsystem.utils.ElementMapper;
|
||||
import org.gcube.resourcemanagement.model.reference.entities.resources.EService;
|
||||
import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdentifiedBy;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public class EnhancedTest extends MultiContextTest {
|
||||
|
||||
private static Logger logger = LoggerFactory
|
||||
.getLogger(EnhancedTest.class);
|
||||
|
||||
@Test
|
||||
public void testNoFollows() throws Exception {
|
||||
ContextTest.setContextByName(DEFAULT_TEST_SCOPE);
|
||||
EService eService = ERManagementTest.instantiateValidEService();
|
||||
|
||||
ResourceManagement resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setElementType(EService.NAME);
|
||||
resourceManagement.setJson(ElementMapper.marshal(eService));
|
||||
|
||||
String json = resourceManagement.create();
|
||||
logger.debug("Created : {}", json);
|
||||
eService = ElementMapper.unmarshal(EService.class, json);
|
||||
logger.debug("Unmarshalled {} {}", EService.NAME, eService);
|
||||
|
||||
JsonNode jsonNode = ElementMapper.getObjectMapper().readTree(json);
|
||||
|
||||
Map<UUID, JsonNode> expectedInstances = new HashMap<>();
|
||||
expectedInstances.put(eService.getHeader().getUUID(), jsonNode);
|
||||
|
||||
UUID contextUUID = ContextUtility.getInstance().getSecurityContextByFullName(ALTERNATIVE_TEST_SCOPE).getUUID();
|
||||
|
||||
try {
|
||||
ERManagementUtility.addToContextNoPropagationConstraint(expectedInstances, contextUUID, true);
|
||||
}catch (ResourceRegistryException e) {
|
||||
logger.debug("As expected {}", e.getMessage());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
IsIdentifiedBy<EService, Facet> gotIsIdentifiedBy = (IsIdentifiedBy<EService, Facet>) eService.getConsistsOf(IsIdentifiedBy.class).get(0);
|
||||
|
||||
JsonNode gotIsIdentifiedByJsonNode = ElementMapper.getObjectMapper().readTree(ElementMapper.marshal(gotIsIdentifiedBy));
|
||||
expectedInstances.put(gotIsIdentifiedBy.getHeader().getUUID(), gotIsIdentifiedByJsonNode);
|
||||
|
||||
try {
|
||||
ERManagementUtility.addToContextNoPropagationConstraint(expectedInstances, contextUUID, true);
|
||||
}catch (ResourceRegistryException e) {
|
||||
// as expected
|
||||
logger.debug("As expected {}", e.getMessage());
|
||||
}finally {
|
||||
resourceManagement.delete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,117 +0,0 @@
|
|||
package org.gcube.informationsystem.resourceregistry.instances.multicontext;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.informationsystem.resourceregistry.ContextTest;
|
||||
import org.gcube.informationsystem.resourceregistry.api.exceptions.entity.resource.ResourceAlreadyPresentException;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.ERManagementTest;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.FacetManagement;
|
||||
import org.gcube.informationsystem.resourceregistry.instances.model.entities.ResourceManagement;
|
||||
import org.gcube.informationsystem.utils.ElementMapper;
|
||||
import org.gcube.resourcemanagement.model.reference.entities.facets.SoftwareFacet;
|
||||
import org.gcube.resourcemanagement.model.reference.entities.resources.EService;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public class RuleTest extends ContextTest {
|
||||
|
||||
private static Logger logger = LoggerFactory
|
||||
.getLogger(RuleTest.class);
|
||||
|
||||
public EService createEservice() throws Exception {
|
||||
EService eService = ERManagementTest.instantiateValidEService();
|
||||
|
||||
ResourceManagement resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setElementType(EService.NAME);
|
||||
resourceManagement.setJson(ElementMapper.marshal(eService));
|
||||
|
||||
String json = resourceManagement.create();
|
||||
logger.debug("Created : {}", json);
|
||||
eService = ElementMapper.unmarshal(EService.class, json);
|
||||
logger.debug("Unmarshalled {} {}", EService.NAME, eService);
|
||||
|
||||
return eService;
|
||||
}
|
||||
|
||||
public UUID checkEServiceCreation(EService eService) throws Exception{
|
||||
UUID eServiceUUID = eService.getHeader().getUUID();
|
||||
|
||||
ResourceManagement resourceManagement = new ResourceManagement();
|
||||
resourceManagement.setUUID(eServiceUUID);
|
||||
String json = resourceManagement.read().toString();
|
||||
EService readEService = ElementMapper.unmarshal(EService.class, json);
|
||||
Assert.assertTrue(readEService.getHeader().getUUID().compareTo(eServiceUUID) == 0);
|
||||
|
||||
return eServiceUUID;
|
||||
}
|
||||
|
||||
|
||||
public UUID checkFacetCreation(EService eService) throws Exception {
|
||||
UUID softwareFacetUUID = eService.getIdentificationFacets().get(0).getHeader().getUUID();
|
||||
|
||||
FacetManagement facetManagement = new FacetManagement();
|
||||
facetManagement.setUUID(softwareFacetUUID);
|
||||
String json = facetManagement.read().toString();
|
||||
SoftwareFacet readSoftwareFacet = ElementMapper.unmarshal(SoftwareFacet.class, json);
|
||||
Assert.assertTrue(readSoftwareFacet.getHeader().getUUID().compareTo(softwareFacetUUID) == 0);
|
||||
|
||||
return softwareFacetUUID;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
EService eService = createEservice();
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
UUID eServiceUUID = checkEServiceCreation(eService);
|
||||
@SuppressWarnings("unused")
|
||||
UUID softwareFacetUUID = checkFacetCreation(eService);
|
||||
|
||||
// SoftwareFacet softwareFacet = (SoftwareFacet) eService.getIdentificationFacets().get(0);
|
||||
// String softwareFacetString = ElementMapper.marshal(softwareFacet);
|
||||
//
|
||||
// // Trying to recreate SoftwareFacet
|
||||
// FacetManagement softwareFacetManagement = new FacetManagement();
|
||||
// softwareFacetManagement.setElementType(SoftwareFacet.NAME);
|
||||
// softwareFacetManagement.setJson(softwareFacetString);
|
||||
// try{
|
||||
// softwareFacetManagement.create();
|
||||
// }catch (FacetAlreadyPresentException e) {
|
||||
// // OK
|
||||
// logger.debug("As expected {} cannot be recreated", softwareFacetString, e);
|
||||
// }catch (Exception e) {
|
||||
// throw e;
|
||||
// }
|
||||
|
||||
|
||||
// Trying to recreate EService
|
||||
String eServiceString = ElementMapper.marshal(eService);
|
||||
|
||||
ResourceManagement eServiceManagement = new ResourceManagement();
|
||||
eServiceManagement.setElementType(EService.NAME);
|
||||
eServiceManagement.setJson(eServiceString);
|
||||
try{
|
||||
eServiceManagement.create();
|
||||
}catch (ResourceAlreadyPresentException e) {
|
||||
// OK
|
||||
logger.debug("As expected {} cannot be recreated", eServiceString, e);
|
||||
}catch (Exception e) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
|
||||
// TODO continue with checks
|
||||
|
||||
|
||||
eServiceManagement = new ResourceManagement();
|
||||
eServiceManagement.setElementType(EService.NAME);
|
||||
eServiceManagement.setJson(eServiceString);
|
||||
eServiceManagement.delete();
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue