81 lines
2.5 KiB
Java
81 lines
2.5 KiB
Java
package org.gcube.dataharvest;
|
|
|
|
import java.text.DateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Calendar;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.TimeZone;
|
|
|
|
import org.gcube.dataharvest.utils.ScopedTest;
|
|
import org.junit.Test;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
public class AccountingDataHarvesterPluginTest extends ScopedTest {
|
|
|
|
private static Logger logger = LoggerFactory.getLogger(AccountingDataHarvesterPluginTest.class);
|
|
|
|
public static TimeZone UTC_TIMEZONE = TimeZone.getTimeZone("UTC");
|
|
public static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss.SSS Z";
|
|
public static final DateFormat DEFAULT_DATE_FORMAT;
|
|
|
|
static {
|
|
DEFAULT_DATE_FORMAT = getUTCDateFormat(DATETIME_PATTERN);
|
|
}
|
|
|
|
public static DateFormat getUTCDateFormat(String pattern){
|
|
DateFormat dateFormat = new SimpleDateFormat(pattern);
|
|
dateFormat.setTimeZone(UTC_TIMEZONE);
|
|
return dateFormat;
|
|
}
|
|
|
|
public static Calendar getUTCCalendarInstance(){
|
|
return Calendar.getInstance(UTC_TIMEZONE);
|
|
}
|
|
|
|
public static Calendar getAggregationStartCalendar(int year, int month, int day){
|
|
Calendar aggregationStartCalendar = getUTCCalendarInstance();
|
|
aggregationStartCalendar.set(Calendar.YEAR, year);
|
|
aggregationStartCalendar.set(Calendar.MONTH, month);
|
|
aggregationStartCalendar.set(Calendar.DAY_OF_MONTH, day);
|
|
aggregationStartCalendar.set(Calendar.HOUR_OF_DAY, 0);
|
|
aggregationStartCalendar.set(Calendar.MINUTE, 0);
|
|
aggregationStartCalendar.set(Calendar.SECOND, 0);
|
|
aggregationStartCalendar.set(Calendar.MILLISECOND, 0);
|
|
|
|
logger.debug("{}", DEFAULT_DATE_FORMAT.format(aggregationStartCalendar.getTime()));
|
|
|
|
return aggregationStartCalendar;
|
|
}
|
|
|
|
|
|
@Test
|
|
public void test() {
|
|
try {
|
|
ScopedTest.setContext(ScopedTest.ROOT);
|
|
|
|
DataHarvestPluginDeclaration dataHarvestPluginDeclaration = new DataHarvestPluginDeclaration();
|
|
AccountingDataHarvesterPlugin accountingDataHarvesterPlugin = new AccountingDataHarvesterPlugin(dataHarvestPluginDeclaration);
|
|
|
|
Calendar from = getAggregationStartCalendar(2018, Calendar.APRIL, 1);
|
|
Calendar to = getAggregationStartCalendar(2018, Calendar.APRIL, 30);
|
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
map.put(AccountingDataHarvesterPlugin.PARAMETER_FROM, from.getTime());
|
|
map.put(AccountingDataHarvesterPlugin.PARAMETER_TO, to.getTime());
|
|
map.put(AccountingDataHarvesterPlugin.TEST, true);
|
|
|
|
accountingDataHarvesterPlugin.launch(map);
|
|
|
|
logger.info("End.");
|
|
|
|
} catch (Exception e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
|
|
}
|