aboutsummaryrefslogtreecommitdiffstats
path: root/policy-management/src/test
diff options
context:
space:
mode:
authorJorge Hernandez <jh1730@att.com>2017-09-07 00:07:32 -0500
committerJorge Hernandez <jh1730@att.com>2017-09-07 00:22:38 -0500
commitf6679d84b20e79e8f9753fbdea08ecd20b913e75 (patch)
treed8b001488ade0002828a8bb829c06f31500f289e /policy-management/src/test
parent40d0d77001e5a36e6fe799b9e1fbc26752c5c6f5 (diff)
Support environment configurations
This enables PDP-D to have knowledge of any installation property or else configured via OS environment variable or as an environment file. This allows the user to query or set via REST API of programmatically through PolicyEngine any environment variable. It also provides a means to make data globally available to all drools applications. For example: http://localhost:9696/policy/pdp/engine/environment> get HTTP/1.1 200 OK Content-Length: 749 Content-Type: application/json Date: Wed, 06 Sep 2017 23:53:57 GMT Server: Jetty(9.3.14.v20161028) { "DCAE_SERVERS": "", "DCAE_TOPIC": "", "DMAAP_SERVERS": "", "ENGINE_MANAGEMENT_HOST": "0.0.0.0", "ENGINE_MANAGEMENT_PASSWORD": "", "ENGINE_MANAGEMENT_PORT": "9696", "ENGINE_MANAGEMENT_USER": "", "HEALTHCHECK_PASSWORD": "", "HEALTHCHECK_USER": "", "JAVA_HOME": "/usr/lib/jvm/java-8-oracle", "M2_HOME": "/usr/share/maven", "PAP_HOST": "", "PAP_PASSWORD": "", "PAP_USERNAME": "", "PDPD_CONFIGURATION_API_KEY": "", "PDPD_CONFIGURATION_API_SECRET": "", "PDPD_CONFIGURATION_CONSUMER_GROUP": "", "PDPD_CONFIGURATION_CONSUMER_INSTANCE": "", "PDPD_CONFIGURATION_PARTITION_KEY": "", "PDPD_CONFIGURATION_SERVERS": "", "PDPD_CONFIGURATION_TOPIC": "PDPD-CONFIGURATION", "PDP_HOST": "", "PDP_PASSWORD": "", "PDP_USERNAME": "", "POLICY_HOME": "/home/policy/snapshot", "SQL_HOST": "", "SQL_PASSWORD": "", "SQL_USER": "" } policy@newton:~/snapshot/config$ echo -n "http://one.com/aai" | http --verbose PUT :9696/policy/pdp/engine/environment/AAI_URL Content-Type:text/plain Accept:text/plain PUT /policy/pdp/engine/environment/AAI_URL HTTP/1.1 Accept: text/plain Accept-Encoding: gzip, deflate Connection: keep-alive Content-Length: 18 Content-Type: text/plain Host: localhost:9696 User-Agent: HTTPie/0.9.2 http://one.com/aai HTTP/1.1 200 OK Content-Length: 0 Content-Type: text/plain Date: Thu, 07 Sep 2017 00:05:05 GMT Server: Jetty(9.3.14.v20161028) policy@newton:~/snapshot/config$ echo -n "http://one.com/aai2" | http --verbose PUT :9696/policy/pdp/engine/environment/AAI_URL Content-Type:text/plain Accept:text/plain PUT /policy/pdp/engine/environment/AAI_URL HTTP/1.1 Accept: text/plain Accept-Encoding: gzip, deflate Connection: keep-alive Content-Length: 19 Content-Type: text/plain Host: localhost:9696 User-Agent: HTTPie/0.9.2 http://one.com/aai2 HTTP/1.1 200 OK Content-Length: 18 Content-Type: text/plain Date: Thu, 07 Sep 2017 00:05:45 GMT Server: Jetty(9.3.14.v20161028) http://one.com/aai policy@newton:~/snapshot/config$ http :9696/policy/pdp/engine/environment/AAI_URL HTTP/1.1 200 OK Content-Length: 19 Content-Type: application/json Date: Thu, 07 Sep 2017 05:14:57 GMT Server: Jetty(9.3.14.v20161028) http://one.com/aai2 Change-Id: I1fcd610938af751977bb2db925b57b4e5b3f7ba4 Issue-ID: POLICY-162 Signed-off-by: Jorge Hernandez <jh1730@att.com>
Diffstat (limited to 'policy-management/src/test')
-rw-r--r--policy-management/src/test/java/org/onap/policy/drools/persistence/test/SystemPersistenceTest.java129
-rw-r--r--policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java374
2 files changed, 317 insertions, 186 deletions
diff --git a/policy-management/src/test/java/org/onap/policy/drools/persistence/test/SystemPersistenceTest.java b/policy-management/src/test/java/org/onap/policy/drools/persistence/test/SystemPersistenceTest.java
new file mode 100644
index 00000000..db8f306c
--- /dev/null
+++ b/policy-management/src/test/java/org/onap/policy/drools/persistence/test/SystemPersistenceTest.java
@@ -0,0 +1,129 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * 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.onap.policy.drools.persistence.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Properties;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.policy.drools.persistence.SystemPersistence;
+import org.onap.policy.drools.properties.PolicyProperties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * (File) System Persistence Tests
+ */
+public class SystemPersistenceTest {
+
+ /**
+ * logger
+ */
+ private static final Logger logger = LoggerFactory.getLogger(SystemPersistenceTest.class);
+
+ /**
+ * sample configuration dir
+ */
+ public static final String OTHER_CONFIG_DIR = "tmp";
+
+ /**
+ * Test JUnit Controller Name
+ */
+ public static final String TEST_CONTROLLER_NAME = "blue";
+
+ /**
+ * Test JUnit Controller Name
+ */
+ public static final String TEST_CONTROLLER_FILE = TEST_CONTROLLER_NAME + "-controller.properties";
+
+ /**
+ * Test JUnit Controller Name Backup
+ */
+ public static final String TEST_CONTROLLER_FILE_BAK =
+ TEST_CONTROLLER_NAME + "-controller.properties.bak";
+
+ @Test
+ public void nonDefaultConfigDir() throws IOException {
+ logger.info("enter");
+
+ SystemPersistence.manager.setConfigurationDir(OTHER_CONFIG_DIR);
+ assertTrue(
+ SystemPersistence.manager.getConfigurationPath().toString().equals(OTHER_CONFIG_DIR));
+
+ SystemPersistence.manager.setConfigurationDir(null);
+ assertTrue(SystemPersistence.manager.getConfigurationPath().toString()
+ .equals(SystemPersistence.DEFAULT_CONFIGURATION_DIR));
+
+ this.persistConfiguration();
+
+ cleanUpWorkingDirs();
+ }
+
+ public void persistConfiguration() {
+ logger.info("enter");
+
+ final Path controllerPath = Paths
+ .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE);
+
+ final Path controllerBakPath = Paths
+ .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE_BAK);
+
+ assertTrue(Files.notExists(controllerPath));
+ assertTrue(Files.notExists(controllerBakPath));
+
+ Properties properties = new Properties();
+ properties.put(PolicyProperties.PROPERTY_CONTROLLER_NAME, TEST_CONTROLLER_NAME);
+ SystemPersistence.manager.storeController(TEST_CONTROLLER_NAME, properties);
+
+ assertTrue(Files.exists(controllerPath));
+
+ properties = SystemPersistence.manager.getControllerProperties(TEST_CONTROLLER_NAME);
+ assertTrue(properties != null);
+
+ SystemPersistence.manager.backupController(TEST_CONTROLLER_NAME);
+ assertTrue(Files.exists(controllerBakPath));
+
+ assertFalse(SystemPersistence.manager.getControllerProperties().isEmpty());
+
+ SystemPersistence.manager.deleteController(TEST_CONTROLLER_NAME);
+ assertTrue(Files.notExists(controllerPath));
+ }
+
+ @BeforeClass
+ public static void cleanUpWorkingDirs() throws IOException {
+ final Path testControllerPath = Paths
+ .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE);
+
+ final Path testControllerBakPath = Paths
+ .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE_BAK);
+
+ Files.deleteIfExists(testControllerPath);
+ Files.deleteIfExists(testControllerBakPath);
+ Files.deleteIfExists(Paths.get(OTHER_CONFIG_DIR));
+ }
+
+}
diff --git a/policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java b/policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
index 4928ca0a..5ab6c580 100644
--- a/policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
+++ b/policy-management/src/test/java/org/onap/policy/drools/system/test/PolicyEngineTest.java
@@ -7,9 +7,9 @@
* 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.
@@ -46,189 +46,191 @@ import org.slf4j.LoggerFactory;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class PolicyEngineTest {
- /**
- * Default Telemetry port for JUnits
- */
- public static final int DEFAULT_TELEMETRY_PORT = 9698;
-
- /**
- * Test JUnit Controller Name
- */
- public static final String TEST_CONTROLLER_NAME = "unnamed";
-
- /**
- * Controller Configuration File
- */
- public static final String TEST_CONTROLLER_FILE = TEST_CONTROLLER_NAME + "-controller.properties";
-
- /**
- * Controller Configuration Backup File
- */
- public static final String TEST_CONTROLLER_FILE_BAK = TEST_CONTROLLER_NAME + "-controller.properties.bak";
-
- /**
- * logger
- */
- private static Logger logger = LoggerFactory.getLogger(PolicyEngineTest.class);
-
- /**
- * clean up working directory
- */
- protected static void cleanUpWorkingDir() {
- Path testControllerPath = Paths.get(SystemPersistence.CONFIG_DIR_NAME, TEST_CONTROLLER_FILE);
- try {
- Files.deleteIfExists(testControllerPath);
- } catch (Exception e) {
- logger.info("Problem cleaning {}", testControllerPath, e);
- }
-
- Path testControllerBakPath = Paths.get(SystemPersistence.CONFIG_DIR_NAME, TEST_CONTROLLER_FILE_BAK);
- try {
- Files.deleteIfExists(testControllerBakPath);
- } catch (Exception e) {
- logger.info("Problem cleaning {}", testControllerBakPath, e);
- }
- }
-
- @BeforeClass
- public static void startUp() throws IOException {
- logger.info("enter");
-
- cleanUpWorkingDir();
-
- /* ensure presence of config directory */
- Path configDir = Paths.get(SystemPersistence.CONFIG_DIR_NAME);
- if (Files.notExists(configDir))
- Files.createDirectories(configDir);
- }
-
- @AfterClass
- public static void tearDown() throws IOException {
- logger.info("enter");
- cleanUpWorkingDir();
- }
-
- @Test
- public void test100Configure() {
- logger.info("enter");
-
- Properties engineProps = PolicyEngine.manager.defaultTelemetryConfig();
-
- /* override default port */
- engineProps.put(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." +
- PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME +
- PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX,
- ""+DEFAULT_TELEMETRY_PORT);
-
- assertFalse(PolicyEngine.manager.isAlive());
- PolicyEngine.manager.configure(engineProps);
- assertFalse(PolicyEngine.manager.isAlive());
-
- logger.info("policy-engine {} has configuration {}", PolicyEngine.manager, engineProps);
- }
-
- @Test
- public void test200Start() {
- logger.info("enter");
-
- PolicyEngine.manager.start();
-
- assertTrue(PolicyEngine.manager.isAlive());
- assertFalse(PolicyEngine.manager.isLocked());
- assertFalse(PolicyEngine.manager.getHttpServers().isEmpty());
- assertTrue(PolicyEngine.manager.getHttpServers().get(0).isAlive());
- }
-
- @Test
- public void test300Lock() {
- logger.info("enter");
-
- PolicyEngine.manager.lock();
-
- assertTrue(PolicyEngine.manager.isAlive());
- assertTrue(PolicyEngine.manager.isLocked());
- assertFalse(PolicyEngine.manager.getHttpServers().isEmpty());
- assertTrue(PolicyEngine.manager.getHttpServers().get(0).isAlive());
- }
-
- @Test
- public void test301Unlock() {
- logger.info("enter");
-
- PolicyEngine.manager.unlock();
-
- assertTrue(PolicyEngine.manager.isAlive());
- assertFalse(PolicyEngine.manager.isLocked());
- assertFalse(PolicyEngine.manager.getHttpServers().isEmpty());
- assertTrue(PolicyEngine.manager.getHttpServers().get(0).isAlive());
- }
-
- @Test
- public void test400ControllerAdd() throws Exception {
- logger.info("enter");
-
- Properties controllerProperties = new Properties();
- controllerProperties.put(PolicyProperties.PROPERTY_CONTROLLER_NAME, TEST_CONTROLLER_NAME);
- PolicyEngine.manager.createPolicyController(TEST_CONTROLLER_NAME, controllerProperties);
-
- assertTrue(PolicyController.factory.inventory().size() == 1);
- }
-
- @Test
- public void test401ControllerVerify() {
- logger.info("enter");
-
- PolicyController testController = PolicyController.factory.get(TEST_CONTROLLER_NAME);
-
- assertFalse(testController.isAlive());
- assertFalse(testController.isLocked());
-
- testController.start();
-
- assertTrue(testController.isAlive());
- assertFalse(testController.isLocked());
- }
-
- @Test
- public void test500Deactivate() throws Exception {
- logger.info("enter");
-
- PolicyEngine.manager.deactivate();
-
- PolicyController testController = PolicyController.factory.get(TEST_CONTROLLER_NAME);
- assertFalse(testController.isAlive());
- assertTrue(testController.isLocked());
- assertTrue(PolicyEngine.manager.isLocked());
- assertTrue(PolicyEngine.manager.isAlive());
- }
-
- @Test
- public void test501Activate() throws Exception {
- logger.info("enter");
-
- PolicyEngine.manager.activate();
-
- PolicyController testController = PolicyController.factory.get(TEST_CONTROLLER_NAME);
- assertTrue(testController.isAlive());
- assertFalse(testController.isLocked());
- assertFalse(PolicyEngine.manager.isLocked());
- assertTrue(PolicyEngine.manager.isAlive());
- }
-
- @Test
- public void test900ControllerRemove() throws Exception {
- logger.info("enter");
-
- PolicyEngine.manager.removePolicyController(TEST_CONTROLLER_NAME);
- assertTrue(PolicyController.factory.inventory().isEmpty());
- }
-
- @Test
- public void test901Stop() {
- logger.info("enter");
-
- PolicyEngine.manager.stop();
- assertFalse(PolicyEngine.manager.isAlive());
- }
+ /**
+ * Default Telemetry port for JUnits
+ */
+ public static final int DEFAULT_TELEMETRY_PORT = 9698;
+
+ /**
+ * Test JUnit Controller Name
+ */
+ public static final String TEST_CONTROLLER_NAME = "unnamed";
+
+ /**
+ * Controller Configuration File
+ */
+ public static final String TEST_CONTROLLER_FILE = TEST_CONTROLLER_NAME + "-controller.properties";
+
+ /**
+ * Controller Configuration Backup File
+ */
+ public static final String TEST_CONTROLLER_FILE_BAK =
+ TEST_CONTROLLER_NAME + "-controller.properties.bak";
+
+ /**
+ * logger
+ */
+ private static Logger logger = LoggerFactory.getLogger(PolicyEngineTest.class);
+
+ /**
+ * clean up working directory
+ */
+ protected static void cleanUpWorkingDir() {
+ final Path testControllerPath = Paths
+ .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE);
+ try {
+ Files.deleteIfExists(testControllerPath);
+ } catch (final Exception e) {
+ logger.info("Problem cleaning {}", testControllerPath, e);
+ }
+
+ final Path testControllerBakPath = Paths
+ .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE_BAK);
+ try {
+ Files.deleteIfExists(testControllerBakPath);
+ } catch (final Exception e) {
+ logger.info("Problem cleaning {}", testControllerBakPath, e);
+ }
+ }
+
+ @BeforeClass
+ public static void startUp() throws IOException {
+ logger.info("enter");
+
+ cleanUpWorkingDir();
+
+ /* ensure presence of config directory */
+ final Path configDir = Paths.get(SystemPersistence.DEFAULT_CONFIGURATION_DIR);
+ if (Files.notExists(configDir))
+ Files.createDirectories(configDir);
+ }
+
+ @AfterClass
+ public static void tearDown() throws IOException {
+ logger.info("enter");
+ cleanUpWorkingDir();
+ }
+
+ @Test
+ public void test100Configure() {
+ logger.info("enter");
+
+ final Properties engineProps = PolicyEngine.manager.defaultTelemetryConfig();
+
+ /* override default port */
+ engineProps.put(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
+ + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX,
+ "" + DEFAULT_TELEMETRY_PORT);
+
+ assertFalse(PolicyEngine.manager.isAlive());
+ PolicyEngine.manager.configure(engineProps);
+ assertFalse(PolicyEngine.manager.isAlive());
+
+ logger.info("policy-engine {} has configuration {}", PolicyEngine.manager, engineProps);
+ }
+
+ @Test
+ public void test200Start() {
+ logger.info("enter");
+
+ PolicyEngine.manager.start();
+
+ assertTrue(PolicyEngine.manager.isAlive());
+ assertFalse(PolicyEngine.manager.isLocked());
+ assertFalse(PolicyEngine.manager.getHttpServers().isEmpty());
+ assertTrue(PolicyEngine.manager.getHttpServers().get(0).isAlive());
+ }
+
+ @Test
+ public void test300Lock() {
+ logger.info("enter");
+
+ PolicyEngine.manager.lock();
+
+ assertTrue(PolicyEngine.manager.isAlive());
+ assertTrue(PolicyEngine.manager.isLocked());
+ assertFalse(PolicyEngine.manager.getHttpServers().isEmpty());
+ assertTrue(PolicyEngine.manager.getHttpServers().get(0).isAlive());
+ }
+
+ @Test
+ public void test301Unlock() {
+ logger.info("enter");
+
+ PolicyEngine.manager.unlock();
+
+ assertTrue(PolicyEngine.manager.isAlive());
+ assertFalse(PolicyEngine.manager.isLocked());
+ assertFalse(PolicyEngine.manager.getHttpServers().isEmpty());
+ assertTrue(PolicyEngine.manager.getHttpServers().get(0).isAlive());
+ }
+
+ @Test
+ public void test400ControllerAdd() throws Exception {
+ logger.info("enter");
+
+ final Properties controllerProperties = new Properties();
+ controllerProperties.put(PolicyProperties.PROPERTY_CONTROLLER_NAME, TEST_CONTROLLER_NAME);
+ PolicyEngine.manager.createPolicyController(TEST_CONTROLLER_NAME, controllerProperties);
+
+ assertTrue(PolicyController.factory.inventory().size() == 1);
+ }
+
+ @Test
+ public void test401ControllerVerify() {
+ logger.info("enter");
+
+ final PolicyController testController = PolicyController.factory.get(TEST_CONTROLLER_NAME);
+
+ assertFalse(testController.isAlive());
+ assertFalse(testController.isLocked());
+
+ testController.start();
+
+ assertTrue(testController.isAlive());
+ assertFalse(testController.isLocked());
+ }
+
+ @Test
+ public void test500Deactivate() throws Exception {
+ logger.info("enter");
+
+ PolicyEngine.manager.deactivate();
+
+ final PolicyController testController = PolicyController.factory.get(TEST_CONTROLLER_NAME);
+ assertFalse(testController.isAlive());
+ assertTrue(testController.isLocked());
+ assertTrue(PolicyEngine.manager.isLocked());
+ assertTrue(PolicyEngine.manager.isAlive());
+ }
+
+ @Test
+ public void test501Activate() throws Exception {
+ logger.info("enter");
+
+ PolicyEngine.manager.activate();
+
+ final PolicyController testController = PolicyController.factory.get(TEST_CONTROLLER_NAME);
+ assertTrue(testController.isAlive());
+ assertFalse(testController.isLocked());
+ assertFalse(PolicyEngine.manager.isLocked());
+ assertTrue(PolicyEngine.manager.isAlive());
+ }
+
+ @Test
+ public void test900ControllerRemove() throws Exception {
+ logger.info("enter");
+
+ PolicyEngine.manager.removePolicyController(TEST_CONTROLLER_NAME);
+ assertTrue(PolicyController.factory.inventory().isEmpty());
+ }
+
+ @Test
+ public void test901Stop() {
+ logger.info("enter");
+
+ PolicyEngine.manager.stop();
+ assertFalse(PolicyEngine.manager.isAlive());
+ }
}