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

129 lines
4.6 KiB
Java
Raw Normal View History

2021-09-20 16:47:35 +02:00
package org.gcube.application.geoportal.clients;
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.statefulMongoConcessioni;
import static org.junit.Assert.*;
2021-09-21 18:03:18 +02:00
import java.io.File;
2021-09-20 16:47:35 +02:00
import java.io.FileInputStream;
import java.io.FileNotFoundException;
2021-12-01 12:02:48 +01:00
import org.gcube.application.cms.tests.model.concessioni.TestConcessioniModel;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.client.legacy.ConcessioniManagerI;
import org.gcube.application.geoportal.client.utils.Serialization;
2021-11-12 16:41:25 +01:00
import org.gcube.application.geoportal.common.model.legacy.*;
2021-09-20 16:47:35 +02:00
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();
2021-12-01 12:02:48 +01:00
Concessione toRegister= TestConcessioniModel.prepareEmptyConcessione();
2021-09-20 16:47:35 +02:00
toRegister.setNome("Mock module");
manager.createNew(toRegister);
2021-11-12 16:41:25 +01:00
2021-12-01 12:02:48 +01:00
Concessione source=TestConcessioniModel.prepareConcessione();
UploadedImage toRegisterImg= source.getImmaginiRappresentative().get(0);
2021-09-20 16:47:35 +02:00
// TEMP Files are hosted in INFRASTRUCTURE's VOLATILE AREA
2021-09-21 18:03:18 +02:00
TempFile toUpload=storage.putOntoStorage(
2021-12-01 12:02:48 +01:00
new File(TestConcessioniModel.getBaseFolder(),"immagine1.png"), "immagine.png");
2021-09-21 18:03:18 +02:00
2021-09-20 16:47:35 +02:00
manager.addImmagineRappresentativa(toRegisterImg, toUpload);
2021-09-21 18:03:18 +02:00
2021-09-20 16:47:35 +02:00
//Alternative Method
2021-09-21 18:03:18 +02:00
InputStreamDescriptor isDesc=
2021-12-01 12:02:48 +01:00
new InputStreamDescriptor(new FileInputStream(new File(TestConcessioniModel.getBaseFolder(),
2021-11-12 16:41:25 +01:00
"immagine1.png")), "San Mauro_drone totale.JPG");
2021-09-20 16:47:35 +02:00
manager.addImmagineRappresentativa(toRegisterImg, isDesc);
2021-09-21 18:03:18 +02:00
2021-11-12 16:41:25 +01:00
source.getRelazioneScavo().setPolicy(AccessPolicy.EMBARGOED);
assertEquals(AccessPolicy.EMBARGOED,source.getRelazioneScavo().getPolicy());
2021-09-21 18:03:18 +02:00
2021-09-20 16:47:35 +02:00
//Relazione
manager.setRelazioneScavo(source.getRelazioneScavo(),
2021-12-01 12:02:48 +01:00
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "relazione_it.pdf"),
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "relazione_en.pdf"));
2021-11-12 16:41:25 +01:00
assertEquals(AccessPolicy.EMBARGOED,manager.getCurrent().getRelazioneScavo().getPolicy());
//Abstract
manager.setAbstractRelazioneScavo(
source.getAbstractRelazione(),
2021-12-01 12:02:48 +01:00
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "abstract_relazione_it.pdf"),
storage.putOntoStorage(new File(TestConcessioniModel.getBaseFolder(),"relazione.pdf"), "abstract_relazione_en.pdf"));
2021-11-12 16:41:25 +01:00
2021-09-20 16:47:35 +02:00
// Posizionamento scavo
2021-09-27 15:23:03 +02:00
manager.setPosizionamento(source.getPosizionamentoScavo(),
2021-09-27 15:23:03 +02:00
storage.putOntoStorage(
2021-12-01 12:02:48 +01:00
new File(TestConcessioniModel.getBaseFolder(),"pos.shp"),"pos.shp"));
2021-09-20 16:47:35 +02:00
// Piante
manager.addPiantaFineScavo(source.getPianteFineScavo().get(0),
2021-09-27 15:23:03 +02:00
storage.putOntoStorage(
2021-12-01 12:02:48 +01:00
new File(TestConcessioniModel.getBaseFolder(),"pianta.shp"),"pianta.shp"));
2021-09-27 15:23:03 +02:00
// 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");})));
2021-11-12 16:41:25 +01:00
Concessione toReturn=manager.publish();
assertEquals(AccessPolicy.EMBARGOED,toReturn.getRelazioneScavo().getPolicy());
return toReturn;
2021-09-20 16:47:35 +02:00
}
@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();
2021-12-01 12:02:48 +01:00
manager.createNew(TestConcessioniModel.prepareEmptyConcessione());
2021-09-20 16:47:35 +02:00
manager.delete();
}
2021-09-27 15:23:03 +02:00
2021-09-20 16:47:35 +02:00
}