gcube-cms-suite/cms-test-commons/src/main/java/org/gcube/application/cms/tests/plugins/BasicPluginTest.java

49 lines
1.4 KiB
Java

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<String,Plugin> 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");
}
}