X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=PolicyEngineAPI%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fstd%2Ftest%2FManualClientEndTest.java;h=252fa7e7033970fbdfac8eb4e68ae4f82984f9ba;hb=3eab022023bd68eee6743e30dd7db21c256bf00b;hp=b87fa74bd81a8924eb8445b9d332d71ac1d9be21;hpb=cfd1160833ecb24c336fe6d0d197547c36ce2327;p=policy%2Fengine.git diff --git a/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/ManualClientEndTest.java b/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/ManualClientEndTest.java index b87fa74bd..252fa7e70 100644 --- a/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/ManualClientEndTest.java +++ b/PolicyEngineAPI/src/test/java/org/onap/policy/std/test/ManualClientEndTest.java @@ -21,110 +21,93 @@ package org.onap.policy.std.test; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - -import java.net.URI; -import java.net.URL; - -import org.junit.After; -import org.junit.Before; +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; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.onap.policy.api.NotificationScheme; -import org.onap.policy.api.PDPNotification; import org.onap.policy.std.ManualClientEnd; +import org.springframework.util.SocketUtils; /** * The class ManualClientEndTest contains tests for the class {@link ManualClientEnd}. * - * @generatedBy CodePro at 6/1/16 1:41 PM - * @version $Revision: 1.0 $ */ public class ManualClientEndTest { - /** - * Run the ManualClientEnd() constructor test. - * - * @generatedBy CodePro at 6/1/16 1:41 PM - */ - @Test - public void testManualClientEnd_1() - throws Exception { - ManualClientEnd mce = new ManualClientEnd(new URI("http://www.onap.org")); - assertNotNull(mce); - mce.close(); - // add additional test code here - } - - - /** - * Run the PDPNotification result(NotificationScheme) method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:41 PM - */ - @Test - public void testResult_1() - throws Exception { - NotificationScheme scheme = NotificationScheme.AUTO_ALL_NOTIFICATIONS; - - PDPNotification result = ManualClientEnd.result(scheme); - - assertNull(result); - } - - - /** - * Run the void start(String) method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:41 PM - */ - @Test - public void testStart_1() - throws Exception { - String url = "This is not a URL"; - - ManualClientEnd.start(url); - - } - - /** - * Perform pre-test initialization. - * - * @throws Exception - * if the initialization fails for some reason - * - * @generatedBy CodePro at 6/1/16 1:41 PM - */ - @Before - public void setUp() - throws Exception { - // add additional set up code here - } - - /** - * Perform post-test clean-up. - * - * @throws Exception - * if the clean-up fails for some reason - * - * @generatedBy CodePro at 6/1/16 1:41 PM - */ - @After - public void tearDown() - throws Exception { - // Add additional tear down code here - } - - /** - * Launch the test. - * - * @param args the command line arguments - * - * @generatedBy CodePro at 6/1/16 1:41 PM - */ - public static void main(String[] args) { - new org.junit.runner.JUnitCore().run(ManualClientEndTest.class); - } + private static WebSocketServer ws; + + private static int port = SocketUtils.findAvailableTcpPort(); + private static CountDownLatch countServerDownLatch = null; + private static String recvMsg = null; + + /** + * Start server. + * + * @throws Exception the exception + */ + @BeforeClass + public static void startServer() throws Exception { + ws = new WebSocketServer(new InetSocketAddress(port), 1) { + @Override + public void onOpen(WebSocket conn, ClientHandshake handshake) { + + } + + @Override + public void onClose(WebSocket conn, int code, String reason, boolean remote) { + countServerDownLatch.countDown(); + } + + @Override + public void onMessage(WebSocket conn, String message) { + recvMsg = message; + conn.send("{\"removedPolicies\": [],\"loadedPolicies\":" + + "[{\"policyName\": \"Test.Config_BRMS_Param_BrmsParamTestPa.1.xml\"," + + "\"versionNo\": \"1\",\"matches\": {\"ECOMPName\": \"DROOLS\"," + + "\"ONAPName\": \"DROOLS\",\"ConfigName\": \"BRMS_PARAM_RULE\"," + + "\"guard\": \"false\",\"TTLDate\": \"NA\",\"RiskLevel\": \"5\"," + + "\"RiskType\": \"default\"},\"updateType\": \"NEW\"}],\"notificationType\": \"UPDATE\"}"); + } + + @Override + public void onError(WebSocket conn, Exception ex) { + + ex.printStackTrace(); + fail("There should be no exception!"); + } + + @Override + public void onStart() {} + + + }; + + ws.setConnectionLostTimeout(0); + ws.start(); + } + + @Test + public void testManualClient() throws Exception { + countServerDownLatch = new CountDownLatch(1); + + ManualClientEnd.start("http://localhost:" + port + "/"); + countServerDownLatch.await(45, TimeUnit.SECONDS); + + assertNotNull(ManualClientEnd.result(NotificationScheme.MANUAL_ALL_NOTIFICATIONS)); + assertTrue("Manual".equalsIgnoreCase(recvMsg)); + } + + @AfterClass + public static void successTests() throws InterruptedException, IOException { + ws.stop(30000); + } }