diff options
Diffstat (limited to 'policy-management/src')
9 files changed, 692 insertions, 23 deletions
diff --git a/policy-management/src/main/java/org/onap/policy/drools/persistence/FileSystemPersistence.java b/policy-management/src/main/java/org/onap/policy/drools/persistence/FileSystemPersistence.java index e217ee7d..905e50c2 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/persistence/FileSystemPersistence.java +++ b/policy-management/src/main/java/org/onap/policy/drools/persistence/FileSystemPersistence.java @@ -27,6 +27,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Properties; @@ -208,7 +209,7 @@ public class FileSystemPersistence implements SystemPersistence { @Override public List<Properties> getControllerProperties() { final List<Properties> controllers = new ArrayList<>(); - final File[] controllerFiles = this.configurationDirectory.toFile().listFiles(); + final File[] controllerFiles = this.sortedListFiles(); for (final File controllerFile : controllerFiles) { if (controllerFile.getName().endsWith(PROPERTIES_FILE_CONTROLLER_SUFFIX)) { final int idxSuffix = controllerFile.getName().indexOf(PROPERTIES_FILE_CONTROLLER_SUFFIX); @@ -262,7 +263,7 @@ public class FileSystemPersistence implements SystemPersistence { @Override public List<Properties> getEnvironmentProperties() { final List<Properties> envs = new ArrayList<>(); - final File[] envFiles = this.configurationDirectory.toFile().listFiles(); + final File[] envFiles = this.sortedListFiles(); for (final File envFile : envFiles) { if (envFile.getName().endsWith(ENV_SUFFIX)) { final String name = envFile.getName().substring(0, envFile.getName().indexOf(ENV_SUFFIX)); @@ -290,6 +291,15 @@ public class FileSystemPersistence implements SystemPersistence { } } + /** + * provides a list of files sorted by name in ascending order in the configuration directory + */ + protected File[] sortedListFiles() { + final File[] dirFiles = this.configurationDirectory.toFile().listFiles(); + Arrays.sort(dirFiles, (a, b) -> a.getName().compareTo(b.getName())); + return dirFiles; + } + @Override public String toString() { final StringBuilder builder = new StringBuilder(); diff --git a/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java index ded7a52c..b0b8b504 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java +++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/ControllerConfiguration.java @@ -67,7 +67,7 @@ public class ControllerConfiguration { @JsonProperty("drools") private DroolsConfiguration drools; @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); protected final static Object NOT_FOUND_VALUE = new Object(); /** @@ -75,6 +75,7 @@ public class ControllerConfiguration { * */ public ControllerConfiguration() { + // Empty } /** diff --git a/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java index 5f32d7a4..4c672e7b 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java +++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/DroolsConfiguration.java @@ -63,7 +63,7 @@ public class DroolsConfiguration { @JsonProperty("version") private String version; @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); protected final static Object NOT_FOUND_VALUE = new Object(); /** @@ -71,6 +71,7 @@ public class DroolsConfiguration { * */ public DroolsConfiguration() { + // Empty } /** @@ -196,21 +197,21 @@ public class DroolsConfiguration { switch (name) { case "artifactId": if (value instanceof String) { - setArtifactId(((String) value)); + setArtifactId((String) value); } else { throw new IllegalArgumentException(("property \"artifactId\" is of type \"java.lang.String\", but got "+ value.getClass().toString())); } return true; case "groupId": if (value instanceof String) { - setGroupId(((String) value)); + setGroupId((String) value); } else { throw new IllegalArgumentException(("property \"groupId\" is of type \"java.lang.String\", but got "+ value.getClass().toString())); } return true; case "version": if (value instanceof String) { - setVersion(((String) value)); + setVersion((String) value); } else { throw new IllegalArgumentException(("property \"version\" is of type \"java.lang.String\", but got "+ value.getClass().toString())); } @@ -239,21 +240,21 @@ public class DroolsConfiguration { public<T >T get(String name) { Object value = declaredPropertyOrNotFound(name, DroolsConfiguration.NOT_FOUND_VALUE); if (DroolsConfiguration.NOT_FOUND_VALUE!= value) { - return ((T) value); + return (T) value; } else { - return ((T) getAdditionalProperties().get(name)); + return (T) getAdditionalProperties().get(name); } } public void set(String name, Object value) { if (!declaredProperty(name, value)) { - getAdditionalProperties().put(name, ((Object) value)); + getAdditionalProperties().put(name, value); } } public DroolsConfiguration with(String name, Object value) { if (!declaredProperty(name, value)) { - getAdditionalProperties().put(name, ((Object) value)); + getAdditionalProperties().put(name, value); } return this; } diff --git a/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java index d7295fd4..8d6f9bfd 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java +++ b/policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java @@ -67,9 +67,9 @@ public class PdpdConfiguration { * */ @JsonProperty("controllers") - private List<ControllerConfiguration> controllers = new ArrayList<ControllerConfiguration>(); + private List<ControllerConfiguration> controllers = new ArrayList<>(); @JsonIgnore - private Map<String, Object> additionalProperties = new HashMap<String, Object>(); + private Map<String, Object> additionalProperties = new HashMap<>(); protected final static Object NOT_FOUND_VALUE = new Object(); /** @@ -77,6 +77,7 @@ public class PdpdConfiguration { * */ public PdpdConfiguration() { + // Empty } /** @@ -201,21 +202,21 @@ public class PdpdConfiguration { switch (name) { case "requestID": if (value instanceof String) { - setRequestID(((String) value)); + setRequestID((String) value); } else { throw new IllegalArgumentException(("property \"requestID\" is of type \"java.lang.String\", but got "+ value.getClass().toString())); } return true; case "entity": if (value instanceof String) { - setEntity(((String) value)); + setEntity((String) value); } else { throw new IllegalArgumentException(("property \"entity\" is of type \"java.lang.String\", but got "+ value.getClass().toString())); } return true; case "controllers": if (value instanceof List) { - setControllers(((List<ControllerConfiguration> ) value)); + setControllers((List<ControllerConfiguration> ) value); } else { throw new IllegalArgumentException(("property \"controllers\" is of type \"java.util.List<org.onap.policy.drools.protocol.configuration.Controller>\", but got "+ value.getClass().toString())); } @@ -244,21 +245,21 @@ public class PdpdConfiguration { public<T >T get(String name) { Object value = declaredPropertyOrNotFound(name, PdpdConfiguration.NOT_FOUND_VALUE); if (PdpdConfiguration.NOT_FOUND_VALUE!= value) { - return ((T) value); + return (T) value; } else { - return ((T) getAdditionalProperties().get(name)); + return (T) getAdditionalProperties().get(name); } } public void set(String name, Object value) { if (!declaredProperty(name, value)) { - getAdditionalProperties().put(name, ((Object) value)); + getAdditionalProperties().put(name, value); } } public PdpdConfiguration with(String name, Object value) { if (!declaredProperty(name, value)) { - getAdditionalProperties().put(name, ((Object) value)); + getAdditionalProperties().put(name, value); } return this; } @@ -276,7 +277,7 @@ public class PdpdConfiguration { if ((other instanceof PdpdConfiguration) == false) { return false; } - PdpdConfiguration rhs = ((PdpdConfiguration) other); + PdpdConfiguration rhs = (PdpdConfiguration) other; return new EqualsBuilder().append(requestID, rhs.requestID).append(entity, rhs.entity).append(controllers, rhs.controllers).append(additionalProperties, rhs.additionalProperties).isEquals(); } diff --git a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java index 48eedfa5..93bdc0b2 100644 --- a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java +++ b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java @@ -375,6 +375,7 @@ public class RestManager { if (controller != null) return Response.status(Response.Status.NOT_MODIFIED).entity(controller).build(); } catch (final IllegalArgumentException e) { + logger.trace("OK ", e); // This is OK } catch (final IllegalStateException e) { logger.info("{}: cannot get policy-controller because of {}", this, e.getMessage(), e); 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 index db8f306c..788da053 100644 --- 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 @@ -19,17 +19,23 @@ */ package org.onap.policy.drools.persistence.test; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import org.junit.BeforeClass; import org.junit.Test; +import org.onap.policy.drools.persistence.FileSystemPersistence; import org.onap.policy.drools.persistence.SystemPersistence; import org.onap.policy.drools.properties.PolicyProperties; import org.slf4j.Logger; @@ -65,6 +71,14 @@ public class SystemPersistenceTest { */ public static final String TEST_CONTROLLER_FILE_BAK = TEST_CONTROLLER_NAME + "-controller.properties.bak"; + + /** + * Test JUnit Environment/Engine properties + */ + private static final String ENV_PROPS = "envProps"; + private static final String ENV_PROPS_FILE = ENV_PROPS + ".environment"; + private static final String POLICY_ENGINE_PROPERTIES_FILE = "policy-engine.properties"; + @Test public void nonDefaultConfigDir() throws IOException { @@ -78,14 +92,51 @@ public class SystemPersistenceTest { assertTrue(SystemPersistence.manager.getConfigurationPath().toString() .equals(SystemPersistence.DEFAULT_CONFIGURATION_DIR)); + this.engineConfiguration(); this.persistConfiguration(); cleanUpWorkingDirs(); } + public void engineConfiguration() { + SystemPersistence.manager.setConfigurationDir(OTHER_CONFIG_DIR); + final Path policyEnginePropsPath = Paths.get(OTHER_CONFIG_DIR + "/" + FileSystemPersistence.PROPERTIES_FILE_ENGINE); + final Path environmentPropertiesPath = Paths.get(OTHER_CONFIG_DIR + "/" + ENV_PROPS_FILE); + + Properties policyEnginePropsObject, emptyProps; + emptyProps = new Properties(); + + List<Properties> envPropertesList = new ArrayList<>(); + envPropertesList.add(emptyProps); + + policyEnginePropsObject = new Properties(); + policyEnginePropsObject.setProperty("foo", "bar"); + policyEnginePropsObject.setProperty("fiz", "buz"); + + try { + + if (Files.notExists(environmentPropertiesPath)) { + Files.createFile(environmentPropertiesPath); + } + + if (Files.notExists(policyEnginePropsPath)) { + OutputStream fout = new FileOutputStream(policyEnginePropsPath.toFile()); + policyEnginePropsObject.store(fout, ""); + fout.close(); + } + } catch (IOException e) { + logger.error("Problem creating {}", policyEnginePropsPath); + } + + assertEquals(SystemPersistence.manager.getEngineProperties(), policyEnginePropsObject); + assertEquals(SystemPersistence.manager.getEnvironmentProperties(ENV_PROPS), emptyProps); + assertEquals(SystemPersistence.manager.getEnvironmentProperties(), envPropertesList); + + } + public void persistConfiguration() { logger.info("enter"); - + final Path controllerPath = Paths .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE); @@ -121,9 +172,18 @@ public class SystemPersistenceTest { final Path testControllerBakPath = Paths .get(SystemPersistence.manager.getConfigurationPath().toString(), TEST_CONTROLLER_FILE_BAK); + final Path policyEnginePath = Paths + .get(OTHER_CONFIG_DIR + "/" + POLICY_ENGINE_PROPERTIES_FILE); + + final Path environmentPath = Paths + .get(OTHER_CONFIG_DIR + "/" + ENV_PROPS_FILE); + Files.deleteIfExists(testControllerPath); Files.deleteIfExists(testControllerBakPath); + Files.deleteIfExists(policyEnginePath); + Files.deleteIfExists(environmentPath); Files.deleteIfExists(Paths.get(OTHER_CONFIG_DIR)); + } } diff --git a/policy-management/src/test/java/org/onap/policy/drools/protocol/configuration/PdpdConfigurationTest.java b/policy-management/src/test/java/org/onap/policy/drools/protocol/configuration/PdpdConfigurationTest.java new file mode 100644 index 00000000..84c85b8a --- /dev/null +++ b/policy-management/src/test/java/org/onap/policy/drools/protocol/configuration/PdpdConfigurationTest.java @@ -0,0 +1,250 @@ +/*- + * ============LICENSE_START======================================================= + * Configuration Test + * ================================================================================ + * 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.protocol.configuration; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class PdpdConfigurationTest { + + private static final Logger logger = LoggerFactory.getLogger(PdpdConfigurationTest.class); + + private static final String REQUEST_ID = UUID.randomUUID().toString(); + private static final String REQUEST_ID2 = UUID.randomUUID().toString(); + + private static final String ENTITY = "entity1"; + private static final String ENTITY2 = "entity2"; + + private static final String PROPERTY1 = "property1"; + private static final String PROPERTY2 = "property2"; + + private static final String VALUE1 = "value1"; + private static final String VALUE2 = "value2"; + + private static final String ARTIFACT = "org.onap.artifact"; + private static final String GROUPID = "group"; + private static final String VERSION = "1.0.0"; + + private static final String ARTIFACT2 = "org.onap.artifact2"; + private static final String GROUPID2 = "group2"; + private static final String VERSION2 = "1.0.1"; + + private static final String NAME = "name"; + private static final String OPERATION = "operation"; + + private static final String NAME2 = "name2"; + private static final String OPERATION2 = "operation2"; + + @Test + public void test() { + // + // Empty constructor test + // + DroolsConfiguration drools = new DroolsConfiguration(); + drools.set("artifactId", ARTIFACT); + drools.set("groupId", GROUPID); + drools.set("version", VERSION); + drools.set(PROPERTY1, VALUE1); + + assertTrue(drools.equals(drools)); + assertFalse(drools.equals(new Object())); + + logger.info("Drools HashCode {}", drools.hashCode()); + + // + // Constructor with values test get calls + // + DroolsConfiguration drools2 = new DroolsConfiguration( + drools.get("artifactId"), + drools.get("groupId"), + drools.get("version")); + + // + // get Property + // + + drools2.set(PROPERTY1, drools.get(PROPERTY1)); + + assertTrue(drools.equals(drools2)); + + // + // with methods + // + drools2.withArtifactId(ARTIFACT2).withGroupId(GROUPID2).withVersion(VERSION2).withAdditionalProperty(PROPERTY2, VALUE2); + + assertFalse(drools.equals(drools2)); + + // + // Test get additional properties + // + assertEquals(drools.getAdditionalProperties().size(), 1); + + // + // Test Not found + // + assertEquals(drools.declaredPropertyOrNotFound(PROPERTY2, DroolsConfiguration.NOT_FOUND_VALUE), DroolsConfiguration.NOT_FOUND_VALUE); + + logger.info("drools {}", drools); + logger.info("drools2 {}", drools2); + + // + // Test Controller Default Constructor + // + ControllerConfiguration controller = new ControllerConfiguration(); + + // + // Test set + // + + controller.set("name", NAME); + controller.set("operation", OPERATION); + controller.set("drools", drools); + controller.set(PROPERTY1, VALUE1); + + assertTrue(controller.equals(controller)); + assertFalse(controller.equals(new Object())); + + logger.info("Controller HashCode {}", controller.hashCode()); + + // + // Controller Constructor gets + // + ControllerConfiguration controller2 = new ControllerConfiguration( + controller.get("name"), + controller.get("operation"), + controller.get("drools")); + + // + // Test get property + // + + controller2.set(PROPERTY1, controller.get(PROPERTY1)); + + assertTrue(controller.equals(controller2)); + + // + // test with methods + // + + controller2.withDrools(drools2).withName(NAME2).withOperation(OPERATION2).withAdditionalProperty(PROPERTY2, VALUE2); + + assertFalse(controller.equals(controller2)); + + // + // Test additional properties + // + assertEquals(controller.getAdditionalProperties().size(), 1); + + // + // Not found + // + assertEquals(controller.declaredPropertyOrNotFound(PROPERTY2, ControllerConfiguration.NOT_FOUND_VALUE), ControllerConfiguration.NOT_FOUND_VALUE); + + // + // toString + // + logger.info("Controller {}", controller); + logger.info("Controller2 {}", controller2); + + // + // PDP Configuration empty constructor + // + PdpdConfiguration config = new PdpdConfiguration(); + + // + // Test set + // + + config.set("requestID", REQUEST_ID); + config.set("entity", ENTITY); + List<ControllerConfiguration> controllers = new ArrayList<>(); + controllers.add(controller); + config.set("controllers", controllers); + config.set(PROPERTY1, VALUE1); + + assertTrue(config.equals(config)); + assertFalse(config.equals(new Object())); + + logger.info("Config HashCode {}", config.hashCode()); + + // + // Test constructor with values + // + + PdpdConfiguration config2 = new PdpdConfiguration( + config.get("requestID"), + config.get("entity"), + config.get("controllers")); + + // + // Test set + // + + config2.set(PROPERTY1, config.get(PROPERTY1)); + + assertTrue(config.equals(config2)); + + // + // Test with methods + // + List<ControllerConfiguration> controllers2 = new ArrayList<>(); + controllers2.add(controller2); + config2.withRequestID(REQUEST_ID2).withEntity(ENTITY2).withController(controllers2); + + assertFalse(config.equals(config2)); + + // + // Test additional properties + // + + assertEquals(config.getAdditionalProperties().size(), 1); + + // + // Test NOT FOUND + // + assertEquals(config.declaredPropertyOrNotFound(PROPERTY2, ControllerConfiguration.NOT_FOUND_VALUE), ControllerConfiguration.NOT_FOUND_VALUE); + + // + // toString + // + logger.info("Config {}", config); + logger.info("Config2 {}", config2); + + } + + @Test + public void testConstructor() { + + PdpdConfiguration config = new PdpdConfiguration(REQUEST_ID, ENTITY, null); + assertEquals(config.getRequestID(), REQUEST_ID); + assertEquals(config.getEntity(), ENTITY); + + } + +} diff --git a/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java b/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java new file mode 100644 index 00000000..c04db288 --- /dev/null +++ b/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java @@ -0,0 +1,345 @@ +/*- + * ============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.onap.policy.drools.server.restful.test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.util.Properties; + +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.onap.policy.drools.properties.PolicyProperties; +import org.onap.policy.drools.system.PolicyEngine; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.apache.http.HttpEntity; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; + +public class RestManagerTest { + + + public static final int DEFAULT_TELEMETRY_PORT = 9698; + private static final String HOST = "localhost"; + private static final String REST_MANAGER_PATH = "/policy/pdp"; + private static final String HOST_URL = "http://" + HOST + ":" + DEFAULT_TELEMETRY_PORT + REST_MANAGER_PATH; + private static final String FOO_CONTROLLER = "foo-controller"; + private static CloseableHttpClient client; + + private static final Logger logger = LoggerFactory.getLogger(RestManagerTest.class); + + @BeforeClass + public static void setUp() { + /* override default port */ + final Properties engineProps = PolicyEngine.manager.defaultTelemetryConfig(); + engineProps.put(PolicyProperties.PROPERTY_HTTP_SERVER_SERVICES + "." + + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME + PolicyProperties.PROPERTY_HTTP_PORT_SUFFIX, + "" + DEFAULT_TELEMETRY_PORT); + PolicyEngine.manager.configure(engineProps); + PolicyEngine.manager.start(); + + client = HttpClients.createDefault(); + + } + + @AfterClass + public static void tearDown() { + PolicyEngine.manager.shutdown(); + + } + + + @Test + public void GETTest() throws ClientProtocolException, IOException, InterruptedException { + assertTrue(PolicyEngine.manager.isAlive()); + + HttpGet httpGet; + CloseableHttpResponse response; + String responseBody; + + httpGet = new HttpGet(HOST_URL + "/engine"); + response = client.execute(httpGet); + logger.info("/engine response code: {}", response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/features"); + response = client.execute(httpGet); + logger.info("/engine/features response code: {}", response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/features/inventory"); + response = client.execute(httpGet); + logger.info("/engine/features/inventory response code: {}", response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/features/foobar"); + response = client.execute(httpGet); + logger.info("/engine/features/foobar response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/inputs"); + response = client.execute(httpGet); + logger.info("/engine/inputs response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/properties"); + response = client.execute(httpGet); + logger.info("/engine/properties response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/environment"); + response = client.execute(httpGet); + logger.info("/engine/environment response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + PolicyEngine.manager.setEnvironmentProperty("foo", "bar"); + httpGet = new HttpGet(HOST_URL + "/engine/environment/foo"); + response = client.execute(httpGet); + responseBody = getResponseBody(response); + logger.info("/engine/environment/foo response code: {}",response.getStatusLine().getStatusCode()); + logger.info("/engine/environment/foo response body: {}",responseBody); + assertEquals(200, response.getStatusLine().getStatusCode()); + assertEquals("bar", responseBody); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/switches"); + response = client.execute(httpGet); + logger.info("/engine/switches response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + Properties controllerProps = new Properties(); + PolicyEngine.manager.createPolicyController(FOO_CONTROLLER, controllerProps); + httpGet = new HttpGet(HOST_URL + "/engine/controllers"); + response = client.execute(httpGet); + responseBody = getResponseBody(response); + logger.info("/engine/controllers response code: {}",response.getStatusLine().getStatusCode()); + logger.info("/engine/controllers response body: {}",responseBody); + assertEquals(200, response.getStatusLine().getStatusCode()); + assertEquals("[\"" + FOO_CONTROLLER +"\"]", responseBody); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/inventory"); + response = client.execute(httpGet); + logger.info("/engine/controllers/inventory response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/features"); + response = client.execute(httpGet); + logger.info("/engine/controllers/features response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/features/inventory"); + response = client.execute(httpGet); + logger.info("/engine/controllers/features/inventory response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/features/dummy"); + response = client.execute(httpGet); + logger.info("/engine/controllers/features/dummy response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER); + response = client.execute(httpGet); + logger.info("/engine/controllers/ response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller"); + response = client.execute(httpGet); + logger.info("/engine/controllers/nonexistantcontroller response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/properties"); + response = client.execute(httpGet); + responseBody = getResponseBody(response); + logger.info("/engine/controllers/contoller/properties response code: {}", response.getStatusLine().getStatusCode()); + logger.info("/engine/controllers/contoller/properties response code: {}", responseBody); + assertEquals(200, response.getStatusLine().getStatusCode()); + assertEquals("{}", responseBody); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/properties"); + response = client.execute(httpGet); + logger.info("/engine/controllers/nonexistantcontroller/properties response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/inputs"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/inputs response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/switches"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/switches response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/drools response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/drools"); + response = client.execute(httpGet); + logger.info("/engine/controllers/nonexistantcontroller/drools response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/drools/facts response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/drools/facts"); + response = client.execute(httpGet); + logger.info("/engine/controllers/nonexistantcontroller/drools/facts response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/dummy"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/drools/facts/fact response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/dummy/dummy"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/drools/facts/fact response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session/query/queriedEntity"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/drools/facts/session/query/queriedEntity response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/decoders response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/decoders"); + response = client.execute(httpGet); + logger.info("/engine/controllers/nonexistantcontroller/decoders response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/filters"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controllers/decoders/filters response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(200, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/nonexistantcontroller/decoders/filters"); + response = client.execute(httpGet); + logger.info("engine/controllers/nonexistantcontroller/decoders/filters response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controllers/decoders/topics response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controllers/decoders/topic/filters response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters/factType"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controller/decoders/topic/filters/factType response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters/factType/rules"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controllers/decoders/topic/filters/factType/rules response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/decoders/topic/filters/factType/rules/ruleName"); + response = client.execute(httpGet); + logger.info("/engine/controllers/controllers/decoders/topic/filters/factType/rules/ruleName response code: {}",response.getStatusLine().getStatusCode()); + assertEquals(404, response.getStatusLine().getStatusCode()); + httpGet.releaseConnection(); + + + } + + + public String getResponseBody(CloseableHttpResponse response) { + + HttpEntity entity; + try { + entity = response.getEntity(); + return EntityUtils.toString(entity); + + } catch (IOException e) { + + } + + return null; + } + +} diff --git a/policy-management/src/test/resources/logback-test.xml b/policy-management/src/test/resources/logback-test.xml index 4a3b561f..b2ddf807 100644 --- a/policy-management/src/test/resources/logback-test.xml +++ b/policy-management/src/test/resources/logback-test.xml @@ -10,7 +10,7 @@ <logger name="org.onap.policy.drools.system.test" level="INFO"/> - <root level="WARN"> + <root level="INFO"> <appender-ref ref="STDOUT"/> </root> |