package org.gcube.application.cms.tests.plugins; import lombok.extern.slf4j.Slf4j; import org.bson.Document; import org.gcube.application.cms.plugins.InitializablePlugin; import org.gcube.application.cms.plugins.Plugin; import org.gcube.application.cms.plugins.PluginsReflections; import org.gcube.application.cms.tests.TokenSetter; import org.gcube.application.geoportal.common.model.document.accounting.Context; import org.gcube.application.cms.tests.model.BasicTests; import org.gcube.application.geoportal.common.utils.tests.GCubeTest; import org.junit.*; import java.util.HashMap; import java.util.Map; import static org.junit.Assume.assumeTrue; @Slf4j public abstract class BasicPluginTest extends BasicTests { protected Context getTestContext(){ Context toReturn = new Context(); String contextId =GCubeTest.getContext(); toReturn.setId(contextId); toReturn.setName(contextId.substring(contextId.lastIndexOf("/"))); return toReturn; } protected static Map plugins=new HashMap<>(); @BeforeClass public static void checkPluginRegistration() { plugins.putAll(PluginsReflections.load()); plugins.forEach((s,p) -> System.out.println(s+" "+p.getDescriptor())); Assert.assertFalse(plugins.isEmpty()); plugins.forEach(PluginCheks.descriptor); plugins.forEach(PluginCheks.init); System.out.println("Plugin Loading OK"); } }