import static org.ops4j.pax.exam.CoreOptions.options;
import static org.ops4j.pax.exam.CoreOptions.systemProperty;
-import java.util.Stack;
+import java.util.Deque;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
-
import javax.inject.Inject;
-
import org.junit.After;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.opendaylight.controller.test.sal.binding.it.TestHelper;
import org.opendaylight.openflowjava.protocol.impl.clients.ClientEvent;
import org.opendaylight.openflowjava.protocol.impl.clients.ScenarioHandler;
import org.opendaylight.openflowjava.protocol.impl.clients.SimpleClient;
private static final Logger LOG = LoggerFactory
.getLogger(OFPluginToLibraryTest.class);
- private static final ArrayBlockingQueue<Runnable> SCENARIO_POOL_QUEUE = new ArrayBlockingQueue<>(1);
+ private final ArrayBlockingQueue<Runnable> SCENARIO_POOL_QUEUE = new ArrayBlockingQueue<>(1);
- @Inject @Filter(timeout=20000)
+ @Inject @Filter(timeout=60000)
OpenflowPluginProvider openflowPluginProvider;
- @Inject
+ @Inject @Filter(timeout=60000)
BundleContext ctx;
private SimpleClient switchSim;
@Before
public void setUp() throws InterruptedException {
LOG.debug("openflowPluginProvider: "+openflowPluginProvider);
+ switchSim = createSimpleClient();
scenarioPool = new ThreadPoolLoggingExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, SCENARIO_POOL_QUEUE, "scenario");
- //FIXME: plugin should provide service exposing startup result via future
- Thread.sleep(5000);
+ Thread.sleep(5000L);
}
/**
*/
@After
public void tearDown() {
- try {
- LOG.debug("tearing down simulator");
- switchSim.getScenarioDone().get(getFailSafeTimeout(), TimeUnit.MILLISECONDS);
- } catch (Exception e) {
- String msg = "waiting for scenario to finish failed: "+e.getMessage();
- LOG.error(msg, e);
- Assert.fail(msg);
- } finally {
- scenarioPool.shutdownNow();
- SCENARIO_POOL_QUEUE.clear();
- }
-
- try {
- LOG.debug("checking if simulator succeeded to connect to controller");
- boolean simulatorWasOnline = switchSim.getIsOnlineFuture().get(100, TimeUnit.MILLISECONDS);
- Assert.assertTrue("simulator failed to connect to controller", simulatorWasOnline);
- } catch (Exception e) {
- String message = "simulator probably failed to connect to controller";
- LOG.error(message, e);
- Assert.fail(message);
- }
+ SimulatorAssistant.waitForSwitchSimulatorOn(switchSim);
+ SimulatorAssistant.tearDownSwitchSimulatorAfterScenario(switchSim, scenarioPool, getFailSafeTimeout());
}
/**
public void handshakeOk1() throws Exception {
LOG.debug("handshakeOk1 integration test");
- switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
- Stack<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenarioVBM(
- ScenarioFactory.VERSION_BITMAP_13, (short) 0, ScenarioFactory.VERSION_BITMAP_10_13);
+ Deque<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenarioVBM(
+ ScenarioFactory.VERSION_BITMAP_13, (short) 0, ScenarioFactory.VERSION_BITMAP_10_13, true);
ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
switchSim.setScenarioHandler(scenario);
switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
- Stack<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenario(
+ Deque<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenario(
(short) 0, ScenarioFactory.VERSION_BITMAP_10_13);
ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
- Stack<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenario((short) 1,
+ Deque<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenario((short) 1,
ScenarioFactory.VERSION_BITMAP_10_13);
ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
- Stack<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenario((short) 0,
+ Deque<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenario((short) 0,
ScenarioFactory.VERSION_BITMAP_10_13);
- handshakeScenario.setElementAt(new SleepEvent(5000), 0);
-
+ handshakeScenario.addFirst(new SleepEvent(5000));
ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
switchSim.setScenarioHandler(scenario);
scenarioPool.execute(switchSim);
switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
- Stack<ClientEvent> handshakeScenario = ScenarioFactory
+ Deque<ClientEvent> handshakeScenario = ScenarioFactory
.createHandshakeScenarioNoVBM_OF10_TwoHello();
// handshakeScenario.setElementAt(new SleepEvent(5000),
// handshakeScenario
switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
- Stack<ClientEvent> handshakeScenario = ScenarioFactory
+ Deque<ClientEvent> handshakeScenario = ScenarioFactory
.createHandshakeScenarioNOVBM_OF10_OneHello();
ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
OFPaxOptionsAssistant.osgiConsoleBundles(),
OFPaxOptionsAssistant.loggingBudles(),
-
- TestHelper.junitAndMockitoBundles(),
- TestHelper.mdSalCoreBundles(),
- TestHelper.configMinumumBundles(),
- TestHelper.baseModelBundles(),
- TestHelper.flowCapableModelBundles(),
-
OFPaxOptionsAssistant.ofPluginBundles());
}