accounting-dashboard-harves.../src/test/java/org/gcube/dataharvest/AccountingDataHarvesterPlug...

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();
}
}
}