package org.gcube.dataharvest.jupyter; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org.gcube.accounting.accounting.summary.access.model.update.AccountingRecord; import org.gcube.dataharvest.harvester.JupyterAccessesHarvester; import org.gcube.dataharvest.utils.AggregationType; import org.gcube.dataharvest.utils.ContextTest; import org.gcube.dataharvest.utils.DateUtils; import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Giancarlo Panichi (ISTI CNR) * */ public class AccountingDataHarvesterJupyterTest extends ContextTest { private static Logger logger = LoggerFactory.getLogger(AccountingDataHarvesterJupyterTest.class); public static final String ROOT = "/d4science.research-infrastructures.eu"; private static final String SCOPE = "/d4science.research-infrastructures.eu/D4OS/Blue-CloudLab"; @Ignore @Test public void testJupyterAccessesHarvester() throws Exception { try { // AccountingDao dao = getAccountingDao(); List starts = new ArrayList<>(); //starts.add(DateUtils.getStartCalendar(2021, Calendar.JANUARY, 1).getTime()); //starts.add(DateUtils.getStartCalendar(2021, Calendar.FEBRUARY, 1).getTime()); starts.add(DateUtils.getStartCalendar(2021, Calendar.MARCH, 1).getTime()); AggregationType measureType = AggregationType.MONTHLY; List accountingRecords = new ArrayList<>(); for (Date start : starts) { Date end = DateUtils.getEndDateFromStartDate(measureType, start, 1, false); ContextTest.setContextByName(ROOT); JupyterAccessesHarvester jupyterAccessesHarvester = new JupyterAccessesHarvester(start, end); ContextTest.setContextByName(SCOPE); List harvested = jupyterAccessesHarvester.getAccountingRecords(); accountingRecords.addAll(harvested); logger.debug("{} - {}", SCOPE, accountingRecords); } logger.debug("{}", accountingRecords); ContextTest.setContextByName(ROOT); // dao.insertRecords(accountingRecords.toArray(new // AccountingRecord[1])); } catch (Throwable e) { logger.error(e.getLocalizedMessage(), e); throw e; } } }