X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=PolicyEngineAPI%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fstd%2Ftest%2FAutoClientEndTest.java;h=4f1ce6f59a4ee8833200c1bbca138519cc8ffa83;hb=b63b7672e6ba731c53198c69309c0d8e9ee7f138;hp=664dcc808e2e2d52561d86c81f30a37c9edf733f;hpb=06f456d8d06840a21f48531b0bd35b1a429b10f9;p=policy%2Fengine.git 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 664dcc808..4f1ce6f59 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,196 +21,111 @@ package org.onap.policy.std.test; import static org.junit.Assert.assertNotNull; - -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 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.NotificationHandler; import org.onap.policy.api.NotificationScheme; +import org.onap.policy.api.PDPNotification; import org.onap.policy.std.AutoClientEnd; -import org.onap.policy.std.StdPolicyEngine; +import org.onap.policy.std.StdPDPNotification; +import org.springframework.util.SocketUtils; /** * The class AutoClientEndTest contains tests for the class {@link AutoClientEnd}. * - * @generatedBy CodePro at 6/1/16 1:40 PM - * @version $Revision: 1.0 $ */ public class AutoClientEndTest { + private static WebSocketServer ws; + + private static int port = 18080; + private static CountDownLatch countServerDownLatch = null; + private StdPDPNotification notification = null; + + /** + * Start server. + * + * @throws Exception the exception + */ + @BeforeClass + public static void startServer() throws Exception { + port = SocketUtils.findAvailableTcpPort(); + ws = new WebSocketServer(new InetSocketAddress(port), 16) { + @Override + public void onOpen(WebSocket conn, ClientHandshake handshake) { + 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 onClose(WebSocket conn, int code, String reason, boolean remote) { + + } + + @Override + public void onMessage(WebSocket conn, String message) {} + + @Override + public void onError(WebSocket conn, Exception ex) { + + ex.printStackTrace(); + fail("There should be no exception!"); + } + + @Override + public void onStart() {} + + + }; + + ws.setConnectionLostTimeout(30); + ws.start(); + } + + @Test + public void testAutoClient() throws Exception { + + NotificationScheme scheme = NotificationScheme.AUTO_ALL_NOTIFICATIONS; + NotificationHandler handler = new NotificationHandler() { + + @Override + public void notificationReceived(PDPNotification notifi) { + notification = (StdPDPNotification) notifi; + countServerDownLatch.countDown(); + + } + }; + + AutoClientEnd.setAuto(scheme, handler); + countServerDownLatch = new CountDownLatch(1); + + AutoClientEnd.start("http://localhost:" + port + "/"); + countServerDownLatch.await(); + + + assertNotNull(notification); + assertTrue(AutoClientEnd.getStatus()); + } + + @AfterClass + public static void successTests() throws InterruptedException, IOException { + AutoClientEnd.stop(); + ws.stop(); + } + + - /** - * Run the boolean getStatus() method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testGetStatus_1() - throws Exception { - - boolean result = AutoClientEnd.getStatus(); - - assertNotNull(result); - } - - /** - * Run the String getURL() method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testGetURL_1() - throws Exception { - - String result = AutoClientEnd.getURL(); - - // add additional test code here - // An unexpected exception was thrown in user code while executing this test: - // java.lang.NoClassDefFoundError: Could not initialize class org.onap.policy.std.AutoClientEnd - assertNotNull(result); - } - - - /** - * Run the void setAuto(NotificationScheme,NotificationHandler) method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testSetAuto() - throws Exception { - NotificationScheme scheme = NotificationScheme.AUTO_ALL_NOTIFICATIONS; - NotificationHandler handler = null; - - AutoClientEnd.setAuto(scheme, handler); - - // add additional test code here - // An unexpected exception was thrown in user code while executing this test: - // java.lang.ExceptionInInitializerError - // at org.apache.log4j.Logger.getLogger(Logger.java:104) - // at org.onap.policy.std.AutoClientEnd.(AutoClientEnd.java:39) - } - - /** - * Run the void setScheme(NotificationScheme) method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testSetScheme() - throws Exception { - - NotificationScheme scheme = NotificationScheme.AUTO_ALL_NOTIFICATIONS; - AutoClientEnd.setScheme(scheme); - - } - - /** - * Run the void start(String) method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testStart() - throws Exception { - String url = "http://test.com"; - - AutoClientEnd.start(url); - - // add additional test code here - // An unexpected exception was thrown in user code while executing this test: - // java.lang.NoClassDefFoundError: Could not initialize class org.onap.policy.std.AutoClientEnd - } - - - /** - * Run the void start(String) method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testStart_2() - throws Exception { - String url = null; - - AutoClientEnd.start(url); - - // add additional test code here - // An unexpected exception was thrown in user code while executing this test: - // java.lang.NoClassDefFoundError: Could not initialize class org.onap.policy.std.AutoClientEnd - } - - /** - * Run the void stop() method test. - * - * @throws Exception - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Test - public void testStop_1() - throws Exception { - - AutoClientEnd.stop(); - - // add additional test code here - // An unexpected exception was thrown in user code while executing this test: - // java.lang.NoClassDefFoundError: Could not initialize class org.onap.policy.std.AutoClientEnd - } - - /** - * Perform pre-test initialization. - * - * @throws Exception - * if the initialization fails for some reason - * - * @generatedBy CodePro at 6/1/16 1:40 PM - */ - @Before - public void setUp() - throws Exception { - // add set up code here - StdPolicyEngine policyEngine = new StdPolicyEngine("Test/config_pass.properties", (String) null); - - NotificationHandler handler = policyEngine.getNotificationHandler(); - AutoClientEnd.setAuto(NotificationScheme.AUTO_ALL_NOTIFICATIONS, handler); - AutoClientEnd.start("http://testurl.com"); - - } - - /** - * Perform post-test clean-up. - * - * @throws Exception - * if the clean-up fails for some reason - * - * @generatedBy CodePro at 6/1/16 1:40 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:40 PM - */ - public static void main(String[] args) { - new org.junit.runner.JUnitCore().run(AutoClientEndTest.class); - } }