2020-12-04 18:37:15 +01:00
|
|
|
package org.gcube.application.geoportal.service;
|
|
|
|
|
|
|
|
import javax.persistence.EntityManagerFactory;
|
|
|
|
import javax.ws.rs.core.Application;
|
2020-12-17 18:27:45 +01:00
|
|
|
import javax.ws.rs.core.Response;
|
2020-12-04 18:37:15 +01:00
|
|
|
|
|
|
|
import org.gcube.application.geoportal.managers.AbstractRecordManager;
|
|
|
|
import org.gcube.application.geoportal.model.fault.ConfigurationException;
|
2020-12-17 18:27:45 +01:00
|
|
|
import org.gcube.application.geoportal.model.report.PublicationReport;
|
2020-12-04 18:37:15 +01:00
|
|
|
import org.gcube.application.geoportal.service.engine.ImplementationProvider;
|
|
|
|
import org.gcube.application.geoportal.service.engine.ScopedEMFProvider;
|
|
|
|
import org.gcube.application.geoportal.service.engine.StorageClientProvider;
|
2020-12-17 18:27:45 +01:00
|
|
|
import org.gcube.application.geoportal.service.engine.cache.MongoClientProvider;
|
|
|
|
import org.gcube.application.geoportal.service.engine.cache.MongoConnectionProvider;
|
2020-12-04 18:37:15 +01:00
|
|
|
import org.gcube.application.geoportal.service.legacy.TokenSetter;
|
2020-12-17 18:27:45 +01:00
|
|
|
import org.gcube.application.geoportal.service.utils.Serialization;
|
2020-12-04 18:37:15 +01:00
|
|
|
import org.gcube.contentmanagement.blobstorage.service.IClient;
|
|
|
|
import org.glassfish.jersey.test.JerseyTest;
|
|
|
|
import org.junit.BeforeClass;
|
|
|
|
|
2020-12-17 18:27:45 +01:00
|
|
|
import com.mongodb.MongoClient;
|
|
|
|
|
2020-12-04 18:37:15 +01:00
|
|
|
public class BasicServiceTestUnit extends JerseyTest {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected Application configure() {
|
|
|
|
return new GeoPortalService();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@BeforeClass
|
|
|
|
public static void init() {
|
|
|
|
String scope="/gcube/devsec/devVRE";
|
|
|
|
AbstractRecordManager.setDefaultProvider(
|
|
|
|
|
|
|
|
new ScopedEMFProvider(){
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public EntityManagerFactory getFactory() {
|
|
|
|
TokenSetter.set(scope);
|
|
|
|
return super.getFactory();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
ImplementationProvider.get().setStorageProvider(new StorageClientProvider() {
|
|
|
|
@Override
|
|
|
|
public IClient getObject() throws ConfigurationException {
|
|
|
|
TokenSetter.set(scope);
|
|
|
|
return super.getObject();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2020-12-17 18:27:45 +01:00
|
|
|
|
|
|
|
ImplementationProvider.get().setMongoConnectionProvider(new MongoConnectionProvider() {
|
|
|
|
@Override
|
|
|
|
public org.gcube.application.geoportal.service.model.internal.db.MongoConnection getObject() throws ConfigurationException {
|
|
|
|
TokenSetter.set(scope);
|
|
|
|
return super.getObject();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
ImplementationProvider.get().setMongoClientProvider(new MongoClientProvider() {
|
|
|
|
@Override
|
|
|
|
public MongoClient getObject() throws ConfigurationException {
|
|
|
|
TokenSetter.set(scope);
|
|
|
|
return super.getObject();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
return Serialization.read(resString, clazz);
|
2020-12-04 18:37:15 +01:00
|
|
|
}
|
|
|
|
}
|