This repository has been archived on 2021-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
geoportal-service/src/test/java/org/gcube/application/geoportal/service/ConcessioniOverMongoTest.java

119 lines
4.2 KiB
Java

package org.gcube.application.geoportal.service;
import java.io.IOException;
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.service.utils.Serialization;
import org.junit.Assert;
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";
@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() {
// TODO
}
@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));
}
}