gcube-cms-suite/geoportal-service/src/test/java/org/gcube/application/geoportal/service/profiledDocuments/ProfiledConcessioniTests.java

70 lines
2.7 KiB
Java

package org.gcube.application.geoportal.service.profiledDocuments;
import org.bson.Document;
import org.gcube.application.cms.serialization.Serialization;
import org.gcube.application.geoportal.common.model.document.Project;
import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation;
import org.gcube.application.geoportal.common.model.useCaseDescriptor.Field;
import org.gcube.application.geoportal.common.model.rest.RegisterFileSetRequest;
import org.gcube.application.geoportal.common.model.rest.StepExecutionRequest;
import org.gcube.application.geoportal.common.rest.InterfaceConstants;
import org.gcube.application.geoportal.common.utils.StorageUtils;
import org.junit.Test;
import javax.ws.rs.client.WebTarget;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class ProfiledConcessioniTests extends AbstractProfiledDocumentsTests{
@Override
protected WebTarget baseTarget() {
String testProfileId="profiledConcessioni";
return target(InterfaceConstants.Methods.PROJECTS).path(testProfileId);
}
@Test
public void testSDI() throws Exception {
// Create new
Document theDoc=Document.parse("{\n" +
"\"posizionamentoScavo\" :{\n" +
"\t\"titolo\" : \"mio titolo\"}}");
Project doc = createNew(theDoc);
// register filesets
doc = upload(
new StorageUtils(),
doc.getId(),
"posizionamentoScavo","fileset",
"posizionamentoScavo."+ Field.CHILDREN+"[?(@.fileset)]",
null,
RegisterFileSetRequest.ClashOptions.MERGE_EXISTING,
"pos.shp");
System.out.println("Registered posizionamento, result is "+ Serialization.write(doc));
// invoke step SUBMIT-FOR-REVIEW
StepExecutionRequest submitReq=new StepExecutionRequest();
submitReq.setStepID("SUBMIT-FOR-REVIEW");
doc=step(doc.getId(),submitReq);
System.out.println(doc);
assertTrue(doc.getLifecycleInformation().getLastOperationStatus().equals(LifecycleInformation.Status.OK));
// invoke step Publish
StepExecutionRequest approveDraftReq=new StepExecutionRequest();
approveDraftReq.setStepID("APPROVE DRAFT");
doc=step(doc.getId(),approveDraftReq);
System.out.println(doc);
assertTrue(doc.getLifecycleInformation().getLastOperationStatus().equals(LifecycleInformation.Status.OK));
assertTrue(doc.getSpatialReference()!=null);
System.out.println("Project "+doc.getId()+" published with spatial reference "+doc.getSpatialReference().toJson());
}
}