gcube-cms-suite/concessioni-lifecycle/src/test/java/org/gcube/application/cms/concessioni/plugins/ConcessioniPluginTests.java

118 lines
5.8 KiB
Java

package org.gcube.application.cms.concessioni.plugins;
import org.bson.Document;
import org.gcube.application.cms.custom.gna.concessioni.model.ProfiledConcessione;
import org.gcube.application.cms.plugins.faults.IndexingException;
import org.gcube.application.cms.plugins.requests.IndexDocumentRequest;
import org.gcube.application.cms.plugins.requests.StepExecutionRequest;
import org.gcube.application.cms.serialization.Serialization;
import org.gcube.application.cms.tests.TestDocuments;
import org.gcube.application.cms.tests.plugins.BasicPluginTest;
import org.gcube.application.geoportal.common.model.JSONPathWrapper;
import org.gcube.application.geoportal.common.model.document.Project;
import org.gcube.application.geoportal.common.model.document.accounting.Context;
import org.gcube.application.geoportal.common.model.document.accounting.User;
import org.gcube.application.geoportal.common.model.document.filesets.RegisteredFileSet;
import org.gcube.application.geoportal.common.model.useCaseDescriptor.UseCaseDescriptor;
import org.junit.Assert;
import org.junit.Test;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.List;
import static junit.framework.TestCase.*;
public class ConcessioniPluginTests extends BasicPluginTest {
public static final String SCOPE_TEST = "/gcube/devsec/devVRE";
public static final String USERNAME = "francesco.mangiacrapa";
public static final String UCD_ID = "concessioni-estere";
@Test
public void testLoad(){
Assert.assertTrue(true);
}
//@Test
public void testDefaults() throws IOException {
Project c= TestDocuments.documentMap.get("dummy.json");
LocalDateTime start = LocalDateTime.now();
c.getTheDocument().put(ProfiledConcessione.DATA_INZIO_PROGETTO,start);
c.getTheDocument().put(ProfiledConcessione.DATA_FINE_PROGETTO,start);
c.getTheDocument().put(ProfiledConcessione.POSIZIONAMENTO_SCAVO,new Document());
c.getTheDocument().put(ProfiledConcessione.IMMAGINI_RAPPRESENTATIVE,new Document[]{new Document()});
c.getTheDocument().put(ProfiledConcessione.PIANTE_FINE_SCAVO,new Document[]{new Document()});
c= (ProfiledConcessione) ConcessioniLifeCycleManager.setDefaults(c);
System.out.println("Obtained "+Serialization.write(c));
assertNotNull(c.getTheDocument().get(ProfiledConcessione.SOGGETTO));
assertNotNull(c.getTheDocument().getString(ProfiledConcessione.DESCRIZIONE_CONTENUTO));
assertNotNull(c.getTheDocument().get(ProfiledConcessione.DATA_INZIO_PROGETTO));
assertEquals(Serialization.convert(c.getTheDocument().get(ProfiledConcessione.DATA_INZIO_PROGETTO),LocalDateTime.class),start);
assertNotNull(c.getTheDocument().get(ProfiledConcessione.DATA_FINE_PROGETTO));
assertEquals(Serialization.convert(c.getTheDocument().get(ProfiledConcessione.DATA_FINE_PROGETTO),LocalDateTime.class),start);
assertNotNull(c.getTheDocument().get(ProfiledConcessione.RELAZIONE_SCAVO));
Document rel = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.RELAZIONE_SCAVO), Document.class);
assertNotNull(rel.get(ProfiledConcessione.Sections.TITOLO));
assertNotNull(rel.get(ProfiledConcessione.SOGGETTO));
assertNull(rel.get(RegisteredFileSet.CREATION_INFO));
assertNull(rel.get(RegisteredFileSet.ACCESS));
Document abs = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.ABSTRACT_RELAZIONE), Document.class);
assertNotNull(abs.get(ProfiledConcessione.Sections.TITOLO));
assertNull(abs.get(RegisteredFileSet.CREATION_INFO));
assertNull(abs.get(RegisteredFileSet.ACCESS));
Document pos = Serialization.convert(c.getTheDocument().get(ProfiledConcessione.POSIZIONAMENTO_SCAVO), Document.class);
assertNotNull(pos.get(ProfiledConcessione.Sections.TITOLO));
assertNotNull(pos.get(ProfiledConcessione.Sections.ABSTRACT));
assertNotNull(pos.get(ProfiledConcessione.Layers.TOPIC));
assertNotNull(pos.get(ProfiledConcessione.Layers.SUB_TOPIC));
assertNull(pos.get(RegisteredFileSet.CREATION_INFO));
assertNull(pos.get(RegisteredFileSet.ACCESS));
JSONPathWrapper wrapper = new JSONPathWrapper(c.getTheDocument().toJson());
assertTrue(c.getTheDocument().containsKey(ProfiledConcessione.IMMAGINI_RAPPRESENTATIVE));
c.getTheDocument().get(ProfiledConcessione.IMMAGINI_RAPPRESENTATIVE, List.class).forEach(o -> {
try{
Document img = Serialization.asDocument(o);
assertNotNull(img.get(ProfiledConcessione.SOGGETTO));
assertNull(img.get(RegisteredFileSet.CREATION_INFO));
assertNull(img.get(RegisteredFileSet.ACCESS));
}catch (Throwable t){
System.out.println("Unable to read IMG "+o);
t.printStackTrace();
fail(t.getMessage());
}
});
assertTrue(c.getTheDocument().containsKey(ProfiledConcessione.PIANTE_FINE_SCAVO));
c.getTheDocument().get(ProfiledConcessione.PIANTE_FINE_SCAVO, List.class).forEach(o -> {
try{
Document pianta = Serialization.asDocument(o);
assertNotNull(pianta.get(ProfiledConcessione.Sections.TITOLO));
assertNotNull(pianta.get(ProfiledConcessione.Sections.ABSTRACT));
assertNotNull(pianta.get(ProfiledConcessione.Layers.TOPIC));
assertNotNull(pianta.get(ProfiledConcessione.Layers.SUB_TOPIC));
assertNull(pianta.get(RegisteredFileSet.CREATION_INFO));
assertNull(pianta.get(RegisteredFileSet.ACCESS));
}catch (Throwable t){
System.out.println("Unable to read pianta "+o);
t.printStackTrace();
fail(t.getMessage());
}
});
}
}