summaryrefslogtreecommitdiffstats
path: root/policy-management
diff options
context:
space:
mode:
Diffstat (limited to 'policy-management')
-rw-r--r--policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java2
-rw-r--r--policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java98
-rw-r--r--policy-management/src/test/resources/logback-test.xml17
3 files changed, 116 insertions, 1 deletions
diff --git a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java b/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java
index 633d2379..02479ec8 100644
--- a/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java
+++ b/policy-management/src/main/java/org/openecomp/policy/drools/system/PolicyEngine.java
@@ -696,7 +696,7 @@ class PolicyEngineManager implements PolicyEngine {
for (HttpServletServer httpServer: this.httpServers) {
try {
- if (!httpServer.start())
+ if (!httpServer.waitedStart(5 * 1000L))
success = false;
} catch (Exception e) {
logger.error("{}: cannot start http-server {} because of {}", this,
diff --git a/policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java b/policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java
new file mode 100644
index 00000000..15a27767
--- /dev/null
+++ b/policy-management/src/test/java/org/openecomp/policy/drools/system/test/PolicyEngineTest.java
@@ -0,0 +1,98 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * policy-management
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.policy.drools.system.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Properties;
+
+import javax.ws.rs.core.Response;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.policy.drools.http.client.HttpClient;
+import org.openecomp.policy.drools.http.server.HttpServletServer;
+import org.openecomp.policy.drools.system.PolicyController;
+import org.openecomp.policy.drools.system.PolicyEngine;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * PolicyEngine unit tests
+ */
+public class PolicyEngineTest {
+ private static Logger logger = LoggerFactory.getLogger(PolicyEngineTest.class);
+
+ @BeforeClass
+ public static void startUp() {
+ logger.info("----- TEST: startUp() ---------");
+
+ Properties engineProperties = new Properties();
+ engineProperties.put("http.server.services", "CONFIG");
+ engineProperties.put("http.server.services.CONFIG.host", "0.0.0.0");
+ engineProperties.put("http.server.services.CONFIG.port", "9696");
+ engineProperties.put("http.server.services.CONFIG.restPackages", "org.openecomp.policy.drools.server.restful");
+
+ assertFalse(PolicyEngine.manager.isAlive());
+
+ PolicyEngine.manager.configure(engineProperties);
+ assertFalse(PolicyEngine.manager.isAlive());
+
+ PolicyEngine.manager.start();
+ assertTrue(PolicyEngine.manager.isAlive());
+ assertFalse(PolicyEngine.manager.isLocked());
+ assertTrue(HttpServletServer.factory.get(9696).isAlive());
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ logger.info("----- TEST: tearDown() ---------");
+
+ PolicyEngine.manager.stop();
+ assertFalse(PolicyEngine.manager.isAlive());
+ }
+
+ @Test
+ public void addController() throws Exception {
+ logger.info("----- TEST: addController() ---------");
+
+ Properties controllerProperties = new Properties();
+ controllerProperties.put("controller.name", "unnamed");
+
+ PolicyEngine.manager.createPolicyController("unnamed", controllerProperties);
+ assertTrue(PolicyController.factory.inventory().size() == 1);
+
+ HttpClient client = HttpClient.factory.build("telemetry", false, false,
+ "localhost", 9696, "policy/pdp",
+ null, null, false);
+ Response response = client.get("engine");
+ Object body = HttpClient.getBody(response, Object.class);
+ logger.info("policy-engine: {}", body);
+
+ assertTrue(response.getStatus() == 200);
+
+ PolicyController testController = PolicyController.factory.get("unnamed");
+ assertFalse(testController.getDrools().isAlive());
+ assertFalse(testController.getDrools().isLocked());
+ }
+
+}
diff --git a/policy-management/src/test/resources/logback-test.xml b/policy-management/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..e48b9a15
--- /dev/null
+++ b/policy-management/src/test/resources/logback-test.xml
@@ -0,0 +1,17 @@
+<configuration>
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <Pattern>
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M\(%line\) - %msg%n
+ </Pattern>
+ </encoder>
+ </appender>
+
+ <logger name="org.openecomp.policy.drools.system.test" level="INFO"/>
+
+ <root level="warn">
+ <appender-ref ref="STDOUT"/>
+ </root>
+
+</configuration> \ No newline at end of file