113 lines
4.0 KiB
Java
113 lines
4.0 KiB
Java
package org.gcube.application.geoportal.common.model;
|
|
|
|
import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.mongoConcessioni;
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import java.io.FileInputStream;
|
|
import java.util.Collections;
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
|
|
import org.gcube.application.geoportal.common.model.legacy.Concessione;
|
|
import org.gcube.application.geoportal.common.model.legacy.Concessione.Paths;
|
|
import org.gcube.application.geoportal.common.model.legacy.report.ValidationReport.ValidationStatus;
|
|
import org.gcube.application.geoportal.common.rest.AddSectionToConcessioneRequest;
|
|
import org.gcube.application.geoportal.common.rest.MongoConcessioni;
|
|
import org.gcube.application.geoportal.common.utils.Files;
|
|
import org.gcube.application.geoportal.common.utils.StorageUtils;
|
|
import org.junit.Test;
|
|
|
|
public class StatelessClientTests extends BasicVreTests{
|
|
|
|
|
|
private MongoConcessioni client=mongoConcessioni().build();
|
|
|
|
@Test
|
|
public void testCreateNew() throws Exception {
|
|
Concessione c= client.createNew(TestModel.prepareEmptyConcessione());
|
|
assertNotNull(c);
|
|
assertNotNull(c.getMongo_id());
|
|
}
|
|
|
|
@Test
|
|
public void testDeleteById() throws Exception {
|
|
Concessione c= client.createNew(TestModel.prepareEmptyConcessione());
|
|
client.deleteById(c.getMongo_id());
|
|
}
|
|
|
|
@Test
|
|
public void testList() throws Exception {
|
|
final AtomicLong counter=new AtomicLong();
|
|
long before=System.currentTimeMillis();
|
|
client.getList().forEach((Concessione c)-> {counter.addAndGet(1);});
|
|
System.out.println("Loaded "+counter+" in "+(System.currentTimeMillis()-before)+" ms");
|
|
}
|
|
|
|
@Test
|
|
public void testReplace() throws Exception {
|
|
Concessione c= client.createNew(TestModel.prepareEmptyConcessione());
|
|
|
|
String title="My new shiny Title";
|
|
c.setNome(title);
|
|
Concessione c1=client.replace(c);
|
|
assertEquals(title, c1.getNome());
|
|
}
|
|
|
|
@Test
|
|
public void testUploadFileSet() throws Exception {
|
|
Concessione c= client.createNew(TestModel.prepareConcessione());
|
|
assertNotNull(c.getRelazioneScavo());
|
|
AddSectionToConcessioneRequest request=
|
|
new AddSectionToConcessioneRequest(Paths.RELAZIONE,
|
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
|
new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf")));
|
|
|
|
c= client.registerFile(c.getMongo_id(), request);
|
|
|
|
assertNotNull(c.getRelazioneScavo().getActualContent());
|
|
assertNotNull(c.getRelazioneScavo().getActualContent().get(0));
|
|
}
|
|
|
|
@Test
|
|
public void publish() throws Exception {
|
|
Concessione c= client.createNew(TestModel.prepareConcessione());
|
|
|
|
String mongoId=c.getMongo_id();
|
|
|
|
AddSectionToConcessioneRequest request=
|
|
new AddSectionToConcessioneRequest(Paths.RELAZIONE,
|
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
|
new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf")));
|
|
|
|
client.registerFile(mongoId, request);
|
|
|
|
request=
|
|
new AddSectionToConcessioneRequest(Paths.imgByIndex(0),
|
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
|
new FileInputStream(Files.getFileFromResources("concessioni/immagine.png")), "immagine.png")));
|
|
|
|
client.registerFile(mongoId, request);
|
|
|
|
|
|
request=
|
|
new AddSectionToConcessioneRequest(Paths.POSIZIONAMENTO,
|
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
|
new FileInputStream(Files.getFileFromResources("concessioni/pos.shp")), "pos.shp")));
|
|
|
|
client.registerFile(mongoId, request);
|
|
|
|
request=
|
|
new AddSectionToConcessioneRequest(Paths.piantaByIndex(0),
|
|
Collections.singletonList(new StorageUtils().putOntoStorage(
|
|
new FileInputStream(Files.getFileFromResources("concessioni/pianta.shp")), "pianta.shp")));
|
|
|
|
client.registerFile(mongoId, request);
|
|
|
|
|
|
c=client.publish(mongoId);
|
|
|
|
assertTrue(c.getReport().getStatus().equals(ValidationStatus.PASSED));
|
|
}
|
|
}
|