gcube-cms-suite/geoportal-client/src/test/java/org/gcube/application/geoportal/clients/StatefulClientTests.java

129 lines
4.6 KiB
Java

package org.gcube.application.geoportal.clients;
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
import static org.junit.Assert.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniModel;
import org.gcube.application.geoportal.client.legacy.ConcessioniManagerI;
import org.gcube.application.geoportal.client.utils.Serialization;
import org.gcube.application.geoportal.common.model.legacy.*;
import org.gcube.application.geoportal.common.model.legacy.report.ValidationReport.ValidationStatus;
import org.gcube.application.geoportal.common.rest.TempFile;
import org.gcube.application.geoportal.common.utils.Files;
import org.gcube.application.geoportal.common.utils.StorageUtils;
import org.gcube.contentmanagement.blobstorage.transport.backend.RemoteBackendException;
import org.junit.Test;
public class StatefulClientTests extends BasicVreTests{
private Concessione publishNew() throws Exception {
ConcessioniManagerI manager=statefulMongoConcessioni().build();
StorageUtils storage=new StorageUtils();
Concessione toRegister= TestConcessioniModel.prepareEmptyConcessione();
toRegister.setNome("Mock module");
manager.createNew(toRegister);
Concessione source=TestConcessioniModel.prepareConcessione();
UploadedImage toRegisterImg= source.getImmaginiRappresentative().get(0);
// TEMP Files are hosted in INFRASTRUCTURE's VOLATILE AREA
TempFile toUpload=storage.putOntoStorage(
new File(TestConcessioniModel.getBaseFolder(),"immagine1.png"), "immagine.png");
manager.addImmagineRappresentativa(toRegisterImg, toUpload);
//Alternative Method
InputStreamDescriptor isDesc=
new InputStreamDescriptor(new FileInputStream(new File(TestConcessioniModel.getBaseFolder(),
"immagine1.png")), "San Mauro_drone totale.JPG");
manager.addImmagineRappresentativa(toRegisterImg, isDesc);
source.getRelazioneScavo().setPolicy(AccessPolicy.EMBARGOED);
assertEquals(AccessPolicy.EMBARGOED,source.getRelazioneScavo().getPolicy());
//Relazione
manager.setRelazioneScavo(source.getRelazioneScavo(),
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "relazione_it.pdf"),
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "relazione_en.pdf"));
assertEquals(AccessPolicy.EMBARGOED,manager.getCurrent().getRelazioneScavo().getPolicy());
//Abstract
manager.setAbstractRelazioneScavo(
source.getAbstractRelazione(),
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "abstract_relazione_it.pdf"),
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "abstract_relazione_en.pdf"));
// Posizionamento scavo
manager.setPosizionamento(source.getPosizionamentoScavo(),
storage.putOntoStorage(
new File(TestConcessioniModel.getBaseFolder(),"pos.shp"),"pos.shp"));
// Piante
manager.addPiantaFineScavo(source.getPianteFineScavo().get(0),
storage.putOntoStorage(
new File(TestConcessioniModel.getBaseFolder(),"pianta.shp"),"pianta.shp"));
// new File("/Users/fabioisti/Documents/invio_08_05/Montalto di Castro (VT)_Vulci_Indagini non invasive_Doc. paragr._Va/CONSEGNA_WGS84")
// .listFiles((file,name)->{return name.startsWith("Mag_anomalies_WGS84");})));
Concessione toReturn=manager.publish();
assertEquals(AccessPolicy.EMBARGOED,toReturn.getRelazioneScavo().getPolicy());
return toReturn;
}
@Test
public void testRegisterNew() throws RemoteBackendException, FileNotFoundException, Exception {
Concessione published=publishNew();
// VARIOUS CHECKS
assertNotNull(published.getReport());
assertEquals(published.getReport().getStatus(),ValidationStatus.PASSED);
assertEquals(published.getImmaginiRappresentative().size(),2);
assertEquals(published.getPianteFineScavo().size(),1);
assertNotNull(published.getPosizionamentoScavo().getWmsLink());
for(LayerConcessione l : published.getPianteFineScavo())
assertNotNull(l.getWmsLink());
assertNotNull(published.getCentroidLat());
assertNotNull(published.getCentroidLong());
System.out.println(Serialization.write(published));
System.out.println(Serialization.write(published.getReport()));
}
@Test
public void delete() throws Exception {
ConcessioniManagerI manager=statefulMongoConcessioni().build();
StorageUtils storage=new StorageUtils();
manager.createNew(TestConcessioniModel.prepareEmptyConcessione());
manager.delete();
}
}