[VOL-3518] Multi-threaded packet processing in maclearner app
Change-Id: I9eb3ebec813a1f002fe0be3da46257cca1c81ff6
diff --git a/app/src/test/java/org/opencord/maclearner/app/impl/MacLearnerManagerTest.java b/app/src/test/java/org/opencord/maclearner/app/impl/MacLearnerManagerTest.java
index adb59db..adfbc5a 100644
--- a/app/src/test/java/org/opencord/maclearner/app/impl/MacLearnerManagerTest.java
+++ b/app/src/test/java/org/opencord/maclearner/app/impl/MacLearnerManagerTest.java
@@ -33,12 +33,16 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import static org.onlab.junit.TestTools.assertAfter;
/**
* Set of tests of the Mac Learner ONOS application component.
*/
public class MacLearnerManagerTest extends TestBaseMacLearner {
+ private static final int DELAY = 250;
+ private static final int PROCESSING_LENGTH = 500;
+
@Before
public void setUp() throws IOException {
setUpApp();
@@ -65,10 +69,13 @@
CLIENT_VLAN,
VlanId.NONE,
CLIENT_CP));
- Optional<MacAddress> macAddress = macLearnerManager.getMacMapping(CLIENT_CP.deviceId(),
- CLIENT_CP.port(), CLIENT_VLAN);
- assertTrue(macAddress.isPresent());
- assertEquals(CLIENT_MAC, macAddress.get());
+ assertAfter(DELAY, PROCESSING_LENGTH, () -> {
+ Optional<MacAddress> macAddress =
+ macLearnerManager.getMacMapping(CLIENT_CP.deviceId(),
+ CLIENT_CP.port(), CLIENT_VLAN);
+ assertTrue(macAddress.isPresent());
+ assertEquals(CLIENT_MAC, macAddress.get());
+ });
}
@Test
@@ -77,10 +84,13 @@
CLIENT_VLAN,
CLIENT_QINQ_VLAN,
CLIENT_CP));
- Optional<MacAddress> macAddress = macLearnerManager.getMacMapping(CLIENT_CP.deviceId(),
- CLIENT_CP.port(), CLIENT_QINQ_VLAN);
- assertTrue(macAddress.isPresent());
- assertEquals(CLIENT_MAC, macAddress.get());
+ assertAfter(DELAY, PROCESSING_LENGTH, () -> {
+ Optional<MacAddress> macAddress = macLearnerManager.getMacMapping(CLIENT_CP.deviceId(),
+ CLIENT_CP.port(), CLIENT_QINQ_VLAN);
+ assertTrue(macAddress.isPresent());
+ assertEquals(CLIENT_MAC, macAddress.get());
+ });
+
}
@Test
@@ -89,15 +99,17 @@
CLIENT_VLAN,
CLIENT_QINQ_VLAN,
CLIENT_CP));
- HostId hostId = HostId.hostId(CLIENT_MAC, CLIENT_QINQ_VLAN);
- Host host = hostService.getHost(hostId);
- assertNotNull(host);
- assertEquals(OLT_DEVICE_ID, host.location().deviceId());
- assertEquals(UNI_PORT, host.location().port());
- Optional<HostLocation> optAuxLoc = host.auxLocations().stream().findFirst();
- assertTrue(optAuxLoc.isPresent());
- assertEquals(AGG_DEVICE_ID, optAuxLoc.get().deviceId());
- assertEquals(AGG_OLT_PORT, optAuxLoc.get().port());
+ assertAfter(DELAY, PROCESSING_LENGTH, () -> {
+ HostId hostId = HostId.hostId(CLIENT_MAC, CLIENT_QINQ_VLAN);
+ Host host = hostService.getHost(hostId);
+ assertNotNull(host);
+ assertEquals(OLT_DEVICE_ID, host.location().deviceId());
+ assertEquals(UNI_PORT, host.location().port());
+ Optional<HostLocation> optAuxLoc = host.auxLocations().stream().findFirst();
+ assertTrue(optAuxLoc.isPresent());
+ assertEquals(AGG_DEVICE_ID, optAuxLoc.get().deviceId());
+ assertEquals(AGG_OLT_PORT, optAuxLoc.get().port());
+ });
}
}