Added test
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/private/luca.frosini/infrastructure-tests@124621 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
f933e31423
commit
cb9aea9e6c
1
pom.xml
1
pom.xml
|
@ -30,7 +30,6 @@
|
|||
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.gcube.data.publishing</groupId>
|
||||
<artifactId>document-store-lib-couchbase</artifactId>
|
||||
|
|
|
@ -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<Calendar, Info> 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<Filter> filters = new ArrayList<Filter>();
|
||||
Filter filter = new Filter("consumerId", "gianpaolo.coro");
|
||||
filters.add(filter);
|
||||
TemporalConstraint temporalConstraint = new TemporalConstraint(startTime.getTimeInMillis(), endTime.getTimeInMillis(), AggregationMode.DAILY);
|
||||
|
||||
Map<Calendar, Info> infos = accountingPersistenceQueryCouchBase.query(AggregatedStorageUsageRecord.class, temporalConstraint, filters);
|
||||
|
||||
printMap(infos);
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue