Provides wait mechanism in test for Radius Server
Change-Id: If571458efb8a66ec972106dad34418b23d772fe9
diff --git a/app/src/test/java/org/opencord/aaa/impl/AaaStatisticsTest.java b/app/src/test/java/org/opencord/aaa/impl/AaaStatisticsTest.java
index c9564b0..25b8fc8 100644
--- a/app/src/test/java/org/opencord/aaa/impl/AaaStatisticsTest.java
+++ b/app/src/test/java/org/opencord/aaa/impl/AaaStatisticsTest.java
@@ -582,20 +582,32 @@
}
/*
- * Mock implementation of SocketBasedRadiusCommunicator class.
- *
- */
+ * Mock implementation of SocketBasedRadiusCommunicator class.
+ *
+ */
class TestSocketBasedRadiusCommunicator extends SocketBasedRadiusCommunicator {
TestSocketBasedRadiusCommunicator(ApplicationId appId, PacketService pktService, AaaManager aaaManager) {
super(appId, pktService, aaaManager);
}
+ /**
+ * Wait 10 millis to simulate a non 0 rtt.
+ *
+ * @throws InterruptedException
+ */
+ private void waitPacket() throws InterruptedException {
+ synchronized (this) {
+ this.wait(10);
+ }
+ }
+
// Implementation of socketBasedRadiusCommunicator--> run() method
public void handlePacketFromServer(PacketContext context) {
-
RADIUS incomingPkt = (RADIUS) fetchPacket(savedPackets.size() - 1);
try {
+ // wait a couple of millis to avoid rtt being 0
+ waitPacket();
if (context == null) {
aaaStatisticsManager.handleRoundtripTime(incomingPkt.getIdentifier());
aaaManager.handleRadiusPacket(incomingPkt);
@@ -610,6 +622,8 @@
aaaManager.aaaStatisticsManager.getAaaStats().increaseMalformedResponsesRx();
aaaStatisticsManager.getAaaStats().countDroppedResponsesRx();
log.error("Cannot deserialize packet", dex);
+ } catch (InterruptedException inte) {
+ Thread.currentThread().interrupt();
}
}