Reorganizing tests
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/private/luca.frosini/infrastructure-tests@151088 82a268e6-3cf1-43bd-a215-b396298e98cfmaster
parent
473e4f0d68
commit
5fe99072dc
@ -1,203 +0,0 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.accounting.analytics.persistence.couchdb;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.SortedMap;
|
||||
|
||||
import org.gcube.accounting.analytics.Filter;
|
||||
import org.gcube.accounting.analytics.Info;
|
||||
import org.gcube.accounting.analytics.NumberedFilter;
|
||||
import org.gcube.accounting.analytics.TemporalConstraint;
|
||||
import org.gcube.accounting.analytics.TemporalConstraint.AggregationMode;
|
||||
import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration;
|
||||
import org.gcube.accounting.analytics.persistence.AccountingPersistenceQuery;
|
||||
import org.gcube.accounting.analytics.persistence.AccountingPersistenceQueryFactory;
|
||||
import org.gcube.accounting.datamodel.aggregation.AggregatedServiceUsageRecord;
|
||||
import org.gcube.testutility.ScopedTest;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
*/
|
||||
public class AccountingPersistenceQueryCouchDBTest extends ScopedTest {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(AccountingPersistenceQueryCouchDBTest.class);
|
||||
|
||||
protected AccountingPersistenceQueryCouchDB accountingPersistenceQueryCouchDB;
|
||||
|
||||
@Before
|
||||
public void before() throws Exception{
|
||||
AccountingPersistenceBackendQueryConfiguration configuration = new
|
||||
AccountingPersistenceBackendQueryConfiguration(AccountingPersistenceQueryCouchDB.class);
|
||||
/*
|
||||
configuration.addProperty(AccountingPersistenceQueryCouchDB.DB_NAME, "my_couchapp_test");
|
||||
String url = configuration.getProperty(AccountingPersistenceQueryCouchDB.URL_PROPERTY_KEY);
|
||||
url = url.replace("accounting-d-d4s.d4science.org", "couchdb01-d-d4s.d4science.org:5984");
|
||||
configuration.addProperty(AccountingPersistenceQueryCouchDB.URL_PROPERTY_KEY, url);
|
||||
*/
|
||||
accountingPersistenceQueryCouchDB = new AccountingPersistenceQueryCouchDB();
|
||||
accountingPersistenceQueryCouchDB.prepareConnection(configuration);
|
||||
}
|
||||
|
||||
public static <V> String printCalendarMap(Map<Calendar, V> map){
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for(Calendar calendar : map.keySet()){
|
||||
V v = map.get(calendar);
|
||||
stringBuilder.append(v.toString());
|
||||
stringBuilder.append("\n");
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
public static <T, V> String printMap(Map<T, ? extends Map<Calendar, V>> map){
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for(T t : map.keySet()) {
|
||||
stringBuilder.append(t.toString());
|
||||
stringBuilder.append("\n");
|
||||
Map<Calendar, V> innerMap = map.get(t);
|
||||
stringBuilder.append(printCalendarMap(innerMap));
|
||||
stringBuilder.append("\n");
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTimeSeriesEmptyFilter() throws Exception {
|
||||
Calendar startTime = Calendar.getInstance();
|
||||
startTime.set(2016, Calendar.JANUARY, 1);
|
||||
Calendar endTime = Calendar.getInstance();
|
||||
|
||||
List<Filter> filters = new ArrayList<Filter>();
|
||||
|
||||
TemporalConstraint temporalConstraint =
|
||||
new TemporalConstraint(startTime.getTimeInMillis(),
|
||||
endTime.getTimeInMillis(), AggregationMode.DAILY);
|
||||
|
||||
logger.trace("\n\n");
|
||||
|
||||
Class<AggregatedServiceUsageRecord> clz =
|
||||
AggregatedServiceUsageRecord.class;
|
||||
|
||||
SortedMap<Calendar, Info> timeSeries =
|
||||
accountingPersistenceQueryCouchDB.getTimeSeries(clz,
|
||||
temporalConstraint, filters);
|
||||
|
||||
logger.debug("Backend: Time Series for {}:\n{}", filters,
|
||||
printCalendarMap(timeSeries));
|
||||
|
||||
|
||||
AccountingPersistenceQuery apq =
|
||||
AccountingPersistenceQueryFactory.getInstance();
|
||||
timeSeries = apq.getTimeSeries(clz,temporalConstraint, filters, true);
|
||||
|
||||
logger.debug("Factory: Time Series for {}:\n{}", filters,
|
||||
printCalendarMap(timeSeries));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTop() throws Exception {
|
||||
Calendar startTime = Calendar.getInstance();
|
||||
startTime.set(2016, Calendar.JANUARY, 1);
|
||||
Calendar endTime = Calendar.getInstance();
|
||||
|
||||
List<Filter> filters = new ArrayList<Filter>();
|
||||
|
||||
TemporalConstraint temporalConstraint =
|
||||
new TemporalConstraint(startTime.getTimeInMillis(),
|
||||
endTime.getTimeInMillis(), AggregationMode.DAILY);
|
||||
|
||||
logger.trace("\n\n");
|
||||
|
||||
Class<AggregatedServiceUsageRecord> clz =
|
||||
AggregatedServiceUsageRecord.class;
|
||||
|
||||
Map<NumberedFilter, SortedMap<Calendar, Info>> map =
|
||||
accountingPersistenceQueryCouchDB.getTopValues(clz,
|
||||
temporalConstraint, filters, "consumerId",
|
||||
AccountingPersistenceQuery.getDefaultOrderingProperties(clz));
|
||||
|
||||
logger.debug("Backend: Top Query Results :\n{}\n", printMap(map));
|
||||
|
||||
AccountingPersistenceQuery apq =
|
||||
AccountingPersistenceQueryFactory.getInstance();
|
||||
map = apq.getTopValues(clz,
|
||||
temporalConstraint, filters, "consumerId",
|
||||
AccountingPersistenceQuery.getDefaultOrderingProperties(clz),
|
||||
true, 3);
|
||||
|
||||
logger.debug("Factory: Top Query Results :\n{}\n", printMap(map));
|
||||
|
||||
logger.debug("\n\n\n");
|
||||
|
||||
|
||||
/*
|
||||
SortedSet<NumberedFilter> possibleValues =
|
||||
accountingPersistenceQueryCouchDB.getNextPossibleValues(clz,
|
||||
temporalConstraint, filters, "consumerId",
|
||||
AccountingPersistenceQuery.getDefaultOrderingProperties(clz));
|
||||
|
||||
logger.debug("Backend: Possibile Values :\n{}\n", possibleValues);
|
||||
|
||||
possibleValues = apq.getNextPossibleValues(clz,
|
||||
temporalConstraint, filters, "consumerId",
|
||||
AccountingPersistenceQuery.getDefaultOrderingProperties(clz));
|
||||
|
||||
logger.debug("Factory: Possibile Values :\n{}\n", possibleValues);
|
||||
|
||||
logger.debug("\n\n\n");
|
||||
|
||||
if(possibleValues.size()>0){
|
||||
filters.add(possibleValues.first());
|
||||
}
|
||||
SortedMap<Calendar, Info> timeSeries =
|
||||
accountingPersistenceQueryCouchDB.getTimeSeries(clz,
|
||||
temporalConstraint, filters);
|
||||
|
||||
logger.debug("Backend: Time Series for {}:\n{}\n", possibleValues.first(),
|
||||
printCalendarMap(timeSeries));
|
||||
|
||||
timeSeries = apq.getTimeSeries(clz, temporalConstraint, filters);
|
||||
|
||||
logger.debug("Factory: Time Series for {}:\n{}\n", possibleValues.first(),
|
||||
printCalendarMap(timeSeries));
|
||||
*/
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTop2() throws Exception {
|
||||
Calendar startTime = Calendar.getInstance();
|
||||
startTime.set(2016, Calendar.JANUARY, 1);
|
||||
Calendar endTime = Calendar.getInstance();
|
||||
|
||||
List<Filter> filters = new ArrayList<Filter>();
|
||||
Filter filter = new Filter("serviceClass", "VREManagement");
|
||||
filters.add(filter);
|
||||
|
||||
|
||||
TemporalConstraint temporalConstraint =
|
||||
new TemporalConstraint(startTime.getTimeInMillis(),
|
||||
endTime.getTimeInMillis(), AggregationMode.DAILY);
|
||||
|
||||
logger.trace("\n\n");
|
||||
|
||||
Class<AggregatedServiceUsageRecord> clz =
|
||||
AggregatedServiceUsageRecord.class;
|
||||
|
||||
Map<NumberedFilter, SortedMap<Calendar, Info>> map =
|
||||
accountingPersistenceQueryCouchDB.getTopValues(clz,
|
||||
temporalConstraint, filters, "serviceName",
|
||||
AccountingPersistenceQuery.getDefaultOrderingProperties(clz));
|
||||
|
||||
logger.debug("Top Query Results :\n{}", printMap(map));
|
||||
}
|
||||
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.accounting.analytics.persistence.couchdb;
|
||||
|
||||
import org.codehaus.jackson.JsonNode;
|
||||
import org.ektorp.DocumentNotFoundException;
|
||||
import org.ektorp.ViewQuery;
|
||||
import org.ektorp.ViewResult;
|
||||
import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration;
|
||||
import org.gcube.testutility.ScopedTest;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
*/
|
||||
public class DeleteTestDocument extends ScopedTest {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(DeleteTestDocument.class);
|
||||
|
||||
//@Test
|
||||
public void removeTestRecords() throws Exception {
|
||||
AccountingPersistenceBackendQueryConfiguration persitenceConfiguration = new AccountingPersistenceBackendQueryConfiguration(AccountingPersistenceQueryCouchDB.class);
|
||||
AccountingPersistenceQueryCouchDB accountingPersistenceQueryCouchDB = new AccountingPersistenceQueryCouchDB();
|
||||
accountingPersistenceQueryCouchDB.prepareConnection(persitenceConfiguration);
|
||||
|
||||
ViewQuery query = new ViewQuery().designDocId("_design/TestRecords");
|
||||
query = query.viewName("testRecords");
|
||||
query = query.includeDocs(true);
|
||||
|
||||
ViewResult viewResult;
|
||||
try {
|
||||
viewResult = accountingPersistenceQueryCouchDB.query(query);
|
||||
} catch (DocumentNotFoundException e) {
|
||||
// Install VIEW if valid and does not exist
|
||||
throw e;
|
||||
}
|
||||
|
||||
for (ViewResult.Row row : viewResult) {
|
||||
String key = row.getKey();
|
||||
JsonNode node = row.getValueAsNode();
|
||||
logger.debug("Going to delete {}", node);
|
||||
String rev = node.get("_rev").asText();
|
||||
//accountingPersistenceQueryCouchDB.couchDbConnector.delete(key, rev);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.accounting.couchdb.query;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.gcube.common.scope.api.ScopeProvider;
|
||||
import org.gcube.testutility.ScopedTest;
|
||||
import org.gcube.vremanagement.executor.api.types.LaunchParameter;
|
||||
import org.gcube.vremanagement.executor.api.types.Scheduling;
|
||||
import org.gcube.vremanagement.executor.client.plugins.ExecutorPlugin;
|
||||
import org.gcube.vremanagement.executor.client.proxies.SmartExecutorProxy;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.quartz.CronExpression;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public class CouchDBQueryPluginSmartExecutorSchedulerTest extends ScopedTest {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(CouchDBQueryPluginSmartExecutorSchedulerTest.class);
|
||||
|
||||
public static final String START = "START";
|
||||
public static final String END = "END";
|
||||
|
||||
public static final String SCOPE = "";
|
||||
|
||||
private SmartExecutorProxy proxy;
|
||||
|
||||
@Before
|
||||
public void before() throws Exception{
|
||||
ScopeProvider.instance.reset(); // Comment this to run the test. this line has been added to avoid unwanted launch
|
||||
proxy = ExecutorPlugin.getExecutorProxy(CouchDBQueryPluginDeclaration.NAME).build();
|
||||
Assert.assertNotNull(proxy);
|
||||
}
|
||||
|
||||
public UUID scheduleTest(Scheduling scheduling, Long sleepTime) throws Exception {
|
||||
Map<String, Object> inputs = new HashMap<String, Object>();
|
||||
if(sleepTime==null){
|
||||
sleepTime = new Long(10*1000); // 10 sec = 10 * 1000 millisec
|
||||
}
|
||||
inputs.put(CouchDBQueryPlugin.DELAY_MILLIS, sleepTime);
|
||||
logger.debug("Inputs : {}", inputs);
|
||||
|
||||
LaunchParameter parameter = new LaunchParameter(CouchDBQueryPluginDeclaration.NAME, inputs);
|
||||
parameter.setScheduling(scheduling);
|
||||
|
||||
String uuidString = proxy.launch(parameter);
|
||||
return UUID.fromString(uuidString);
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void cronExpPreviousMustBeTerminated() throws Exception {
|
||||
CronExpression cronExpression = new CronExpression("0 */10 * * * ?"); // every 10 minutes starting from now
|
||||
Scheduling scheduling = new Scheduling(cronExpression, true);
|
||||
scheduling.setGlobal(true);
|
||||
UUID uuid = scheduleTest(scheduling, new Long(1000*60)); // 1 min
|
||||
logger.debug("Launched with UUID : {}", uuid);
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void unSchedule() throws Exception {
|
||||
proxy.unSchedule(null, true);
|
||||
}
|
||||
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
package org.gcube.accounting.couchdb.query;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.accounting.persistence.AccountingPersistenceFactory;
|
||||
import org.gcube.testutility.ScopedTest;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*/
|
||||
public class CouchDBQueryPluginTest extends ScopedTest {
|
||||
|
||||
/**
|
||||
* Logger
|
||||
*/
|
||||
private static Logger logger = LoggerFactory.getLogger(CouchDBQueryPluginTest.class);
|
||||
|
||||
|
||||
@Test
|
||||
public void testLaunch() throws Exception {
|
||||
logger.debug("Starting to test launch()");
|
||||
AccountingPersistenceFactory.initAccountingPackages();
|
||||
Map<String, Object> inputs = new HashMap<String, Object>();
|
||||
inputs.put(CouchDBQueryPlugin.DELAY_MILLIS, 1000*5); // Delay 10 sec
|
||||
inputs.put(CouchDBQueryPlugin.MAX_RETRY_NUMBER, 0); // No Retry
|
||||
CouchDBQueryPlugin couchDBQueryPlugin = new CouchDBQueryPlugin(null);
|
||||
couchDBQueryPlugin.launch(inputs);
|
||||
logger.debug("-------------- launch() test finished");
|
||||
}
|
||||
|
||||
}
|
@ -1,119 +1,119 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.accounting.persistence;
|
||||
|
||||
import java.io.StringWriter;
|
||||
import java.util.Calendar;
|
||||
|
||||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||
import org.gcube.common.resources.gcore.Resource;
|
||||
import org.gcube.common.resources.gcore.Resources;
|
||||
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||
import org.gcube.documentstore.persistence.PersistenceBackend;
|
||||
import org.gcube.documentstore.persistence.PersistenceBackendFactory;
|
||||
import org.gcube.documentstore.persistence.PersistenceMongoDB;
|
||||
import org.gcube.informationsystem.publisher.RegistryPublisher;
|
||||
import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
|
||||
import org.gcube.testutility.ScopedTest;
|
||||
import org.gcube.testutility.TestUtility;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
*/
|
||||
public class PersistenceMongoDBTest extends ScopedTest {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PersistenceMongoDBTest.class);
|
||||
|
||||
public static PersistenceBackend getPersistence(){
|
||||
PersistenceBackendFactory.setFallbackLocation(null);
|
||||
return PersistenceBackendFactory.getPersistenceBackend(TestUtility.getScope());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void persistenceIsMongoDB() {
|
||||
PersistenceBackend accountingPersistence = getPersistence();
|
||||
Assert.assertTrue(accountingPersistence instanceof PersistenceMongoDB);
|
||||
}
|
||||
|
||||
private static void publishResource(Resource resource) throws Exception {
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
Resources.marshal(resource, stringWriter);
|
||||
|
||||
RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
|
||||
|
||||
try {
|
||||
logger.debug("Trying to publish to {}:\n{}", TestUtility.getScope(), stringWriter);
|
||||
registryPublisher.create(resource);
|
||||
} catch (Exception e) {
|
||||
logger.error("The resource was not published", e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
private static void unPublishResource(Resource resource) throws Exception {
|
||||
//StringWriter stringWriter = new StringWriter();
|
||||
//Resources.marshal(resource, stringWriter);
|
||||
|
||||
RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
|
||||
|
||||
String id = resource.id();
|
||||
logger.debug("Trying to remove {} with ID {} from {}",
|
||||
resource.getClass().getSimpleName(), id,
|
||||
TestUtility.getScope());
|
||||
|
||||
registryPublisher.remove(resource);
|
||||
|
||||
logger.debug("{} with ID {} removed successfully", resource.getClass().getSimpleName(), id);
|
||||
}
|
||||
|
||||
public void testScopeRecheck() throws Exception {
|
||||
ServiceEndpoint serviceEndpoint = null;
|
||||
try {
|
||||
AccountingPersistenceConfiguration persitenceConfiguration = new AccountingPersistenceConfiguration(PersistenceMongoDB.class);
|
||||
serviceEndpoint = persitenceConfiguration.getServiceEndpoint(
|
||||
AccountingPersistenceConfiguration.SERVICE_ENDPOINT_CATEGORY, AccountingPersistenceConfiguration.SERVICE_ENDPOINT_NAME,
|
||||
PersistenceMongoDB.class);
|
||||
unPublishResource(serviceEndpoint);
|
||||
} catch(IndexOutOfBoundsException e){
|
||||
SecurityTokenProvider.instance.set(TestUtility.PARENT_TOKEN);
|
||||
AccountingPersistenceConfiguration persitenceConfiguration = new AccountingPersistenceConfiguration(PersistenceMongoDB.class);
|
||||
serviceEndpoint = persitenceConfiguration.getServiceEndpoint(
|
||||
AccountingPersistenceConfiguration.SERVICE_ENDPOINT_CATEGORY,
|
||||
AccountingPersistenceConfiguration.SERVICE_ENDPOINT_NAME,
|
||||
PersistenceMongoDB.class);
|
||||
SecurityTokenProvider.instance.set(TestUtility.TOKEN);
|
||||
}
|
||||
|
||||
|
||||
long startTime = Calendar.getInstance().getTimeInMillis();
|
||||
long endTime = startTime;
|
||||
while(endTime <= (startTime + 10*1000)){ // 10 sec
|
||||
endTime = Calendar.getInstance().getTimeInMillis();
|
||||
}
|
||||
|
||||
logger.debug("Going to check First Time");
|
||||
PersistenceBackend first = PersistenceBackendFactory.getPersistenceBackend(TestUtility.getScope());
|
||||
logger.debug("First {} : {}", PersistenceBackend.class.getSimpleName(), first);
|
||||
|
||||
publishResource(serviceEndpoint);
|
||||
|
||||
startTime = Calendar.getInstance().getTimeInMillis();
|
||||
endTime = startTime;
|
||||
while(endTime <= (startTime + (PersistenceBackendFactory.FALLBACK_RETRY_TIME + 100))){
|
||||
endTime = Calendar.getInstance().getTimeInMillis();
|
||||
}
|
||||
|
||||
logger.debug("Going to check Second Time");
|
||||
PersistenceBackend second = PersistenceBackendFactory.getPersistenceBackend(TestUtility.getScope());
|
||||
logger.debug("Second {} : {}", PersistenceBackend.class.getSimpleName(), second);
|
||||
|
||||
Assert.assertNotEquals(first, second);
|
||||
|
||||
}
|
||||
}
|
||||
///**
|
||||
// *
|
||||
// */
|
||||
//package org.gcube.accounting.persistence;
|
||||
//
|
||||
//import java.io.StringWriter;
|
||||
//import java.util.Calendar;
|
||||
//
|
||||
//import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||
//import org.gcube.common.resources.gcore.Resource;
|
||||
//import org.gcube.common.resources.gcore.Resources;
|
||||
//import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||
//import org.gcube.documentstore.persistence.PersistenceBackend;
|
||||
//import org.gcube.documentstore.persistence.PersistenceBackendFactory;
|
||||
//import org.gcube.documentstore.persistence.PersistenceMongoDB;
|
||||
//import org.gcube.informationsystem.publisher.RegistryPublisher;
|
||||
//import org.gcube.informationsystem.publisher.RegistryPublisherFactory;
|
||||
//import org.gcube.testutility.ScopedTest;
|
||||
//import org.gcube.testutility.TestUtility;
|
||||
//import org.junit.Assert;
|
||||
//import org.junit.Test;
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//
|
||||
///**
|
||||
// * @author Luca Frosini (ISTI - CNR)
|
||||
// *
|
||||
// */
|
||||
//public class PersistenceMongoDBTest extends ScopedTest {
|
||||
//
|
||||
// private static final Logger logger = LoggerFactory.getLogger(PersistenceMongoDBTest.class);
|
||||
//
|
||||
// public static PersistenceBackend getPersistence(){
|
||||
// PersistenceBackendFactory.setFallbackLocation(null);
|
||||
// return PersistenceBackendFactory.getPersistenceBackend(TestUtility.getScope());
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void persistenceIsMongoDB() {
|
||||
// PersistenceBackend accountingPersistence = getPersistence();
|
||||
// Assert.assertTrue(accountingPersistence instanceof PersistenceMongoDB);
|
||||
// }
|
||||
//
|
||||
// private static void publishResource(Resource resource) throws Exception {
|
||||
// StringWriter stringWriter = new StringWriter();
|
||||
// Resources.marshal(resource, stringWriter);
|
||||
//
|
||||
// RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
|
||||
//
|
||||
// try {
|
||||
// logger.debug("Trying to publish to {}:\n{}", TestUtility.getScope(), stringWriter);
|
||||
// registryPublisher.create(resource);
|
||||
// } catch (Exception e) {
|
||||
// logger.error("The resource was not published", e);
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// private static void unPublishResource(Resource resource) throws Exception {
|
||||
// //StringWriter stringWriter = new StringWriter();
|
||||
// //Resources.marshal(resource, stringWriter);
|
||||
//
|
||||
// RegistryPublisher registryPublisher = RegistryPublisherFactory.create();
|
||||
//
|
||||
// String id = resource.id();
|
||||
// logger.debug("Trying to remove {} with ID {} from {}",
|
||||
// resource.getClass().getSimpleName(), id,
|
||||
// TestUtility.getScope());
|
||||
//
|
||||
// registryPublisher.remove(resource);
|
||||
//
|
||||
// logger.debug("{} with ID {} removed successfully", resource.getClass().getSimpleName(), id);
|
||||
// }
|
||||
//
|
||||
// public void testScopeRecheck() throws Exception {
|
||||
// ServiceEndpoint serviceEndpoint = null;
|
||||
// try {
|
||||
// AccountingPersistenceConfiguration persitenceConfiguration = new AccountingPersistenceConfiguration(PersistenceMongoDB.class);
|
||||
// serviceEndpoint = persitenceConfiguration.getServiceEndpoint(
|
||||
// AccountingPersistenceConfiguration.SERVICE_ENDPOINT_CATEGORY, AccountingPersistenceConfiguration.SERVICE_ENDPOINT_NAME,
|
||||
// PersistenceMongoDB.class);
|
||||
// unPublishResource(serviceEndpoint);
|
||||
// } catch(IndexOutOfBoundsException e){
|
||||
// SecurityTokenProvider.instance.set(TestUtility.PARENT_TOKEN);
|
||||
// AccountingPersistenceConfiguration persitenceConfiguration = new AccountingPersistenceConfiguration(PersistenceMongoDB.class);
|
||||
// serviceEndpoint = persitenceConfiguration.getServiceEndpoint(
|
||||
// AccountingPersistenceConfiguration.SERVICE_ENDPOINT_CATEGORY,
|
||||
// AccountingPersistenceConfiguration.SERVICE_ENDPOINT_NAME,
|
||||
// PersistenceMongoDB.class);
|
||||
// SecurityTokenProvider.instance.set(TestUtility.TOKEN);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// long startTime = Calendar.getInstance().getTimeInMillis();
|
||||
// long endTime = startTime;
|
||||
// while(endTime <= (startTime + 10*1000)){ // 10 sec
|
||||
// endTime = Calendar.getInstance().getTimeInMillis();
|
||||
// }
|
||||
//
|
||||
// logger.debug("Going to check First Time");
|
||||
// PersistenceBackend first = PersistenceBackendFactory.getPersistenceBackend(TestUtility.getScope());
|
||||
// logger.debug("First {} : {}", PersistenceBackend.class.getSimpleName(), first);
|
||||
//
|
||||
// publishResource(serviceEndpoint);
|
||||
//
|
||||
// startTime = Calendar.getInstance().getTimeInMillis();
|
||||
// endTime = startTime;
|
||||
// while(endTime <= (startTime + (PersistenceBackendFactory.FALLBACK_RETRY_TIME + 100))){
|
||||
// endTime = Calendar.getInstance().getTimeInMillis();
|
||||
// }
|
||||
//
|
||||
// logger.debug("Going to check Second Time");
|
||||
// PersistenceBackend second = PersistenceBackendFactory.getPersistenceBackend(TestUtility.getScope());
|
||||
// logger.debug("Second {} : {}", PersistenceBackend.class.getSimpleName(), second);
|
||||
//
|
||||
// Assert.assertNotEquals(first, second);
|
||||
//
|
||||
// }
|
||||
//}
|
||||
|
@ -1,72 +1,72 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.documentstore.persistence;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import org.codehaus.jackson.JsonNode;
|
||||
import org.gcube.documentstore.records.Record;
|
||||
import org.gcube.testutility.ScopedTest;
|
||||
import org.gcube.testutility.TestUsageRecord;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
*/
|
||||
public class PersistenceCouchDBTest extends ScopedTest {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PersistenceCouchDBTest.class);
|
||||
|
||||
@Test
|
||||
public void testJsonNodeUsageRecordConversions() throws Exception {
|
||||
Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
logger.debug("UsageRecord : {}", record.toString());
|
||||
JsonNode node = PersistenceCouchDB.usageRecordToJsonNode(record);
|
||||
logger.debug("Node : {}", node.toString());
|
||||
Record r = PersistenceCouchDB.jsonNodeToUsageRecord(node);
|
||||
Assert.assertEquals(0, record.compareTo(r));
|
||||
Assert.assertEquals(0, r.compareTo(record));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJsonNodeUsageRecordConversionsWithNestedMap() throws Exception {
|
||||
Record record = TestUsageRecord.createTestTaskUsageRecord();
|
||||
logger.debug("UsageRecord : {}", record.toString());
|
||||
JsonNode node = PersistenceCouchDB.usageRecordToJsonNode(record);
|
||||
logger.debug("Node : {}", node.toString());
|
||||
Record r = PersistenceCouchDB.jsonNodeToUsageRecord(node);
|
||||
Assert.assertEquals(0, record.compareTo(r));
|
||||
Assert.assertEquals(0, r.compareTo(record));
|
||||
}
|
||||
|
||||
//@Test
|
||||
public void testProxyWithTestConfiguration() throws Exception{
|
||||
// Production-Preproduction Nodes
|
||||
//URL url = new URL("http://accounting-d4s.d4science.org");
|
||||
//URL url = new URL("http://couchdb02-d4s.d4science.org:5984");
|
||||
//URL url = new URL("http://couchdb01-d4s.d4science.org:5984");
|
||||
|
||||
URL url = new URL("http://accounting-d-d4s.d4science.org/_utils/");
|
||||
//URL url = new URL("http://couchdb02-d-d4s.d4science.org:5984");
|
||||
//URL url = new URL("http://couchdb01-d-d4s.d4science.org:5984");
|
||||
|
||||
PersistenceBackendConfiguration persitenceConfiguration = PersistenceBackendConfiguration.getUnconfiguredInstance();
|
||||
persitenceConfiguration.addProperty(PersistenceCouchDB.URL_PROPERTY_KEY, url.toString());
|
||||
persitenceConfiguration.addProperty(PersistenceCouchDB.USERNAME_PROPERTY_KEY, "");
|
||||
persitenceConfiguration.addProperty(PersistenceCouchDB.PASSWORD_PROPERTY_KEY, "");
|
||||
persitenceConfiguration.addProperty(PersistenceCouchDB.DB_NAME,"");
|
||||
|
||||
PersistenceCouchDB couch = new PersistenceCouchDB();
|
||||
couch.prepareConnection(persitenceConfiguration);
|
||||
|
||||
Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
couch.reallyAccount(record);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
///**
|
||||
// *
|
||||
// */
|
||||
//package org.gcube.documentstore.persistence;
|
||||
//
|
||||
//import java.net.URL;
|
||||
//
|
||||
//import org.codehaus.jackson.JsonNode;
|
||||
//import org.gcube.documentstore.records.Record;
|
||||
//import org.gcube.testutility.ScopedTest;
|
||||
//import org.gcube.testutility.TestUsageRecord;
|
||||
//import org.junit.Assert;
|
||||
//import org.junit.Test;
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//
|
||||
///**
|
||||
// * @author Luca Frosini (ISTI - CNR)
|
||||
// *
|
||||
// */
|
||||
//public class PersistenceCouchDBTest extends ScopedTest {
|
||||
//
|
||||
// private static final Logger logger = LoggerFactory.getLogger(PersistenceCouchDBTest.class);
|
||||
//
|
||||
// @Test
|
||||
// public void testJsonNodeUsageRecordConversions() throws Exception {
|
||||
// Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
// logger.debug("UsageRecord : {}", record.toString());
|
||||
// JsonNode node = PersistenceCouchDB.usageRecordToJsonNode(record);
|
||||
// logger.debug("Node : {}", node.toString());
|
||||
// Record r = PersistenceCouchDB.jsonNodeToUsageRecord(node);
|
||||
// Assert.assertEquals(0, record.compareTo(r));
|
||||
// Assert.assertEquals(0, r.compareTo(record));
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void testJsonNodeUsageRecordConversionsWithNestedMap() throws Exception {
|
||||
// Record record = TestUsageRecord.createTestTaskUsageRecord();
|
||||
// logger.debug("UsageRecord : {}", record.toString());
|
||||
// JsonNode node = PersistenceCouchDB.usageRecordToJsonNode(record);
|
||||
// logger.debug("Node : {}", node.toString());
|
||||
// Record r = PersistenceCouchDB.jsonNodeToUsageRecord(node);
|
||||
// Assert.assertEquals(0, record.compareTo(r));
|
||||
// Assert.assertEquals(0, r.compareTo(record));
|
||||
// }
|
||||
//
|
||||
// //@Test
|
||||
// public void testProxyWithTestConfiguration() throws Exception{
|
||||
// // Production-Preproduction Nodes
|
||||
// //URL url = new URL("http://accounting-d4s.d4science.org");
|
||||
// //URL url = new URL("http://couchdb02-d4s.d4science.org:5984");
|
||||
// //URL url = new URL("http://couchdb01-d4s.d4science.org:5984");
|
||||
//
|
||||
// URL url = new URL("http://accounting-d-d4s.d4science.org/_utils/");
|
||||
// //URL url = new URL("http://couchdb02-d-d4s.d4science.org:5984");
|
||||
// //URL url = new URL("http://couchdb01-d-d4s.d4science.org:5984");
|
||||
//
|
||||
// PersistenceBackendConfiguration persitenceConfiguration = PersistenceBackendConfiguration.getUnconfiguredInstance();
|
||||
// persitenceConfiguration.addProperty(PersistenceCouchDB.URL_PROPERTY_KEY, url.toString());
|
||||
// persitenceConfiguration.addProperty(PersistenceCouchDB.USERNAME_PROPERTY_KEY, "");
|
||||
// persitenceConfiguration.addProperty(PersistenceCouchDB.PASSWORD_PROPERTY_KEY, "");
|
||||
// persitenceConfiguration.addProperty(PersistenceCouchDB.DB_NAME,"");
|
||||
//
|
||||
// PersistenceCouchDB couch = new PersistenceCouchDB();
|
||||
// couch.prepareConnection(persitenceConfiguration);
|
||||
//
|
||||
// Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
// couch.reallyAccount(record);
|
||||
//
|
||||
// }
|
||||
//
|
||||
//}
|
@ -1,86 +1,86 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.gcube.documentstore.persistence;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import org.bson.Document;
|
||||
import org.gcube.accounting.datamodel.UsageRecord;
|
||||
import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord.OperationType;
|
||||
import org.gcube.documentstore.records.Record;
|
||||
import org.gcube.testutility.TestUsageRecord;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author Luca Frosini (ISTI - CNR)
|
||||
*
|
||||
*/
|
||||
public class PersistenceMongoDBTest {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PersistenceMongoDBTest.class);
|
||||
|
||||
|
||||
@Test
|
||||
public void testJsonNodeUsageRecordConversions() throws Exception {
|
||||
Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
logger.debug("UsageRecord : {}", record.toString());
|
||||
Document document = PersistenceMongoDB.usageRecordToDocument(record);
|
||||
logger.debug("Document : {}", document.toString());
|
||||
Record r = PersistenceMongoDB.documentToUsageRecord(document);
|
||||
Assert.assertEquals(0, record.compareTo(r));
|
||||
Assert.assertEquals(0, r.compareTo(record));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJsonNodeUsageRecordConversionsWithNestedMap() throws Exception {
|
||||
Record record = TestUsageRecord.createTestTaskUsageRecord();
|
||||
logger.debug("UsageRecord : {}", record.toString());
|
||||
Document document = PersistenceMongoDB.usageRecordToDocument(record);
|
||||
logger.debug("Document : {}", document.toString());
|
||||
Record r = PersistenceMongoDB.documentToUsageRecord(document);
|
||||
Assert.assertEquals(0, record.compareTo(r));
|
||||
Assert.assertEquals(0, r.compareTo(record));
|
||||
}
|
||||
|
||||
public enum AUX {
|
||||
TEST, TESTER, TESTING
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConfiguration() throws Exception{
|
||||
URL url = new URL("http://mongo-test.d4science.org");
|
||||
|
||||
PersistenceBackendConfiguration persitenceConfiguration = PersistenceBackendConfiguration.getUnconfiguredInstance();
|
||||
persitenceConfiguration.addProperty(PersistenceMongoDB.URL_PROPERTY_KEY, url.toString());
|
||||
persitenceConfiguration.addProperty(PersistenceMongoDB.USERNAME_PROPERTY_KEY, "accounting");
|
||||
persitenceConfiguration.addProperty(PersistenceMongoDB.PASSWORD_PROPERTY_KEY, "");
|
||||
persitenceConfiguration.addProperty(PersistenceMongoDB.DB_NAME,"accounting");
|
||||
persitenceConfiguration.addProperty(PersistenceMongoDB.COLLECTION_NAME, UsageRecord.class.getSimpleName());
|
||||
PersistenceMongoDB mongo = new PersistenceMongoDB();
|
||||
mongo.prepareConnection(persitenceConfiguration);
|
||||
|
||||
|
||||
Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
record.setResourceProperty("Test", AUX.TESTER);
|
||||
mongo.reallyAccount(record);
|
||||
|
||||
record = TestUsageRecord.createTestStorageUsageRecord();
|
||||
record.setResourceProperty("Test", AUX.TESTER);
|
||||
mongo.reallyAccount(record);
|
||||
|
||||
record = TestUsageRecord.createTestJobUsageRecord();
|
||||
mongo.reallyAccount(record);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test(){
|
||||
EnumCodec<OperationType> enumCodec = new EnumCodec<OperationType>(OperationType.class);
|
||||
Assert.assertEquals(OperationType.class, enumCodec.getEncoderClass());
|
||||
}
|
||||
|
||||
}
|
||||
///**
|
||||
// *
|
||||
// */
|
||||
//package org.gcube.documentstore.persistence;
|
||||
//
|
||||
//import java.net.URL;
|
||||
//
|
||||
//import org.bson.Document;
|
||||
//import org.gcube.accounting.datamodel.UsageRecord;
|
||||
//import org.gcube.accounting.datamodel.basetypes.AbstractStorageUsageRecord.OperationType;
|
||||
//import org.gcube.documentstore.records.Record;
|
||||
//import org.gcube.testutility.TestUsageRecord;
|
||||
//import org.junit.Assert;
|
||||
//import org.junit.Test;
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//
|
||||
///**
|
||||
// * @author Luca Frosini (ISTI - CNR)
|
||||
// *
|
||||
// */
|
||||
//public class PersistenceMongoDBTest {
|
||||
//
|
||||
// private static final Logger logger = LoggerFactory.getLogger(PersistenceMongoDBTest.class);
|
||||
//
|
||||
//
|
||||
// @Test
|
||||
// public void testJsonNodeUsageRecordConversions() throws Exception {
|
||||
// Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
// logger.debug("UsageRecord : {}", record.toString());
|
||||
// Document document = PersistenceMongoDB.usageRecordToDocument(record);
|
||||
// logger.debug("Document : {}", document.toString());
|
||||
// Record r = PersistenceMongoDB.documentToUsageRecord(document);
|
||||
// Assert.assertEquals(0, record.compareTo(r));
|
||||
// Assert.assertEquals(0, r.compareTo(record));
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void testJsonNodeUsageRecordConversionsWithNestedMap() throws Exception {
|
||||
// Record record = TestUsageRecord.createTestTaskUsageRecord();
|
||||
// logger.debug("UsageRecord : {}", record.toString());
|
||||
// Document document = PersistenceMongoDB.usageRecordToDocument(record);
|
||||
// logger.debug("Document : {}", document.toString());
|
||||
// Record r = PersistenceMongoDB.documentToUsageRecord(document);
|
||||
// Assert.assertEquals(0, record.compareTo(r));
|
||||
// Assert.assertEquals(0, r.compareTo(record));
|
||||
// }
|
||||
//
|
||||
// public enum AUX {
|
||||
// TEST, TESTER, TESTING
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void testConfiguration() throws Exception{
|
||||
// URL url = new URL("http://mongo-test.d4science.org");
|
||||
//
|
||||
// PersistenceBackendConfiguration persitenceConfiguration = PersistenceBackendConfiguration.getUnconfiguredInstance();
|
||||
// persitenceConfiguration.addProperty(PersistenceMongoDB.URL_PROPERTY_KEY, url.toString());
|
||||
// persitenceConfiguration.addProperty(PersistenceMongoDB.USERNAME_PROPERTY_KEY, "accounting");
|
||||
// persitenceConfiguration.addProperty(PersistenceMongoDB.PASSWORD_PROPERTY_KEY, "");
|
||||
// persitenceConfiguration.addProperty(PersistenceMongoDB.DB_NAME,"accounting");
|
||||
// persitenceConfiguration.addProperty(PersistenceMongoDB.COLLECTION_NAME, UsageRecord.class.getSimpleName());
|
||||
// PersistenceMongoDB mongo = new PersistenceMongoDB();
|
||||
// mongo.prepareConnection(persitenceConfiguration);
|
||||
//
|
||||
//
|
||||
// Record record = TestUsageRecord.createTestServiceUsageRecord();
|
||||
// record.setResourceProperty("Test", AUX.TESTER);
|
||||
// mongo.reallyAccount(record);
|
||||
//
|
||||
// record = TestUsageRecord.createTestStorageUsageRecord();
|
||||
// record.setResourceProperty("Test", AUX.TESTER);
|
||||
// mongo.reallyAccount(record);
|
||||
//
|
||||
// record = TestUsageRecord.createTestJobUsageRecord();
|
||||
// mongo.reallyAccount(record);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Test
|
||||
// public void test(){
|
||||
// EnumCodec<OperationType> enumCodec = new EnumCodec<OperationType>(OperationType.class);
|
||||
// Assert.assertEquals(OperationType.class, enumCodec.getEncoderClass());
|
||||
// }
|
||||
//
|
||||
//}
|
Loading…
Reference in New Issue