diff --git a/pom.xml b/pom.xml index 109962d..764970c 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,6 @@ [1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT) test - org.gcube.data.publishing document-store-lib-couchbase diff --git a/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java b/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java new file mode 100644 index 0000000..bdf0ac9 --- /dev/null +++ b/src/test/java/org/gcube/accounting/analytics/persistence/couchbase/AccountingPersistenceQueryCouchBaseTest.java @@ -0,0 +1,98 @@ +/** + * + */ +package org.gcube.accounting.analytics.persistence.couchbase; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import java.util.Map; + +import org.gcube.accounting.analytics.Filter; +import org.gcube.accounting.analytics.Info; +import org.gcube.accounting.analytics.TemporalConstraint; +import org.gcube.accounting.analytics.TemporalConstraint.AggregationMode; +import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration; +import org.gcube.accounting.datamodel.aggregation.AggregatedStorageUsageRecord; +import org.gcube.common.scope.api.ScopeProvider; +import org.gcube.testutility.ScopedTest; +import org.json.JSONObject; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ + * + */ +public class AccountingPersistenceQueryCouchBaseTest extends ScopedTest { + + private static Logger logger = LoggerFactory.getLogger(AccountingPersistenceQueryCouchBaseTest.class); + + protected AccountingPersistenceQueryCouchBase accountingPersistenceQueryCouchBase; + + public class ExtendedInfo extends Info { + + protected String key; + + /** + * @return the key + */ + public String getKey() { + return key; + } + + /** + * @param key the key to set + */ + public void setKey(String key) { + this.key = key; + } + + public ExtendedInfo(String key, Calendar calendar, JSONObject value){ + super(calendar, value); + this.key = key; + } + + public String toString(){ + String info = String .format("Key : %s, %s ", key, super.toString()); + return info; + } + + } + + + @Before + public void before() throws Exception{ + super.before(); + AccountingPersistenceBackendQueryConfiguration configuration = new + AccountingPersistenceBackendQueryConfiguration(AccountingPersistenceQueryCouchBase.class); + accountingPersistenceQueryCouchBase = new AccountingPersistenceQueryCouchBase(); + accountingPersistenceQueryCouchBase.prepareConnection(configuration); + } + + + public void printMap(Map map){ + for(Info info : map.values()){ + logger.debug("{}", info); + } + } + + @Test + public void test() throws Exception { + Calendar startTime = Calendar.getInstance(); + startTime.set(2015, Calendar.SEPTEMBER, 9); + Calendar endTime = Calendar.getInstance(); + endTime.set(2016, Calendar.OCTOBER, 16); + List filters = new ArrayList(); + Filter filter = new Filter("consumerId", "gianpaolo.coro"); + filters.add(filter); + TemporalConstraint temporalConstraint = new TemporalConstraint(startTime.getTimeInMillis(), endTime.getTimeInMillis(), AggregationMode.DAILY); + + Map infos = accountingPersistenceQueryCouchBase.query(AggregatedStorageUsageRecord.class, temporalConstraint, filters); + + printMap(infos); + + } +}