159 lines
6.2 KiB
Java
159 lines
6.2 KiB
Java
package org.gcube.application.geoportal.service;
|
|
|
|
import static org.junit.Assert.assertNotNull;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import java.io.FileInputStream;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
import javax.ws.rs.client.Entity;
|
|
import javax.ws.rs.client.WebTarget;
|
|
import javax.ws.rs.core.MediaType;
|
|
import javax.ws.rs.core.Response;
|
|
|
|
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.rest.AddSectionToConcessioneRequest;
|
|
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.application.geoportal.service.legacy.TokenSetter;
|
|
import org.gcube.application.geoportal.service.utils.Serialization;
|
|
import org.junit.Assert;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
|
|
public class ConcessioniOverMongoTest extends BasicServiceTestUnit{
|
|
|
|
|
|
private static final String PATH="mongo-concessioni";
|
|
|
|
private static final String PUBLISH_PATH="publish";
|
|
private static final String FILES_PATH="registerFiles";
|
|
|
|
|
|
@Before
|
|
public void setContext() {
|
|
TokenSetter.set("/gcube/devsec/devVRE");
|
|
}
|
|
|
|
@Test
|
|
public void list() {
|
|
WebTarget target=target(PATH);
|
|
System.out.println(target.request(MediaType.APPLICATION_JSON).get(List.class));
|
|
}
|
|
|
|
@Test
|
|
public void createNew() throws Exception {
|
|
WebTarget target=target(PATH);
|
|
Concessione conc=TestModel.prepareConcessione();
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON));
|
|
Concessione c=check(resp,Concessione.class);
|
|
Assert.assertTrue(c.getMongo_id()!=null&&!c.getMongo_id().isEmpty());
|
|
System.out.println("ID IS "+c.getMongo_id());
|
|
}
|
|
|
|
|
|
@Test
|
|
public void delete() throws Exception {
|
|
WebTarget target=target(PATH);
|
|
Concessione conc=TestModel.prepareConcessione();
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON));
|
|
Concessione c=check(resp,Concessione.class);
|
|
System.out.println("ID IS "+c.getMongo_id());
|
|
|
|
Assert.assertTrue(c.getMongo_id()!=null&&!c.getMongo_id().isEmpty());
|
|
|
|
resp=target.path(c.getMongo_id()).request(MediaType.APPLICATION_JSON).delete();
|
|
check(resp,null);
|
|
}
|
|
|
|
|
|
@Test
|
|
public void getById() throws Exception {
|
|
WebTarget target=target(PATH);
|
|
Concessione conc=TestModel.prepareConcessione();
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON));
|
|
Concessione c=check(resp,Concessione.class);
|
|
|
|
Assert.assertTrue(c.getMongo_id()!=null&&!c.getMongo_id().isEmpty());
|
|
|
|
resp=target.path(c.getMongo_id()).request(MediaType.APPLICATION_JSON).get();
|
|
Concessione loaded=check(resp,Concessione.class);
|
|
System.out.println("Got by ID "+loaded);
|
|
|
|
Assert.assertTrue(loaded.getMongo_id()!=null&&!loaded.getMongo_id().isEmpty());
|
|
}
|
|
|
|
|
|
@Test
|
|
public void update() throws Exception {
|
|
WebTarget target=target(PATH);
|
|
Concessione conc=TestModel.prepareConcessione();
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON));
|
|
Concessione c=check(resp,Concessione.class);
|
|
|
|
resp=target.path(c.getMongo_id()).request(MediaType.APPLICATION_JSON).get();
|
|
Concessione loaded=check(resp,Concessione.class);
|
|
|
|
Assert.assertTrue(c.getMongo_id()!=null&&!c.getMongo_id().isEmpty());
|
|
System.out.println("Modifying "+loaded);
|
|
String newTitle="Questo titolo l'ho modificato mo'";
|
|
loaded.setNome(newTitle);
|
|
|
|
resp=target.request(MediaType.APPLICATION_JSON).put(Entity.entity(Serialization.write(loaded), MediaType.APPLICATION_JSON));
|
|
Assert.assertTrue(check(resp,Concessione.class).getNome().equals(newTitle));
|
|
|
|
}
|
|
|
|
@Test
|
|
public void uploadFile() throws Exception {
|
|
WebTarget target=target(PATH);
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(TestModel.prepareEmptyConcessione()), MediaType.APPLICATION_JSON));
|
|
Concessione c=check(resp,Concessione.class);
|
|
Assert.assertTrue(c.getMongo_id()!=null&&!c.getMongo_id().isEmpty());
|
|
System.out.println("ID IS "+c.getMongo_id());
|
|
|
|
// Insert section
|
|
c.setRelazioneScavo(TestModel.prepareConcessione().getRelazioneScavo());
|
|
// c.getRelazioneScavo().setMongo_id(TestModel.rnd());
|
|
|
|
resp=target.request(MediaType.APPLICATION_JSON).put(Entity.entity(Serialization.write(c), MediaType.APPLICATION_JSON));
|
|
c=check(resp,Concessione.class);
|
|
|
|
// Add file
|
|
TempFile f=new StorageUtils().putOntoStorage(new FileInputStream(Files.getFileFromResources("concessioni/relazione.pdf")), "relazione.pdf");
|
|
AddSectionToConcessioneRequest request=new AddSectionToConcessioneRequest();
|
|
request.setDestinationPath(Paths.RELAZIONE);
|
|
request.setStreams(Collections.singletonList(f));
|
|
|
|
resp=target.path(FILES_PATH).path(c.getMongo_id()).request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(request), MediaType.APPLICATION_JSON));
|
|
c=check(resp,Concessione.class);
|
|
assertNotNull(c.getRelazioneScavo().getActualContent());
|
|
assertTrue(c.getRelazioneScavo().getActualContent().size()>0);
|
|
|
|
System.out.println("ADDED FILE TO "+c);
|
|
}
|
|
|
|
@Test
|
|
public void publish() throws Exception {
|
|
WebTarget target=target(PATH);
|
|
Concessione conc=TestModel.prepareConcessione();
|
|
Response resp=target.request(MediaType.APPLICATION_JSON).post(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON));
|
|
Concessione c=check(resp,Concessione.class);
|
|
// System.out.println("ID IS "+c.getMongo_id());
|
|
resp=target.path(c.getMongo_id()).request(MediaType.APPLICATION_JSON).get();
|
|
Concessione loaded=check(resp,Concessione.class);
|
|
System.out.println("Modifying "+loaded);
|
|
String newTitle="Questo titolo l'ho modificato mo'";
|
|
loaded.setNome(newTitle);
|
|
|
|
resp=target.path(PUBLISH_PATH).path(c.getMongo_id()).request(MediaType.APPLICATION_JSON).
|
|
put(Entity.entity(Serialization.write(conc), MediaType.APPLICATION_JSON));
|
|
|
|
// TODO Validation
|
|
// Assert.assertTrue(check(resp,Concessione.class).getNome().equals(newTitle));
|
|
}
|
|
}
|