improving tests
This commit is contained in:
parent
de5fe9aa2a
commit
413cfddb37
|
@ -5,7 +5,9 @@ package org.gcube.accounting.analytics.persistence.postgresql;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.SortedMap;
|
import java.util.SortedMap;
|
||||||
import java.util.SortedSet;
|
import java.util.SortedSet;
|
||||||
|
|
||||||
|
@ -49,6 +51,15 @@ public class AccountingPersistenceQueryPostgreSQLTest extends ContextTest {
|
||||||
accountingPersistenceQueryPostgreSQL.prepareConnection(configuration);
|
accountingPersistenceQueryPostgreSQL.prepareConnection(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected List<Filter> getFilters(){
|
||||||
|
List<Filter> filters = new ArrayList<>();
|
||||||
|
String user = QueryTest.getRandomUser();
|
||||||
|
logger.debug("Going to query filtering with user {}", user);
|
||||||
|
Filter filter = new Filter(UsageRecord.CONSUMER_ID, user);
|
||||||
|
filters.add(filter);
|
||||||
|
return filters;
|
||||||
|
}
|
||||||
|
|
||||||
protected TemporalConstraint getTemporalConstraint() {
|
protected TemporalConstraint getTemporalConstraint() {
|
||||||
Calendar startTimeCalendar = Calendar.getInstance();
|
Calendar startTimeCalendar = Calendar.getInstance();
|
||||||
startTimeCalendar.set(Calendar.YEAR, 2015);
|
startTimeCalendar.set(Calendar.YEAR, 2015);
|
||||||
|
@ -69,23 +80,28 @@ public class AccountingPersistenceQueryPostgreSQLTest extends ContextTest {
|
||||||
return temporalConstraint;
|
return temporalConstraint;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
protected List<Class<? extends AggregatedRecord<?, ?>>> getClassesToTest(){
|
||||||
public void testGetNoContextTimeSeries() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
|
||||||
|
|
||||||
List<Filter> filters = new ArrayList<>();
|
|
||||||
Filter filter = new Filter(UsageRecord.CONSUMER_ID, QueryTest.getRandomUser());
|
|
||||||
filters.add(filter);
|
|
||||||
|
|
||||||
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
|
||||||
|
|
||||||
List<Class<? extends AggregatedRecord<?, ?>>> classes = new ArrayList<Class<? extends AggregatedRecord<?, ?>>>();
|
List<Class<? extends AggregatedRecord<?, ?>>> classes = new ArrayList<Class<? extends AggregatedRecord<?, ?>>>();
|
||||||
classes.add(AggregatedServiceUsageRecord.class);
|
classes.add(AggregatedServiceUsageRecord.class);
|
||||||
classes.add(AggregatedStorageUsageRecord.class);
|
classes.add(AggregatedStorageUsageRecord.class);
|
||||||
classes.add(AggregatedJobUsageRecord.class);
|
classes.add(AggregatedJobUsageRecord.class);
|
||||||
|
|
||||||
|
return classes;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetNoContextTimeSeries() throws Exception {
|
||||||
|
|
||||||
|
List<Filter> filters = getFilters();
|
||||||
|
|
||||||
|
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
||||||
|
|
||||||
|
List<Class<? extends AggregatedRecord<?, ?>>> classes = getClassesToTest();
|
||||||
|
|
||||||
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
||||||
logger.debug("----------------------------------------------------------------------");
|
logger.debug("----------------------------------------------------------------------");
|
||||||
logger.debug("Going to query {}\n", RecordToDBMapping.getRecordTypeByClass(clz));
|
logger.debug("Going to query {}\n", RecordToDBMapping.getRecordTypeByClass(clz));
|
||||||
|
|
||||||
SortedMap<Calendar, Info> timeseries = accountingPersistenceQueryPostgreSQL.getNoContextTimeSeries(clz, temporalConstraint, filters);
|
SortedMap<Calendar, Info> timeseries = accountingPersistenceQueryPostgreSQL.getNoContextTimeSeries(clz, temporalConstraint, filters);
|
||||||
for(Calendar c : timeseries.keySet()) {
|
for(Calendar c : timeseries.keySet()) {
|
||||||
Info info = timeseries.get(c);
|
Info info = timeseries.get(c);
|
||||||
|
@ -96,16 +112,11 @@ public class AccountingPersistenceQueryPostgreSQLTest extends ContextTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testTimeSeries() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
public void testTimeSeries() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
||||||
List<Filter> filters = new ArrayList<>();
|
List<Filter> filters = getFilters();
|
||||||
Filter filter = new Filter(UsageRecord.CONSUMER_ID, QueryTest.getRandomUser());
|
|
||||||
filters.add(filter);
|
|
||||||
|
|
||||||
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
||||||
|
|
||||||
List<Class<? extends AggregatedRecord<?, ?>>> classes = new ArrayList<Class<? extends AggregatedRecord<?, ?>>>();
|
List<Class<? extends AggregatedRecord<?, ?>>> classes = getClassesToTest();
|
||||||
classes.add(AggregatedServiceUsageRecord.class);
|
|
||||||
classes.add(AggregatedStorageUsageRecord.class);
|
|
||||||
classes.add(AggregatedJobUsageRecord.class);
|
|
||||||
|
|
||||||
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
||||||
logger.debug("----------------------------------------------------------------------");
|
logger.debug("----------------------------------------------------------------------");
|
||||||
|
@ -125,22 +136,16 @@ public class AccountingPersistenceQueryPostgreSQLTest extends ContextTest {
|
||||||
@Test
|
@Test
|
||||||
public void testContextTimeSeries() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
public void testContextTimeSeries() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
||||||
|
|
||||||
List<Filter> filters = new ArrayList<>();
|
List<Filter> filters = getFilters();
|
||||||
Filter filter = new Filter(UsageRecord.CONSUMER_ID, QueryTest.getRandomUser());
|
|
||||||
filters.add(filter);
|
|
||||||
|
|
||||||
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
||||||
|
|
||||||
|
List<Class<? extends AggregatedRecord<?, ?>>> classes = getClassesToTest();
|
||||||
|
|
||||||
List<String> contexts = new ArrayList<>();
|
List<String> contexts = new ArrayList<>();
|
||||||
contexts.add("/gcube/devsec/devVRE");
|
contexts.add("/gcube/devsec/devVRE");
|
||||||
contexts.add("/gcube/devNext/NextNext");
|
contexts.add("/gcube/devNext/NextNext");
|
||||||
|
|
||||||
|
|
||||||
List<Class<? extends AggregatedRecord<?, ?>>> classes = new ArrayList<Class<? extends AggregatedRecord<?, ?>>>();
|
|
||||||
classes.add(AggregatedServiceUsageRecord.class);
|
|
||||||
classes.add(AggregatedStorageUsageRecord.class);
|
|
||||||
classes.add(AggregatedJobUsageRecord.class);
|
|
||||||
|
|
||||||
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
||||||
logger.debug("----------------------------------------------------------------------");
|
logger.debug("----------------------------------------------------------------------");
|
||||||
logger.debug("Going to query {}\n", RecordToDBMapping.getRecordTypeByClass(clz));
|
logger.debug("Going to query {}\n", RecordToDBMapping.getRecordTypeByClass(clz));
|
||||||
|
@ -162,26 +167,32 @@ public class AccountingPersistenceQueryPostgreSQLTest extends ContextTest {
|
||||||
@Test
|
@Test
|
||||||
public void testGetFilterValues() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
public void testGetFilterValues() throws DuplicatedKeyFilterException, KeyException, ValueException, Exception {
|
||||||
|
|
||||||
List<Filter> filters = new ArrayList<>();
|
List<Filter> filters = getFilters();
|
||||||
Filter filter = new Filter(UsageRecord.CONSUMER_ID, QueryTest.getRandomUser());
|
|
||||||
filters.add(filter);
|
|
||||||
|
|
||||||
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
TemporalConstraint temporalConstraint = getTemporalConstraint();
|
||||||
|
|
||||||
SortedSet<NumberedFilter> numberedFilters = accountingPersistenceQueryPostgreSQL.getFilterValues(AggregatedServiceUsageRecord.class, temporalConstraint, filters, AggregatedServiceUsageRecord.CALLED_METHOD);
|
List<Class<? extends AggregatedRecord<?, ?>>> classes = getClassesToTest();
|
||||||
for(NumberedFilter numberedFilter : numberedFilters) {
|
|
||||||
logger.debug("{}", numberedFilter);
|
|
||||||
}
|
|
||||||
|
|
||||||
numberedFilters = accountingPersistenceQueryPostgreSQL.getFilterValues(AggregatedServiceUsageRecord.class, temporalConstraint, filters, AggregatedServiceUsageRecord.CALLED_METHOD);
|
Map<Class<? extends AggregatedRecord<?, ?>>, String> keysToRequest = new HashMap<>();
|
||||||
for(NumberedFilter numberedFilter : numberedFilters) {
|
keysToRequest.put(AggregatedServiceUsageRecord.class, AggregatedServiceUsageRecord.CALLED_METHOD);
|
||||||
logger.debug("{}", numberedFilter);
|
keysToRequest.put(AggregatedStorageUsageRecord.class, AggregatedStorageUsageRecord.RESOURCE_URI);
|
||||||
}
|
keysToRequest.put(AggregatedJobUsageRecord.class, AggregatedJobUsageRecord.JOB_NAME);
|
||||||
|
|
||||||
|
for(Class<? extends AggregatedRecord<?, ?>> clz : classes) {
|
||||||
|
logger.debug("----------------------------------------------------------------------");
|
||||||
|
logger.debug("Going to query {}\n", RecordToDBMapping.getRecordTypeByClass(clz));
|
||||||
|
|
||||||
|
String key = keysToRequest.get(clz);
|
||||||
|
|
||||||
numberedFilters = accountingPersistenceQueryPostgreSQL.getFilterValues(AggregatedServiceUsageRecord.class, temporalConstraint, filters, AggregatedServiceUsageRecord.CALLED_METHOD, 3);
|
SortedSet<NumberedFilter> numberedFilters = accountingPersistenceQueryPostgreSQL.getFilterValues(clz, temporalConstraint, filters, key);
|
||||||
for(NumberedFilter numberedFilter : numberedFilters) {
|
for(NumberedFilter numberedFilter : numberedFilters) {
|
||||||
logger.debug("{}", numberedFilter);
|
logger.debug("{}", numberedFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
numberedFilters = accountingPersistenceQueryPostgreSQL.getFilterValues(clz, temporalConstraint, filters, key, 3);
|
||||||
|
for(NumberedFilter numberedFilter : numberedFilters) {
|
||||||
|
logger.debug("{}", numberedFilter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class QueryTest extends ContextTest {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(QueryTest.class);
|
private static final Logger logger = LoggerFactory.getLogger(QueryTest.class);
|
||||||
|
|
||||||
public static final String[] users = new String[]{"luca.frosini", "lucio.lelii", "francesco.mangiacrapa", "fabio.sinibaldi", "massimiliano.assante", "giancarlo.panichi", "leonardo.candela", "pasquale.pagano"};
|
public static final String[] users = new String[]{"luca.frosini", "lucio.lelii", "francesco.mangiacrapa", "fabio.sinibaldi", "massimiliano.assante", "giancarlo.panichi", "gianpaolo.coro"};
|
||||||
|
|
||||||
private static final Random random;
|
private static final Random random;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue