package org.gcube.dataharvest.dao; import java.util.LinkedHashMap; import java.util.Properties; import java.util.SortedSet; import java.util.TreeSet; import org.gcube.common.scope.impl.ScopeBean; import org.gcube.dataharvest.AccountingDataHarvesterPlugin; import org.gcube.dataharvest.DataHarvestPluginDeclaration; import org.gcube.dataharvest.utils.ContextTest; import org.gcube.resourcemanagement.support.server.managers.context.ContextManager; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DaoTests extends ContextTest { private static Logger logger = LoggerFactory.getLogger(DaoTests.class); public static SortedSet getContexts() throws Exception{ SortedSet contexts = new TreeSet<>(); LinkedHashMap map = ContextManager.readContexts(); for(String scope : map.keySet()) { try { String context = map.get(scope).toString(); contexts.add(context); }catch (Exception e) { throw e; } } return contexts; } @Test public void testInsertMissingContext() throws Exception { AccountingDataHarvesterPlugin accountingDataHarvesterPlugin = new AccountingDataHarvesterPlugin(new DataHarvestPluginDeclaration()); Properties properties = accountingDataHarvesterPlugin.getConfigParameters(); AccountingDataHarvesterPlugin.getProperties().set(properties); DatabaseManager dbaseManager = new DatabaseManager(); Dao dao = dbaseManager.dbConnect(); String[] contexts = new String[]{"/d4science.research-infrastructures.eu", "/d4science.research-infrastructures.eu/gCubeApps/rScience", "/d4science.research-infrastructures.eu/gCubeApps"}; for(String contextFullname : contexts) { int id = dao.getOrInsertContextId(contextFullname); logger.debug("{} is is {}", contextFullname, id); } } }