X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=PolicyEngineAPI%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fstd%2Ftest%2FAutoClientEndTest.java;h=5056fceb748196a3d29f5e79256d29cd2ac90301;hp=4f1ce6f59a4ee8833200c1bbca138519cc8ffa83;hb=3eab022023bd68eee6743e30dd7db21c256bf00b;hpb=9562f3b5dfc5613629b5119cb629c81005d93431 diff --git a/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/AutoClientEndTest.java b/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/AutoClientEndTest.java index 4f1ce6f59..5056fceb7 100644 --- a/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/AutoClientEndTest.java +++ b/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/AutoClientEndTest.java @@ -21,12 +21,11 @@ package org.onap.policy.std.test; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; - import java.io.IOException; import java.net.InetSocketAddress; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import org.java_websocket.WebSocket; import org.java_websocket.handshake.ClientHandshake; import org.java_websocket.server.WebSocketServer; @@ -37,7 +36,6 @@ import org.onap.policy.api.NotificationHandler; import org.onap.policy.api.NotificationScheme; import org.onap.policy.api.PDPNotification; import org.onap.policy.std.AutoClientEnd; -import org.onap.policy.std.StdPDPNotification; import org.springframework.util.SocketUtils; /** @@ -47,9 +45,9 @@ import org.springframework.util.SocketUtils; public class AutoClientEndTest { private static WebSocketServer ws; - private static int port = 18080; + private static int port = SocketUtils.findAvailableTcpPort(); private static CountDownLatch countServerDownLatch = null; - private StdPDPNotification notification = null; + private static PDPNotification notification = null; /** * Start server. @@ -58,8 +56,8 @@ public class AutoClientEndTest { */ @BeforeClass public static void startServer() throws Exception { - port = SocketUtils.findAvailableTcpPort(); - ws = new WebSocketServer(new InetSocketAddress(port), 16) { + notification = null; + ws = new WebSocketServer(new InetSocketAddress(port), 1) { @Override public void onOpen(WebSocket conn, ClientHandshake handshake) { conn.send("{\"removedPolicies\": [],\"loadedPolicies\": " @@ -91,7 +89,7 @@ public class AutoClientEndTest { }; - ws.setConnectionLostTimeout(30); + ws.setConnectionLostTimeout(0); ws.start(); } @@ -102,8 +100,8 @@ public class AutoClientEndTest { NotificationHandler handler = new NotificationHandler() { @Override - public void notificationReceived(PDPNotification notifi) { - notification = (StdPDPNotification) notifi; + public void notificationReceived(PDPNotification notify) { + notification = notify; countServerDownLatch.countDown(); } @@ -113,17 +111,26 @@ public class AutoClientEndTest { countServerDownLatch = new CountDownLatch(1); AutoClientEnd.start("http://localhost:" + port + "/"); - countServerDownLatch.await(); + countServerDownLatch.await(45, TimeUnit.SECONDS); + + assertNotNull(notification); + + // simulate a server restart and verify client reconnects + countServerDownLatch = new CountDownLatch(1); + ws.stop(30000); + startServer(); + countServerDownLatch.await(60+10, TimeUnit.SECONDS); assertNotNull(notification); - assertTrue(AutoClientEnd.getStatus()); + + AutoClientEnd.stop(); + } @AfterClass - public static void successTests() throws InterruptedException, IOException { - AutoClientEnd.stop(); - ws.stop(); + public static void stopServer() throws InterruptedException, IOException { + ws.stop(30000); }