2015-08-26 14:29:00 +02:00
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
package org.gcube.vremanagement.executor.persistence;
|
|
|
|
|
2015-11-30 12:25:05 +01:00
|
|
|
import java.util.Calendar;
|
2015-10-06 14:32:36 +02:00
|
|
|
import java.util.Date;
|
2015-09-28 17:44:12 +02:00
|
|
|
import java.util.List;
|
2015-10-06 14:32:36 +02:00
|
|
|
import java.util.UUID;
|
2015-09-28 17:44:12 +02:00
|
|
|
|
2015-10-06 14:32:36 +02:00
|
|
|
import org.acme.HelloWorldPluginDeclaration;
|
2016-09-22 11:31:05 +02:00
|
|
|
import org.gcube.vremanagement.executor.TokenBasedTests;
|
2015-09-28 17:44:12 +02:00
|
|
|
import org.gcube.vremanagement.executor.api.types.LaunchParameter;
|
|
|
|
import org.gcube.vremanagement.executor.configuration.ScheduledTaskConfiguration;
|
|
|
|
import org.gcube.vremanagement.executor.configuration.ScheduledTaskConfigurationFactory;
|
2015-10-06 14:32:36 +02:00
|
|
|
import org.gcube.vremanagement.executor.persistence.couchdb.CouchDBPersistenceConnector;
|
|
|
|
import org.gcube.vremanagement.executor.plugin.PluginState;
|
|
|
|
import org.gcube.vremanagement.executor.plugin.PluginStateEvolution;
|
2015-08-26 14:29:00 +02:00
|
|
|
import org.junit.Assert;
|
|
|
|
import org.junit.Test;
|
2015-09-28 17:44:12 +02:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
2015-08-26 14:29:00 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
|
|
|
|
*
|
|
|
|
*/
|
2016-09-22 11:31:05 +02:00
|
|
|
public class SmartExecutorPersistenceConnectorTest extends TokenBasedTests {
|
2015-08-26 14:29:00 +02:00
|
|
|
|
2015-09-28 17:44:12 +02:00
|
|
|
private static Logger logger = LoggerFactory.getLogger(SmartExecutorPersistenceConnectorTest.class);
|
|
|
|
|
2015-08-26 14:29:00 +02:00
|
|
|
@Test
|
|
|
|
public void getConnectionTest() throws Exception {
|
2015-10-12 18:33:47 +02:00
|
|
|
SmartExecutorPersistenceConnector persistenceConnector = SmartExecutorPersistenceFactory.getPersistenceConnector();
|
2015-08-26 14:29:00 +02:00
|
|
|
Assert.assertNotNull(persistenceConnector);
|
|
|
|
Assert.assertEquals(CouchDBPersistenceConnector.class, persistenceConnector.getClass());
|
2015-11-30 12:25:05 +01:00
|
|
|
SmartExecutorPersistenceFactory.closePersistenceConnector();
|
2015-08-26 14:29:00 +02:00
|
|
|
}
|
|
|
|
|
2015-10-06 14:32:36 +02:00
|
|
|
@Test
|
|
|
|
public void getPluginInstanceStateTest() throws Exception {
|
2015-10-12 18:33:47 +02:00
|
|
|
SmartExecutorPersistenceConnector persistenceConnector = SmartExecutorPersistenceFactory.getPersistenceConnector();
|
2015-10-06 14:32:36 +02:00
|
|
|
UUID uuid = UUID.randomUUID();
|
|
|
|
|
|
|
|
PluginState[] states = PluginState.values();
|
|
|
|
|
|
|
|
for(int i=0; i<states.length; i++){
|
|
|
|
long timestamp = new Date().getTime();
|
2016-09-22 11:31:05 +02:00
|
|
|
PluginStateEvolution pluginStateEvolution = new PluginStateEvolution(uuid, 1, timestamp, HelloWorldPluginDeclaration.class.newInstance(), states[i], 0);
|
|
|
|
persistenceConnector.pluginStateEvolution(pluginStateEvolution, null);
|
2015-11-30 12:25:05 +01:00
|
|
|
|
|
|
|
long startTime = Calendar.getInstance().getTimeInMillis();
|
|
|
|
long endTime = startTime;
|
|
|
|
while(endTime <= (startTime + 1000)){
|
|
|
|
endTime = Calendar.getInstance().getTimeInMillis();
|
|
|
|
}
|
|
|
|
|
2016-09-22 11:31:05 +02:00
|
|
|
PluginState ps = persistenceConnector.getPluginInstanceState(uuid, 1).getPluginState();
|
2015-10-06 14:32:36 +02:00
|
|
|
Assert.assertEquals(states[i], ps);
|
|
|
|
}
|
2015-11-30 12:25:05 +01:00
|
|
|
|
|
|
|
SmartExecutorPersistenceFactory.closePersistenceConnector();
|
2015-10-06 14:32:36 +02:00
|
|
|
}
|
2015-08-26 14:29:00 +02:00
|
|
|
|
2015-09-28 17:44:12 +02:00
|
|
|
@Test
|
|
|
|
public void getAvailableScheduledTasksTest() throws Exception {
|
|
|
|
ScheduledTaskConfiguration stc = ScheduledTaskConfigurationFactory.getLaunchConfiguration();
|
|
|
|
Assert.assertNotNull(stc);
|
|
|
|
Assert.assertEquals(CouchDBPersistenceConnector.class, stc.getClass());
|
|
|
|
|
|
|
|
List<LaunchParameter> lc = stc.getAvailableScheduledTasks();
|
|
|
|
|
2015-10-06 14:32:36 +02:00
|
|
|
logger.debug("Available Scheduled Tasks : {}", lc);
|
2015-09-28 17:44:12 +02:00
|
|
|
}
|
|
|
|
|
2015-08-26 14:29:00 +02:00
|
|
|
|
|
|
|
}
|