gcube-cms-suite/geoportal-service/src/test/java/org/gcube/application/geoportal/service/BasicServiceTestUnit.java

52 lines
1.5 KiB
Java

package org.gcube.application.geoportal.service;
import lombok.extern.slf4j.Slf4j;
import org.gcube.application.cms.tests.TokenSetter;
import org.gcube.application.geoportal.service.rest.GuardedMethod;
import org.gcube.application.geoportal.service.utils.Serialization;
import org.glassfish.jersey.test.JerseyTest;
import org.junit.BeforeClass;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.Response;
@Slf4j
public class BasicServiceTestUnit extends JerseyTest {
@Override
protected Application configure() {
return new GeoPortalService();
}
protected static String scope="/gcube/devsec/devVRE";
// protected static String scope="/pred4s/preprod/preVRE";
// protected static String scope="/d4science.research-infrastructures.eu/D4OS/GeoNA-Prototype";
@BeforeClass
public static void init() {
GuardedMethod.addPreoperation(new Runnable() {
@Override
public void run() {
log.debug("TEST IMPL : Setting context "+scope+" in received call");
TokenSetter.set(scope);
}
});
}
protected static<T> T check(Response resp, Class<T> clazz) throws Exception {
String resString=resp.readEntity(String.class);
if(resp.getStatus()<200||resp.getStatus()>=300)
throw new Exception("RESP STATUS IS "+resp.getStatus()+". Message : "+resString);
System.out.println("Resp String is "+resString);
if(clazz!=null)
if (clazz==String.class)
return (T) resString;
else
return Serialization.read(resString, clazz);
else return null;
}
}