Added Social Data Indexer Plugin

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/private/luca.frosini/infrastructure-tests@128843 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Luca Frosini 2016-05-26 08:04:06 +00:00
parent 93a0e87db6
commit daedd74db6
2 changed files with 75 additions and 2 deletions

View File

@ -0,0 +1,72 @@
/**
*
*/
package org.gcube.informationsystem.socialdataindexer;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.testutility.ScopedTest;
import org.gcube.vremanagement.executor.api.types.LaunchParameter;
import org.gcube.vremanagement.executor.api.types.Scheduling;
import org.gcube.vremanagement.executor.client.plugins.ExecutorPlugin;
import org.gcube.vremanagement.executor.client.proxies.SmartExecutorProxy;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.quartz.CronExpression;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*/
public class SocialDataIndexerPluginSmartExecutorSchedulerTest extends ScopedTest {
private static Logger logger = LoggerFactory.getLogger(SocialDataIndexerPluginSmartExecutorSchedulerTest.class);
private SmartExecutorProxy proxy;
@Before
public void before() throws Exception{
super.before();
//ScopeProvider.instance.reset(); // Comment this to run the test. this line has been added to avoid unwanted launch
ScopeProvider.instance.set("/gcube");
proxy = ExecutorPlugin.getExecutorProxy("social-data-indexer-plugin").build();
Assert.assertNotNull(proxy);
}
public UUID scheduleTest(Scheduling scheduling, Long sleepTime) throws Exception {
Map<String, Object> inputs = new HashMap<String, Object>();
logger.debug("Inputs : {}", inputs);
LaunchParameter parameter = new LaunchParameter("social-data-indexer-plugin", inputs);
parameter.setScheduling(scheduling);
try {
String uuidString = proxy.launch(parameter);
return UUID.fromString(uuidString);
} catch(Exception e){
logger.error("Error launching sheduled task", e);
throw e;
}
}
@Test
public void cronExpPreviousMustBeTerminated() throws Exception {
CronExpression cronExpression = new CronExpression("0 */10 * * * ?"); // every 10 minutes starting from now
Scheduling scheduling = new Scheduling(cronExpression, true);
scheduling.setGlobal(true);
UUID uuid = scheduleTest(scheduling, new Long(1000*60)); // 1 min
logger.debug("Launched with UUID : {}", uuid);
}
//@Test
public void unSchedule() throws Exception {
proxy.unSchedule(null, true);
}
}

View File

@ -32,7 +32,8 @@ public class ISSweeperPluginSmartExecutorSchedulerTest extends ScopedTest {
@Before @Before
public void before() throws Exception{ public void before() throws Exception{
super.before(); super.before();
ScopeProvider.instance.reset(); // Comment this to run the test. this line has been added to avoid unwanted launch //ScopeProvider.instance.reset(); // Comment this to run the test. this line has been added to avoid unwanted launch
ScopeProvider.instance.set("/gcube");
proxy = ExecutorPlugin.getExecutorProxy(ISSweeperPluginDeclaration.NAME).build(); proxy = ExecutorPlugin.getExecutorProxy(ISSweeperPluginDeclaration.NAME).build();
Assert.assertNotNull(proxy); Assert.assertNotNull(proxy);
} }
@ -56,7 +57,7 @@ public class ISSweeperPluginSmartExecutorSchedulerTest extends ScopedTest {
} }
//@Test @Test
public void cronExpPreviousMustBeTerminated() throws Exception { public void cronExpPreviousMustBeTerminated() throws Exception {
CronExpression cronExpression = new CronExpression("0 */10 * * * ?"); // every 10 minutes starting from now CronExpression cronExpression = new CronExpression("0 */10 * * * ?"); // every 10 minutes starting from now
Scheduling scheduling = new Scheduling(cronExpression, true); Scheduling scheduling = new Scheduling(cronExpression, true);