This repository has been archived on 2021-09-13. You can view files and clone it, but cannot push or open issues or pull requests.
geoportal-client/src/test/java/org/gcube/application/geoportal/common/model/StatelessClientTests.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));
}
}