BUG-4551: impact of YT BUG 2399 - action model fixing
[openflowplugin.git] / openflowplugin-it / src / test / java / org / opendaylight / openflowplugin / openflow / md / it / OFPluginToLibraryTest.java
index 061f996d4d88ea8c148b3fa06f5ff0491044bd97..1d96a68705889d5292c3cf380b12c179865b402d 100644 (file)
@@ -10,18 +10,14 @@ package org.opendaylight.openflowplugin.openflow.md.it;
 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;
@@ -48,12 +44,12 @@ public class OFPluginToLibraryTest {
     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;
@@ -66,9 +62,9 @@ public class OFPluginToLibraryTest {
     @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);
     }
 
     /**
@@ -76,27 +72,8 @@ public class OFPluginToLibraryTest {
      */
     @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());
     }
 
     /**
@@ -107,10 +84,9 @@ public class OFPluginToLibraryTest {
     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);
@@ -127,7 +103,7 @@ public class OFPluginToLibraryTest {
 
         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);
@@ -146,7 +122,7 @@ public class OFPluginToLibraryTest {
 
         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);
@@ -166,10 +142,9 @@ public class OFPluginToLibraryTest {
 
         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);
@@ -190,7 +165,7 @@ public class OFPluginToLibraryTest {
 
         switchSim = createSimpleClient();
         switchSim.setSecuredClient(false);
-        Stack<ClientEvent> handshakeScenario = ScenarioFactory
+        Deque<ClientEvent> handshakeScenario = ScenarioFactory
                 .createHandshakeScenarioNoVBM_OF10_TwoHello();
         // handshakeScenario.setElementAt(new SleepEvent(5000),
         // handshakeScenario
@@ -216,7 +191,7 @@ public class OFPluginToLibraryTest {
 
         switchSim = createSimpleClient();
         switchSim.setSecuredClient(false);
-        Stack<ClientEvent> handshakeScenario = ScenarioFactory
+        Deque<ClientEvent> handshakeScenario = ScenarioFactory
                 .createHandshakeScenarioNOVBM_OF10_OneHello();
 
         ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
@@ -252,13 +227,6 @@ public class OFPluginToLibraryTest {
 
                 OFPaxOptionsAssistant.osgiConsoleBundles(),
                 OFPaxOptionsAssistant.loggingBudles(),
-
-                TestHelper.junitAndMockitoBundles(),
-                TestHelper.mdSalCoreBundles(),
-                TestHelper.configMinumumBundles(),
-                TestHelper.baseModelBundles(),
-                TestHelper.flowCapableModelBundles(),
-
                 OFPaxOptionsAssistant.ofPluginBundles());
     }