diff options
Diffstat (limited to 'PyPDPServer')
34 files changed, 0 insertions, 5201 deletions
diff --git a/PyPDPServer/client.properties b/PyPDPServer/client.properties deleted file mode 100644 index 0b8dc258e..000000000 --- a/PyPDPServer/client.properties +++ /dev/null @@ -1,22 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ECOMP Policy Engine -# ================================================================================ -# 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========================================================= -### - -python=test,MASTER -PyPDPServer=test,MASTER
\ No newline at end of file diff --git a/PyPDPServer/config.properties b/PyPDPServer/config.properties deleted file mode 100644 index 96253ebb0..000000000 --- a/PyPDPServer/config.properties +++ /dev/null @@ -1,49 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ECOMP Policy Engine -# ================================================================================ -# 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========================================================= -### - -# PIP Engine Definition -#PDP_URL2 = http://localhost:8082/pdp/ ,testpdp,alpha456 -PDP_URL1= http://localhost:9091/pdp/ ,testpdp, alpha456 -PAP_URL = http://localhost:8070/pap/ , testpap, alpha123 -PYPDP_ID=testrest -PYPDP_PASSWORD=secUre -# DO NOT ADD THIS TO THE INSTALLTION SCRIPTS. This is for build Test purposes. -Test = true - -#Integrity Monitor values -#database driver for Integrity Monitor -javax.persistence.jdbc.driver=com.mysql.jdbc.Driver -#database URL for Integrity Monitor -javax.persistence.jdbc.url=jdbc:mysql://localhost:3306/ecomp_sdk -#database username for Integrity Monitor -javax.persistence.jdbc.user=policy_user -#database password for Integrity Monitor -javax.persistence.jdbc.password=policy_user -#resource name -RESOURCE_NAME=pypdp_pdp01 - -#The site name for the Admin -site_name=site_1 - -#Has to be one of pdp_xacml, pdp_drools, pap, pap_admin, logparser, brms_gateway, astra_gateway, elk_server, pypdp -node_type=pypdp - -ENVIRONMENT=DEVL -CLIENT_FILE=client.properties
\ No newline at end of file diff --git a/PyPDPServer/policyLogger.properties b/PyPDPServer/policyLogger.properties deleted file mode 100644 index 0deb1b3d6..000000000 --- a/PyPDPServer/policyLogger.properties +++ /dev/null @@ -1,44 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ECOMP Policy Engine -# ================================================================================ -# 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========================================================= -### - -################################### Set concurrentHashMap and timer info ####################### -#Timer initial delay and the delay between in milliseconds before task is to be execute. -timer.delay.time=1000 -#Timer scheduleAtFixedRate period - time in milliseconds between successive task executions. -check.interval= 30000 -#Longest time an event info can be stored in the concurrentHashMap for logging - in seconds. -event.expired.time=86400 -#Size of the concurrentHashMap which stores the event starting time, etc - when its size reaches this limit, the Timer gets executed -#to remove all expired records from this concurrentHashMap. -concurrentHashMap.limit=5000 -#Size of the concurrentHashMap - when its size drops to this point, stop the Timer -stop.check.point=2500 -################################### Set logging format ############################################# -# set EELF for EELF logging format, set LOG4J for using log4j, set SYSTEMOUT for using system.out.println -logger.type=EELF -#################################### Set level for EELF or SYSTEMOUT logging ################################## -# Set level for debug file. Set DEBUG to enable .info, .warn and .debug; set INFO for enable .info and .warn; set OFF to disable all -debugLogger.level=INFO -# Set level for metrics file. Set OFF to disable; set ON to enable -metricsLogger.level=ON -# Set level for error file. Set OFF to disable; set ON to enable -error.level=ON -# Set level for audit file. Set OFF to disable; set ON to enable -audit.level=ON diff --git a/PyPDPServer/pom.xml b/PyPDPServer/pom.xml deleted file mode 100644 index 608bdea0d..000000000 --- a/PyPDPServer/pom.xml +++ /dev/null @@ -1,248 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ============LICENSE_START======================================================= - ECOMP Policy Engine - ================================================================================ - 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========================================================= - --> - -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <modelVersion>4.0.0</modelVersion> - <artifactId>PyPDPServer</artifactId> - <packaging>war</packaging> - - <description>PyPDP Server</description> - - <parent> - <groupId>org.openecomp.policy.engine</groupId> - <artifactId>PolicyEngineSuite</artifactId> - <version>1.1.0-SNAPSHOT</version> - </parent> - - <properties> - <start-class>org.openecomp.policy.pypdp.controller.Application</start-class> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> - <!-- <tomcat.version>8.0.14</tomcat.version> --> - - <sonar.language>java</sonar.language> - <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> - <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> - <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath> - <sonar.jacoco.itReportPath>/opt/app/jacoco-it.exec</sonar.jacoco.itReportPath> - <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero> - <springboot.version>1.3.3.RELEASE</springboot.version> - </properties> - - <repositories> - <repository> - <id>spring-releases</id> - <url>https://repo.spring.io/libs-release</url> - </repository> - </repositories> - <pluginRepositories> - <pluginRepository> - <id>spring-releases</id> - <url>https://repo.spring.io/libs-release</url> - </pluginRepository> - </pluginRepositories> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-dependencies</artifactId> - <version>${springboot.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - - <dependencies> - <dependency> - <groupId>org.openecomp.policy.engine</groupId> - <artifactId>PolicyEngineAPI</artifactId> - <version>${project.version}</version> - <exclusions> - <exclusion> - <groupId>javax.websocket</groupId> - <artifactId>javax.websocket-api</artifactId> - </exclusion> - <exclusion> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - </exclusion> - <exclusion> - <artifactId>slf4j-log4j12</artifactId> - <groupId>org.slf4j</groupId> - </exclusion> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring-mock</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - <version>${springboot.version}</version> - <exclusions> - <exclusion> - <groupId>org.slf4j</groupId> - <artifactId>log4j-over-slf4j</artifactId> - </exclusion> - <exclusion> - <artifactId>logback-classic</artifactId> - <groupId>ch.qos.logback</groupId> - </exclusion> - <exclusion> - <artifactId>logback-core</artifactId> - <groupId>ch.qos.logback</groupId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - <version>3.0.1</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger2</artifactId> - <version>2.4.0</version> - </dependency> - <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-swagger-ui</artifactId> - <version>2.4.0</version> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - <version>4.2.5.RELEASE</version> - </dependency> - <dependency> - <groupId>org.glassfish</groupId> - <artifactId>javax.json</artifactId> - <version>1.0.4</version> - </dependency> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>4.2.4</version> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>2.4</version> - </dependency> - <dependency> - <groupId>javax.validation</groupId> - <artifactId>validation-api</artifactId> - <version>1.1.0.Final</version> - </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>19.0</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-core</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> - <groupId>ch.qos.logback</groupId> - <artifactId>logback-classic</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <version>4.2.5.RELEASE</version> - </dependency> - <dependency> - <groupId>org.mapstruct</groupId> - <artifactId>mapstruct</artifactId> - <version>1.0.0.Final</version> - </dependency> - <dependency> - <groupId>org.skyscreamer</groupId> - <artifactId>jsonassert</artifactId> - <version>1.3.0</version> - </dependency> - <dependency> - <groupId>javax.ws.rs</groupId> - <artifactId>javax.ws.rs-api</artifactId> - <version>2.0.1</version> - <scope>test</scope> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.sonatype.plugins</groupId> - <artifactId>nexus-staging-maven-plugin</artifactId> - <version>1.6.7</version> - <extensions>true</extensions> - <configuration> - <nexusUrl>${nexusproxy}</nexusUrl> - <stagingProfileId>176c31dfe190a</stagingProfileId> - <serverId>ecomp-staging</serverId> - </configuration> - </plugin> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <version>${springboot.version}</version> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - <phase>none</phase> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <version>2.2</version> - <configuration> - <packagingExcludes>WEB-INF/lib/javax.websocket-api-1.1.jar</packagingExcludes> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>3.2</version> - <configuration> - <source>1.8</source> - <target>1.8</target> - </configuration> - </plugin> - <plugin> - <groupId>com.fortify.ps.maven.plugin</groupId> - <artifactId>sca-maven-plugin</artifactId> - <version>4.20</version> - </plugin> - </plugins> - </build> -</project> diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ConfigFirewallPolicyRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ConfigFirewallPolicyRequest.java deleted file mode 100644 index 4a11b8c9e..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ConfigFirewallPolicyRequest.java +++ /dev/null @@ -1,128 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.io.StringReader; -import java.util.UUID; - -import javax.json.Json; -import javax.json.JsonObject; -import javax.json.JsonReader; - -import org.openecomp.policy.api.PolicyConfigException; -import org.openecomp.policy.pypdp.model_pojo.PepConfigFirewallPolicyRequest; -import org.openecomp.policy.std.StdPolicyEngine; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class ConfigFirewallPolicyRequest { - - private StdPolicyEngine pe; - public ConfigFirewallPolicyRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public String run(PepConfigFirewallPolicyRequest pep, String requestID, String operation, String userID, String passcode) { - - String result = null; - - // construct a UUID from the request string - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - } - - if (pep.getPolicyName()!= null && !pep.getPolicyName().isEmpty()) { - if (pep.getFirewallJson() != null && !pep.getFirewallJson().isEmpty()) { - if (pep.getPolicyScope() != null && !pep.getPolicyScope().isEmpty()) { - try { - - JsonObject json = stringToJson(pep.getFirewallJson()); - - if(!json.toString().contains("errorMessage")){ - if (operation.equalsIgnoreCase("create")) { - result = pe.createConfigFirewallPolicy(pep.getPolicyName(), json, pep.getPolicyScope(), requestUUID, userID, passcode, - pep.getRiskLevel(), pep.getRiskType(), pep.getGuard(), pep.getTtlDate()); - } else { - result = pe.updateConfigFirewallPolicy(pep.getPolicyName(), json, pep.getPolicyScope(), requestUUID, userID, passcode, - pep.getRiskLevel(), pep.getRiskType(), pep.getGuard(), pep.getTtlDate()); - } - } else { - result = XACMLErrorConstants.ERROR_SCHEMA_INVALID + "BAD REQUEST: Invalid Json for firewallJson: " + pep.getFirewallJson(); - } - } catch (PolicyConfigException e) { - result = e.getMessage(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyScope was null or empty."; - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: firewallJson was null or empty."; - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyName was null or empty."; - } - - return result; - - } - - private JsonObject stringToJson(String jsonString) { - - JsonObject json = null; - if (jsonString != null) { - - try { - - //Read jsonBody to JsonObject - StringReader in = null; - - in = new StringReader(jsonString); - - JsonReader jsonReader = Json.createReader(in); - json = jsonReader.readObject(); - - } catch (Exception e) { - String jsonError = "{\"errorMessage\": \"" + e.getMessage() + "\"}"; - StringReader error = null; - error = new StringReader(jsonError); - JsonReader jsonReader = Json.createReader(error); - JsonObject badJson = jsonReader.readObject(); - return badJson; - } - - } - - return json; - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ConfigRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ConfigRequest.java deleted file mode 100644 index 694d010f3..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ConfigRequest.java +++ /dev/null @@ -1,182 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.io.StringWriter; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; -import java.util.UUID; - -import javax.json.JsonObject; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.openecomp.policy.api.ConfigRequestParameters; -import org.openecomp.policy.api.PolicyConfig; -import org.openecomp.policy.api.PolicyConfigException; -import org.openecomp.policy.api.PolicyConfigStatus; -import org.openecomp.policy.api.PolicyType; -import org.openecomp.policy.pypdp.model_pojo.PepConfigPolicyNameRequest; -import org.openecomp.policy.pypdp.model_pojo.PyPolicyConfig; -import org.openecomp.policy.std.StdPolicyConfig; -import org.openecomp.policy.std.StdPolicyEngine; -import org.w3c.dom.Document; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class ConfigRequest { - - private StdPolicyEngine pe; - public ConfigRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public Collection<PyPolicyConfig> run(ConfigRequestParameters pep, String requestID, String userID, String passcode) { - PolicyLogger.debug("... Request Params : \n" - + "configName " + pep.getConfigName() + "\n" - + "ecompName" + pep.getEcompName() + "\n" - + "policyName" + pep.getPolicyName() + "\n"); - StdPolicyConfig policyConfig = new StdPolicyConfig(); - Collection<PyPolicyConfig> result = new ArrayList<PyPolicyConfig>(); - // construct a UUID from the request string - if(pep.getRequestID()==null){ - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - } - pep.setRequestID(requestUUID); - } - try { - PolicyLogger.debug("\n\n calling PEP.. "); - Collection<PolicyConfig> pConfigs = pe.configRequest(pep, userID, passcode); - for(PolicyConfig pConfig: pConfigs){ - PyPolicyConfig pyPolicyConfig = checkResponse(pConfig); - result.add(pyPolicyConfig); - } - return result; - } catch(Exception e){ - policyConfig.setConfigStatus(e.getMessage(), PolicyConfigStatus.CONFIG_NOT_FOUND); - PyPolicyConfig pyPolicyConfig = checkResponse(policyConfig); - result.add(pyPolicyConfig); - return result; - } - } - - public Collection<PyPolicyConfig> run(PepConfigPolicyNameRequest pep, String requestID, String userID, String passcode) { - PolicyLogger.debug("... Request Params : \n" - + "policyName" + pep.getPolicyName() + "\n"); - StdPolicyConfig policyConfig = new StdPolicyConfig(); - Collection<PyPolicyConfig> result = new ArrayList<PyPolicyConfig>(); - // construct a UUID from the request string - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - } - if(pep.getPolicyName()!= null && !pep.getPolicyName().isEmpty()) { - try { - Collection<PolicyConfig> pConfigs = pe.configPolicyName(pep.getPolicyName(), requestUUID, userID, passcode); - for(PolicyConfig pConfig: pConfigs){ - PyPolicyConfig pyPolicyConfig = checkResponse(pConfig); - result.add(pyPolicyConfig); - } - return result; - } catch (PolicyConfigException e) { - policyConfig.setConfigStatus(e.getMessage(), PolicyConfigStatus.CONFIG_NOT_FOUND); - PyPolicyConfig pyPolicyConfig = checkResponse(policyConfig); - result.add(pyPolicyConfig); - return result; - } - } - else { - policyConfig.setConfigStatus(XACMLErrorConstants.ERROR_DATA_ISSUE + "PolicyFile Name is empty", PolicyConfigStatus.CONFIG_NOT_FOUND); - PyPolicyConfig pyPolicyConfig = checkResponse(policyConfig); - result.add(pyPolicyConfig); - return result; - } - } - - public PyPolicyConfig checkResponse(PolicyConfig pConfig) { - PyPolicyConfig policyConfig = new PyPolicyConfig(); - policyConfig.setPolicyConfigMessage(pConfig.getPolicyConfigMessage()); - policyConfig.setPolicyConfigStatus(pConfig.getPolicyConfigStatus()); - policyConfig.setType(pConfig.getType()); - policyConfig.setPolicyName(pConfig.getPolicyName()); - policyConfig.setMatchingConditions(pConfig.getMatchingConditions()); - policyConfig.setResponseAttributes(pConfig.getResponseAttributes()); - policyConfig.setPolicyVersion(pConfig.getPolicyVersion()); - if (pConfig.getPolicyConfigStatus().equals(PolicyConfigStatus.CONFIG_RETRIEVED)) { - PolicyType policyType = policyConfig.getType(); - if(policyType.equals(PolicyType.PROPERTIES)) { - Properties properties = pConfig.toProperties(); - Map<String, String> propVal = new HashMap<String, String>(); - for(String name: properties.stringPropertyNames()) { - propVal.put(name, properties.getProperty(name)); - } - policyConfig.setProperty(propVal); - } else if(policyType.equals(PolicyType.OTHER)) { - String other = pConfig.toOther(); - policyConfig.setConfig(other); - } else if (policyType.equals(PolicyType.JSON)) { - JsonObject json = pConfig.toJSON(); - policyConfig.setConfig(json.toString()); - } else if (policyType.equals(PolicyType.XML)) { - Document document = pConfig.toXML(); - DOMSource domSource = new DOMSource(document); - StringWriter writer = new StringWriter(); - StreamResult result = new StreamResult(writer); - TransformerFactory tf = TransformerFactory.newInstance(); - Transformer transformer; - try { - transformer = tf.newTransformer(); - transformer.transform(domSource, result); - policyConfig.setConfig(writer.toString()); - } catch (TransformerException e) { - policyConfig.setConfig(null); - policyConfig.setPolicyConfigMessage(XACMLErrorConstants.ERROR_SCHEMA_INVALID + "XML error in the Configuration. " + e.getMessage()); - policyConfig.setPolicyConfigStatus(PolicyConfigStatus.CONFIG_NOT_FOUND); - } - } - } else { - policyConfig.setConfig(null); - } - return policyConfig; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/DeletePolicyRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/DeletePolicyRequest.java deleted file mode 100644 index 0ca5bb0d2..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/DeletePolicyRequest.java +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.util.UUID; - -import org.openecomp.policy.api.DeletePolicyParameters; -import org.openecomp.policy.api.PolicyConfigException; -import org.openecomp.policy.std.StdPolicyEngine; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class DeletePolicyRequest { - private StdPolicyEngine pe; - public DeletePolicyRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public String run(DeletePolicyParameters pep, String requestID, String userID, String passcode) { - - String result = null; - - // construct a UUID from the request string - if(pep.getRequestID()==null){ - if (requestID != null && !requestID.isEmpty()) { - try { - pep.setRequestID(UUID.fromString(requestID)); - } - catch (IllegalArgumentException e) { - pep.setRequestID(UUID.randomUUID()); - PolicyLogger.info("Generated Random UUID: " + pep.getRequestID().toString()); - } - } - } - - if (pep.getPolicyName()!= null && !pep.getPolicyName().isEmpty()) { - if (pep.getPolicyComponent() != null && !pep.getPolicyComponent().isEmpty()) { - - try { - - result = pe.deletePolicy(pep, userID, passcode).getResponseMessage(); - - } catch (PolicyConfigException e) { - result = e.getMessage(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyComponent was null or empty."; - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyName was null or empty."; - } - - return result; - - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/EventRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/EventRequest.java deleted file mode 100644 index 021b3d7f0..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/EventRequest.java +++ /dev/null @@ -1,83 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.UUID; - -import org.openecomp.policy.api.EventRequestParameters; -import org.openecomp.policy.api.PolicyResponse; -import org.openecomp.policy.api.PolicyResponseStatus; -import org.openecomp.policy.std.StdPolicyEngine; -import org.openecomp.policy.std.StdPolicyResponse; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class EventRequest { - - private StdPolicyEngine pe; - public EventRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public Collection<PolicyResponse> run(EventRequestParameters pep, String requestID, String userID, String passcode){ - StdPolicyResponse policyResponse = new StdPolicyResponse(); - Collection<PolicyResponse> result = new ArrayList<PolicyResponse>(); - // construct a UUID from the request string - if(pep.getRequestID()==null){ - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - } - pep.setRequestID(requestUUID); - } - try { - Collection<PolicyResponse> pResponses = pe.event(pep.getEventAttributes(), pep.getRequestID(), userID, passcode); - for(PolicyResponse pResponse: pResponses){ - pResponse = checkResponse(pResponse); - result.add(pResponse); - } - return result; - } catch(Exception e){ - policyResponse.setPolicyResponseStatus(e.getMessage(), PolicyResponseStatus.NO_ACTION_REQUIRED); - policyResponse = checkResponse(policyResponse); - result.add(policyResponse); - return result; - } - } - - private StdPolicyResponse checkResponse(PolicyResponse pResponse) { - StdPolicyResponse policyResponse= new StdPolicyResponse(); - policyResponse.setActionAdvised(pResponse.getActionAdvised()); - policyResponse.setActionTaken(pResponse.getActionTaken()); - policyResponse.setPolicyResponseMessage(pResponse.getPolicyResponseMessage()); - policyResponse.setPolicyResponseStatus(pResponse.getPolicyResponseStatus()); - policyResponse.setRequestAttributes(pResponse.getRequestAttributes()); - return policyResponse; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ListConfigRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ListConfigRequest.java deleted file mode 100644 index 8aac105bf..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/ListConfigRequest.java +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.UUID; - -import org.openecomp.policy.api.ConfigRequestParameters; -import org.openecomp.policy.api.PolicyConfigStatus; -import org.openecomp.policy.std.StdPolicyConfig; -import org.openecomp.policy.std.StdPolicyEngine; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class ListConfigRequest { - - private StdPolicyEngine pe; - public ListConfigRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public Collection<String> run(ConfigRequestParameters pep, String requestID, String userID, String passcode) { - - StdPolicyConfig policyConfig = new StdPolicyConfig(); - Collection<String> configList = new ArrayList<String>(); - - // construct a UUID from the request string - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - } - pep.setRequestID(requestUUID); - try { - PolicyLogger.debug("\n\n calling PEP.. "); - configList = pe.listConfigRequest(pep, userID, passcode); - return configList; - } catch(Exception e){ - policyConfig.setConfigStatus(e.getMessage(), PolicyConfigStatus.CONFIG_NOT_FOUND); - configList.add(policyConfig.getPolicyConfigStatus().toString()); - return configList; - } - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/PolicyCreateUpdateRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/PolicyCreateUpdateRequest.java deleted file mode 100644 index 56151f483..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/PolicyCreateUpdateRequest.java +++ /dev/null @@ -1,124 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.util.UUID; - -import org.openecomp.policy.api.PolicyConfigException; -import org.openecomp.policy.api.PolicyParameters; -import org.openecomp.policy.pypdp.model_pojo.PepConfigPolicyRequest; -import org.openecomp.policy.std.StdPolicyEngine; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class PolicyCreateUpdateRequest { - private StdPolicyEngine pe; - public PolicyCreateUpdateRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public String run(PolicyParameters pep, String requestID, String operation, String userID, String passcode) { - String result = null; - if(pep.getRequestID()==null){ - if (requestID != null && !requestID.isEmpty()) { - try { - pep.setRequestID(UUID.fromString(requestID)); - } - catch (IllegalArgumentException e) { - pep.setRequestID(UUID.randomUUID()); - PolicyLogger.info("Generated Random UUID: " + pep.getRequestID().toString()); - } - } - } - // check if this is create - try{ - if (operation.equalsIgnoreCase("create")) { - result = pe.createPolicy(pep, userID, passcode ).getResponseMessage(); - }else{ - // this is Update policy. - result = pe.updatePolicy(pep, userID, passcode ).getResponseMessage(); - } - }catch(Exception e){ - result = e.getMessage(); - } - return result; - } - - public String run(PepConfigPolicyRequest pep, String requestID, String operation, String userID, String passcode) { - - String result = null; - - // construct a UUID from the request string - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - } - - if (pep.getPolicyName()!= null && !pep.getPolicyName().isEmpty()) { - if (pep.getEcompName() != null && !pep.getEcompName().isEmpty()) { - if (pep.getConfigName() != null && !pep.getConfigName().isEmpty()){ - if (pep.getPolicyScope() != null && !pep.getPolicyScope().isEmpty()) { - try { - - if (operation.equalsIgnoreCase("create")) { - - result = pe.createConfigPolicy(pep.getPolicyName(), pep.getPolicyDescription(), pep.getEcompName(), - pep.getConfigName(), pep.getConfigAttributes(), pep.getConfigType(), pep.getBody(), - pep.getPolicyScope(), requestUUID, userID, passcode, pep.getRiskLevel(), pep.getRiskType(), pep.getGuard(), pep.getTtlDate()); - } else { - result = pe.updateConfigPolicy(pep.getPolicyName(), pep.getPolicyDescription(), pep.getEcompName(), - pep.getConfigName(), pep.getConfigAttributes(), pep.getConfigType(), pep.getBody(), - pep.getPolicyScope(), requestUUID, userID, passcode, pep.getRiskLevel(), pep.getRiskType(), pep.getGuard(), pep.getTtlDate()); - } - - - } catch (PolicyConfigException e) { - result = e.getMessage(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyScope was null or empty."; - } - - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: configName was null or empty."; - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: ecompName was null or empty."; - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyName was null or empty."; - } - - return result; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/PushPolicyRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/PushPolicyRequest.java deleted file mode 100644 index 47326b326..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/PushPolicyRequest.java +++ /dev/null @@ -1,90 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp; - -import java.util.UUID; - -import org.openecomp.policy.api.PolicyConfigException; -import org.openecomp.policy.pypdp.model_pojo.PepPushPolicyRequest; -import org.openecomp.policy.std.StdPolicyEngine; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -import org.openecomp.policy.common.logging.eelf.MessageCodes; -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -public class PushPolicyRequest { - private StdPolicyEngine pe; - public PushPolicyRequest(StdPolicyEngine pe){ - this.pe= pe; - } - - public String run(PepPushPolicyRequest pep, String requestID, String userID, String passcode) { - - String result = null; - - // construct a UUID from the request string - UUID requestUUID = null; - if (requestID != null && !requestID.isEmpty()) { - try { - requestUUID = UUID.fromString(requestID); - } - catch (IllegalArgumentException e) { - requestUUID = UUID.randomUUID(); - PolicyLogger.info("Generated Random UUID: " + requestUUID.toString()); - } - }else{ - requestUUID = UUID.randomUUID(); - PolicyLogger.error("No Request UUID Given, hence generating one random ID: " + requestUUID.toString()); - } - String policyName = pep.getPolicyName(); - String policyScope = pep.getPolicyScope(); - if(policyName==null || policyName.isEmpty()){ - return XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyName was null or empty."; - } - if(policyScope== null || policyScope.isEmpty()){ - try{ - policyName = pep.getPolicyName().substring(pep.getPolicyName().lastIndexOf(".")+1, pep.getPolicyName().length()); - policyScope = pep.getPolicyName().substring(0, pep.getPolicyName().lastIndexOf(".")); - } catch (Exception e){ - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "BAD REQUEST: policyScope was null or empty."); - return XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyScope was null or empty."; - } - } - PolicyLogger.info("policyName: " + policyName + " policyScope is : " + policyScope); - if (pep.getPolicyType() != null && !pep.getPolicyType().isEmpty()) { - if (pep.getPdpGroup() != null && !pep.getPdpGroup().isEmpty()) { - try { - result = pe.pushPolicy(policyScope ,policyName , pep.getPolicyType(), pep.getPdpGroup(), requestUUID, userID, passcode); - } catch (PolicyConfigException e) { - result = e.getMessage(); - } catch (Exception e) { - result = e.getMessage(); - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyGroup was null or empty."; - } - } else { - result = XACMLErrorConstants.ERROR_DATA_ISSUE + "BAD REQUEST: policyType was null or empty."; - } - return result; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/AuthenticationFilter.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/AuthenticationFilter.java deleted file mode 100644 index c5526d753..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/AuthenticationFilter.java +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.authorization; - -import java.io.IOException; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.annotation.WebFilter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -@WebFilter("/*") -public class AuthenticationFilter implements Filter { - - public static final String AUTHENTICATION_HEADER = "Authorization"; - public static final String ENVIRONMENT_HEADER = "Environment"; - - @Override - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain filter) throws IOException, ServletException { - if (request instanceof HttpServletRequest) { - HttpServletRequest httpServletRequest = (HttpServletRequest) request; - String authCredentials = httpServletRequest.getHeader(AUTHENTICATION_HEADER); - String environment = httpServletRequest.getHeader(ENVIRONMENT_HEADER); - String path = ((HttpServletRequest) request).getRequestURI(); - - // better injected - AuthenticationService authenticationService = new AuthenticationService(); - - boolean authenticationStatus = authenticationService.authenticate(authCredentials); - - if (authenticationStatus && environment!=null && (environment.equalsIgnoreCase(Config.getEnvironment()))) { - filter.doFilter(request, response); - } else if(environment==null| path.contains("org.openecomp.policy.pypdp.notifications") || path.contains("swagger") || path.contains("api-docs") || path.contains("configuration") || path.contains("pdps") || path.contains("count") || path.contains("paps")){ - filter.doFilter(request, response); - } else { - if (response instanceof HttpServletResponse) { - HttpServletResponse httpServletResponse = (HttpServletResponse) response; - httpServletResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - } - } - if (path.contains("error")){ - HttpServletResponse httpServletResponse = (HttpServletResponse) response; - httpServletResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST); - } - } - } - - @Override - public void destroy() { - } - - @Override - public void init(FilterConfig arg0) throws ServletException { - Config.setProperty(); - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/AuthenticationService.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/AuthenticationService.java deleted file mode 100644 index c7deac910..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/AuthenticationService.java +++ /dev/null @@ -1,232 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.authorization; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Base64; -import java.util.HashMap; -import java.util.Properties; -import java.util.StringTokenizer; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.openecomp.policy.common.logging.eelf.MessageCodes; -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -public class AuthenticationService { - private String pyPDPID = Config.getPYPDPID(); - private String pyPDPPass = Config.getPYPDPPass(); - private static Path clientPath = null; - private static HashMap<String, ArrayList<String>> clientMap = null; - private static Long oldModified = null; - private static Long newModified = null; - private static final Log logger = LogFactory.getLog(AuthenticationService.class); - - public boolean authenticate(String authCredentials) { - - if (null == authCredentials) - return false; - // header value format will be "Basic encodedstring" for Basic authentication. - final String encodedUserPassword = authCredentials.replaceFirst("Basic" + " ", ""); - String usernameAndPassword = null; - try { - byte[] decodedBytes = Base64.getDecoder().decode(encodedUserPassword); - usernameAndPassword = new String(decodedBytes, "UTF-8"); - } catch (Exception e) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, ""); - return false; - } - try { - final StringTokenizer tokenizer = new StringTokenizer(usernameAndPassword, ":"); - final String username = tokenizer.nextToken(); - final String password = tokenizer.nextToken(); - - boolean authenticationStatus = pyPDPID.equals(username) && pyPDPPass.equals(password); - return authenticationStatus; - } catch (Exception e){ - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, ""); - return false; - } - } - - public static boolean clientAuth(String clientCredentials) { - if(clientCredentials == null){ - return false; - } - // Decode the encoded Client Credentials. - String usernameAndPassword = null; - try { - byte[] decodedBytes = Base64.getDecoder().decode(clientCredentials); - usernameAndPassword = new String(decodedBytes, "UTF-8"); - } catch (Exception e) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, ""); - return false; - } - try { - final StringTokenizer tokenizer = new StringTokenizer(usernameAndPassword, ":"); - final String username = tokenizer.nextToken(); - final String password = tokenizer.nextToken(); - return checkClient(username,password); - } catch(Exception e){ - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, ""); - return false; - } - } - - public static boolean checkClientScope(String clientCredentials, String scope) { - if(clientCredentials == null){ - return false; - } - // Decode the encoded Client Credentials. - String usernameAndPassword = null; - try { - byte[] decodedBytes = Base64.getDecoder().decode(clientCredentials); - usernameAndPassword = new String(decodedBytes, "UTF-8"); - } catch (Exception e) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, ""); - return false; - } - final StringTokenizer tokenizer = new StringTokenizer(usernameAndPassword, ":"); - final String username = tokenizer.nextToken(); - // Read the properties and compare. - try{ - readFile(); - }catch(Exception e){ - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, ""); - return false; - } - // Check ID, Scope - if (clientMap.containsKey(username) && (clientMap.get(username).get(1).equals(scope) || clientMap.get(username).get(1).equals("MASTER"))) { - return true; - } - return false; - } - - private static boolean checkClient(String username, String password) { - // Read the properties and compare. - try{ - readFile(); - }catch(Exception e){ - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, ""); - return false; - } - // Check ID, Key - if (clientMap.containsKey(username) && clientMap.get(username).get(0).equals(password)) { - return true; - } - return false; - } - - private static void readFile() throws Exception { - String clientFile = Config.getClientFile(); - if (clientFile == null) { - Config.setProperty(); - if(clientFile == null){ - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Missing CLIENT_FILE property value: " + clientFile); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, "Missing CLIENT_FILE property value: " + clientFile); - throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"Missing CLIENT_FILE property value: " + clientFile); - } - } - if (clientPath == null) { - clientPath = Paths.get(clientFile); - if (Files.notExists(clientPath)) { - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "File doesn't exist in the specified Path : " + clientPath.toString()); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, "File doesn't exist in the specified Path : " + clientPath.toString()); - throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"File doesn't exist in the specified Path : "+ clientPath.toString()); - } - if (clientPath.toString().endsWith(".properties")) { - readProps(); - } else { - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Not a .properties file " + clientFile); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, "Not a .properties file " + clientFile); - throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"Not a .properties file " + clientFile); - } - } - // Check if File is updated recently - else { - newModified = clientPath.toFile().lastModified(); - if (newModified != oldModified) { - // File has been updated. - readProps(); - } - } - } - - private static void readProps() throws Exception{ - InputStream in; - Properties clientProp = new Properties(); - try { - in = new FileInputStream(clientPath.toFile()); - oldModified = clientPath.toFile().lastModified(); - clientProp.load(in); - } catch (IOException e) { - logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, e, ""); - throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"Cannot Load the Properties file", e); - - } - // Read the Properties and Load the PDPs and encoding. - clientMap = new HashMap<String, ArrayList<String>>(); - // - for (Object propKey : clientProp.keySet()) { - String clientID = (String)propKey; - String clientValue = clientProp.getProperty(clientID); - if (clientValue != null) { - if (clientValue.contains(",")) { - ArrayList<String> clientValues = new ArrayList<String>(Arrays.asList(clientValue.split("\\s*,\\s*"))); - if(clientValues.get(0)!=null || clientValues.get(1)!=null || clientValues.get(0).isEmpty() || clientValues.get(1).isEmpty()){ - clientMap.put(clientID, clientValues); - } - } - } - } - if (clientMap == null || clientMap.isEmpty()) { - logger.debug(XACMLErrorConstants.ERROR_PERMISSIONS + "No Clients ID , Client Key and Scopes are available. Cannot serve any Clients !!"); - } - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/Config.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/Config.java deleted file mode 100644 index 388909ecf..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/authorization/Config.java +++ /dev/null @@ -1,300 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.authorization; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Base64; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Properties; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.openecomp.policy.common.logging.eelf.MessageCodes; -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - -import org.openecomp.policy.common.im.IntegrityMonitor; - - -public class Config { - private static final String propertyFilePath = "config.properties"; - private static Properties prop = new Properties(); - private static List<String> pdps = null; - private static List<String> paps = null; - private static List<String> encoding = null; - private static List<String> encodingPAP = null; - private static String pyPDPPass = null; - private static String pyPDPID = null; - private static String environment = null; - private static final Log logger = LogFactory.getLog(Config.class); - private static String clientFile = null; - private static boolean test = false; - - private static IntegrityMonitor im; - private static String resourceName = null; - - public static String getProperty(String propertyKey) { - return prop.getProperty(propertyKey); - } - - /* - * Set Property by reading the properties File. - */ - public static void setProperty() { - Path file = Paths.get(propertyFilePath); - if (Files.notExists(file)) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+ "File doesn't exist in the specified Path "+ file.toString()); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "File doesn't exist in the specified Path "+ file.toString()); - } else { - InputStream in; - prop = new Properties(); - try { - in = new FileInputStream(file.toFile()); - prop.load(in); - } catch (IOException e) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Cannot Load the Properties file" + e); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, e, "Cannot Load the Properties file"); - } - } - // Initializing the values. - pdps = new ArrayList<String>(); - paps = new ArrayList<String>(); - encoding = new ArrayList<String>(); - encodingPAP = new ArrayList<String>(); - - // Check the Keys for PDP_URLs - Collection<Object> unsorted = prop.keySet(); - List<String> sorted = new ArrayList(unsorted); - Collections.sort(sorted); - for (String propKey : sorted) { - if (propKey.startsWith("PDP_URL")) { - String check_val = prop.getProperty(propKey); - logger.debug("Property file value for Key : \"" + propKey + "\" Value is : \"" + check_val + "\""); - if (check_val == null) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Properties file doesn't have the PDP_URL parameter"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Properties file doesn't have the PDP_URL parameter"); - } - if (check_val.contains(";")) { - List<String> pdp_default = new ArrayList<String>(Arrays.asList(check_val.split("\\s*;\\s*"))); - int pdpCount = 0; - while (pdpCount < pdp_default.size()) { - String pdpVal = pdp_default.get(pdpCount); - readPDPParam(pdpVal); - pdpCount++; - } - } else { - readPDPParam(check_val); - } - } else if (propKey.startsWith("PAP_URL")) { - String check_val = prop.getProperty(propKey); - logger.debug("Property file value for Key : \"" + propKey + "\" Value is : \"" + check_val + "\""); - if (check_val == null) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Properties file doesn't have the PAP_URL parameter"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Properties file doesn't have the PAP_URL parameter"); - } - if (check_val.contains(";")) { - List<String> pap_default = new ArrayList<String>(Arrays.asList(check_val.split("\\s*;\\s*"))); - int papCount=0; - while (papCount < pap_default.size()) { - String papVal = pap_default.get(papCount); - readPAPParam(papVal); - papCount++; - } - } else { - readPAPParam(check_val); - } - } - } - if (pdps == null || pdps.isEmpty()) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Cannot Proceed without PDP_URLs"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Cannot Proceed without PDP_URLs"); - } - - if (prop.containsKey("PYPDP_ID")) { - String id = prop.getProperty("PYPDP_ID"); - logger.debug("Property file value key: \"PYPDP_ID\" Value is : \"" + id + "\""); - if (id == null) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Properties file doesn't have PYPDP_ID parameter"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Properties file doesn't have PYPDP_ID parameter"); - } - Config.pyPDPID = id; - } else { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Properties file doesn't have PYPDP_ID parameter"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Properties file doesn't have PYPDP_ID parameter"); - } - if (prop.containsKey("PYPDP_PASSWORD")) { - String pass = prop.getProperty("PYPDP_PASSWORD"); - logger.debug("Property file value key: \"PYPDP_PASSWORD\" Value is : \"" + pass + "\""); - if (pass == null) { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Properties file doesn't have PYPDP_PASSWORD parameter"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Properties file doesn't have PYPDP_PASSWORD parameter"); - } - Config.pyPDPPass = pass; - } else { - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Properties file doesn't have PYPDP_PASSWORD parameter"); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "Properties file doesn't have PYPDP_PASSWORD parameter"); - } - environment = prop.getProperty("ENVIRONMENT", "DEVL"); - logger.info("Property value for Environment " + environment); - String value = prop.getProperty("Test"); - if(value!= null && value.equalsIgnoreCase("true")){ - test = true; - } - if(prop.containsKey("CLIENT_FILE")){ - clientFile = prop.getProperty("CLIENT_FILE"); - logger.debug("Property file value key: \"CLIENT_FILE\" Value is : \"" + clientFile + "\""); - if(clientFile == null){ - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"CLIENT_FILE value is missing."); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "CLIENT_FILE value is missing."); - } - }else{ - logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"CLIENT_FILE paramter is missing from the property file."); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "CLIENT_FILE paramter is missing from the property file."); - } - logger.info("Trying to set up IntegrityMonitor"); - try { - logger.info("Trying to set up IntegrityMonitor"); - resourceName = prop.getProperty("RESOURCE_NAME").replaceAll(" ", "");; - if(resourceName==null){ - logger.warn("RESOURCE_NAME is missing setting default value. "); - resourceName = "pypdp_pdp01"; - } - im = IntegrityMonitor.getInstance(resourceName, prop); - } catch (Exception e) { - logger.error("Error starting Integerity Monitor: " + e); - } - } - - private static void readPDPParam(String pdpVal) { - if (pdpVal.contains(",")) { - List<String> pdpValues = new ArrayList<String>(Arrays.asList(pdpVal.split("\\s*,\\s*"))); - if (pdpValues.size() == 3) { - // 0 - PDPURL - pdps.add(pdpValues.get(0)); - // 1:2 will be UserID:Password - String userID = pdpValues.get(1); - String pass = pdpValues.get(2); - Base64.Encoder encoder = Base64.getEncoder(); - encoding.add(encoder.encodeToString((userID + ":" + pass) - .getBytes(StandardCharsets.UTF_8))); - } else { - logger.error(XACMLErrorConstants.ERROR_PERMISSIONS+"No enough Credentials to send Request. "+ pdpValues); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "No enough Credentials to send Request. "+ pdpValues); - } - } else { - logger.error(XACMLErrorConstants.ERROR_PERMISSIONS+"No enough Credentials to send Request."); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE, "No enough Credentials to send Request."); - } - } - - private static void readPAPParam(String papVal) { - if (papVal.contains(",")) { - List<String> papValues = new ArrayList<String>(Arrays.asList(papVal.split("\\s*,\\s*"))); - if (papValues.size() == 3) { - // 0 - PAPURL - paps.add(papValues.get(0)); - // 1:2 will be UserID:Password - String userID = papValues.get(1); - String pass = papValues.get(2); - Base64.Encoder encoder = Base64.getEncoder(); - encodingPAP.add(encoder.encodeToString((userID + ":" + pass) - .getBytes(StandardCharsets.UTF_8))); - } else { - logger.error(XACMLErrorConstants.ERROR_PERMISSIONS+"Not enough Credentials to send Request. "+ papValues); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS, "Not enough Credentials to send Request. "+ papValues); - } - } else { - logger.error(XACMLErrorConstants.ERROR_PERMISSIONS+"Not enough Credentials to send Request."); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_PERMISSIONS, "Not enough Credentials to send Request."); - } - } - - public static List<String> getPDPs() { - setProperty(); - return Config.pdps; - } - - public static List<String> getPAPs() { - setProperty(); - return Config.paps; - } - - public static List<String> getEncoding() { - return Config.encoding; - } - - public static List<String> getEncodingPAP() { - return Config.encodingPAP; - } - - public static String getPYPDPID() { - return Config.pyPDPID; - } - - public static String getPYPDPPass() { - return Config.pyPDPPass; - } - - public static String getEnvironment(){ - return Config.environment; - } - - public static IntegrityMonitor getIntegrityMonitor(){ - if(im==null){ - setProperty(); - } - return im; - } - - public static String getClientFile() { - return Config.clientFile; - } - - public static Boolean isTest() { - return Config.test; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/controller/Application.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/controller/Application.java deleted file mode 100644 index a98e1109d..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/controller/Application.java +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.controller; - -import javax.servlet.Filter; - -import org.openecomp.policy.pypdp.authorization.AuthenticationFilter; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.context.web.SpringBootServletInitializer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; - -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.service.Contact; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -@SpringBootApplication -@EnableSwagger2 -@ComponentScan(basePackageClasses = {PolicyEngineServices.class}) -public class Application extends SpringBootServletInitializer { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } - - @Override - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(applicationClass); - } - - private static Class<Application> applicationClass = Application.class; - - @Bean - public Filter authenticationFilter(){ - return new AuthenticationFilter(); - } - - private ApiInfo apiInfo(){ - return new ApiInfoBuilder() - .title("Policy Engine REST API") - .description("This API helps applications across Domain 2.0 Platform to make queries against Policy Engine") - .version("2.0") - .build(); - } - - @Bean - public Docket policyAPI(){ - return new Docket(DocumentationType.SWAGGER_2) - .apiInfo(apiInfo()) - .select() - .apis(RequestHandlerSelectors.basePackage("org.openecomp.policy.pypdp.controller")) - .build() - .pathMapping("/") - ; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/controller/PolicyEngineServices.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/controller/PolicyEngineServices.java deleted file mode 100644 index 12a5f25f5..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/controller/PolicyEngineServices.java +++ /dev/null @@ -1,556 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; - -import java.util.Base64; -import java.util.Collection; -import java.util.List; -import java.util.StringTokenizer; -import java.util.concurrent.atomic.AtomicLong; - -import org.openecomp.policy.api.ConfigRequestParameters; -import org.openecomp.policy.api.DeletePolicyParameters; -import org.openecomp.policy.api.EventRequestParameters; -import org.openecomp.policy.api.NotificationScheme; -import org.openecomp.policy.api.PolicyParameters; -import org.openecomp.policy.api.PolicyResponse; -import org.openecomp.policy.pypdp.ConfigFirewallPolicyRequest; -import org.openecomp.policy.pypdp.ConfigRequest; -import org.openecomp.policy.pypdp.DeletePolicyRequest; -import org.openecomp.policy.pypdp.EventRequest; -import org.openecomp.policy.pypdp.ListConfigRequest; -import org.openecomp.policy.pypdp.PolicyCreateUpdateRequest; -import org.openecomp.policy.pypdp.PushPolicyRequest; -import org.openecomp.policy.pypdp.authorization.AuthenticationService; -import org.openecomp.policy.pypdp.authorization.Config; -import org.openecomp.policy.pypdp.jmx.PyPdpMonitor; -import org.openecomp.policy.pypdp.model_pojo.PepConfigFirewallPolicyRequest; -import org.openecomp.policy.pypdp.model_pojo.PepConfigPolicyNameRequest; -import org.openecomp.policy.pypdp.model_pojo.PepConfigPolicyRequest; -import org.openecomp.policy.pypdp.model_pojo.PepPushPolicyRequest; -import org.openecomp.policy.pypdp.model_pojo.PyPolicyConfig; -import org.openecomp.policy.pypdp.notifications.NotificationController; -import org.openecomp.policy.std.StdPolicyEngine; -import org.openecomp.policy.utils.PolicyUtils; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestHeader; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; - -import springfox.documentation.annotations.ApiIgnore; - -import org.openecomp.policy.common.logging.eelf.PolicyLogger; -import org.openecomp.policy.common.im.AdministrativeStateException; -import org.openecomp.policy.common.im.StandbyStatusException; - -@RestController -@Api(value="Policy Engine Services") -public class PolicyEngineServices { - private final NotificationScheme scheme = NotificationScheme.AUTO_ALL_NOTIFICATIONS; - private final NotificationController handler = new NotificationController(); - private final AtomicLong configCounter = PyPdpMonitor.singleton.getAtomicConfigCounter(); - private final AtomicLong eventCounter = PyPdpMonitor.singleton.getAtomicEventCounter(); - private final AtomicLong configPolicyNameCounter = PyPdpMonitor.singleton.getAtomicConfigPolicyNameCounter(); - private final StdPolicyEngine policyEngine = new StdPolicyEngine(Config.getPDPs(), Config.getPAPs(), Config.getEncodingPAP(), Config.getEncoding(), scheme, handler, Config.getEnvironment(), Config.getClientFile(), Config.isTest()); - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Gets the configuration from the PolicyDecisionPoint(PDP)") - @RequestMapping(value = "/getConfig", method = RequestMethod.POST) - public @ResponseBody ResponseEntity<Collection<PyPolicyConfig>> createConfigRequest(@RequestBody ConfigRequestParameters pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, @RequestHeader(value="X-ECOMP-RequestID", required=false)String requestID) { - Collection<PyPolicyConfig> policyConfig = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CONFIG"); - } catch (Exception e1) { - return new ResponseEntity<Collection<PyPolicyConfig>>(policyConfig, HttpStatus.UNAUTHORIZED); - } - ConfigRequest configRequest = new ConfigRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - policyConfig = configRequest.run(pep, requestID, userNamePass[0], userNamePass[1]); - configCounter.incrementAndGet(); - Config.getIntegrityMonitor().endTransaction(); - for(PyPolicyConfig pythonConfig: policyConfig){ - if(pythonConfig.getPolicyConfigMessage()!=null && pythonConfig.getPolicyConfigMessage().contains("PE300")){ - return new ResponseEntity<Collection<PyPolicyConfig>>(policyConfig, HttpStatus.BAD_REQUEST); - } - } - return new ResponseEntity<Collection<PyPolicyConfig>>(policyConfig, HttpStatus.OK); - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Gets the configuration from the PDP") - @RequestMapping(value = "/listConfig", method = RequestMethod.POST) - public @ResponseBody ResponseEntity<Collection<String>> createListConfigRequest(@RequestBody ConfigRequestParameters pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, @RequestHeader(value="X-ECOMP-RequestID", required=false)String requestID) { - Collection<String> policyList = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CONFIG"); - } catch (Exception e1) { - return new ResponseEntity<Collection<String>>(policyList, HttpStatus.UNAUTHORIZED); - } - ListConfigRequest listConfigRequest = new ListConfigRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (StandbyStatusException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - policyList = listConfigRequest.run(pep, requestID, userNamePass[0], userNamePass[1]); - - configCounter.incrementAndGet(); - Config.getIntegrityMonitor().endTransaction(); - - for(String response : policyList){ - if(response!=null && response.contains("PE300")){ - return new ResponseEntity<Collection<String>>(policyList, HttpStatus.BAD_REQUEST); - } - } - return new ResponseEntity<Collection<String>>(policyList, HttpStatus.OK); - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Sends the Events specified to the Policy Engine") - @RequestMapping(value = "/sendEvent", method = RequestMethod.POST) - public @ResponseBody ResponseEntity<Collection<PolicyResponse>> createEventParameterRequest(@RequestBody EventRequestParameters pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - Collection<PolicyResponse> policyResponse = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "ACTION"); - } catch (Exception e1) { - return new ResponseEntity<Collection<PolicyResponse>>(policyResponse, HttpStatus.UNAUTHORIZED); - } - EventRequest eventRequest = new EventRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - policyResponse = eventRequest.run(pep, requestID, userNamePass[0], userNamePass[1]); - eventCounter.incrementAndGet(); - Config.getIntegrityMonitor().endTransaction(); - for(PolicyResponse response: policyResponse ){ - if(response.getPolicyResponseMessage()!=null && response.getPolicyResponseMessage().contains("PE300")){ - return new ResponseEntity<Collection<PolicyResponse>>(policyResponse,HttpStatus.BAD_REQUEST); - } - } - return new ResponseEntity<Collection<PolicyResponse>>(policyResponse,HttpStatus.OK); - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Gets the configuration from the PolicyDecisionPoint(PDP)") - @RequestMapping(value = "/getConfigByPolicyName", method = RequestMethod.POST) - @Deprecated - public @ResponseBody ResponseEntity<Collection<PyPolicyConfig>> createConfigRequest(@RequestBody PepConfigPolicyNameRequest pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - Collection<PyPolicyConfig> policyConfig = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CONFIG"); - } catch (Exception e1) { - return new ResponseEntity<Collection<PyPolicyConfig>>(policyConfig, HttpStatus.UNAUTHORIZED); - } - ConfigRequest configRequest = new ConfigRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - policyConfig = configRequest.run(pep, requestID, userNamePass[0], userNamePass[1]); - configPolicyNameCounter.incrementAndGet(); - Config.getIntegrityMonitor().endTransaction(); - return new ResponseEntity<Collection<PyPolicyConfig>>(policyConfig, HttpStatus.OK); - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value="Pushes the specified policy to the PDP Group.") - @RequestMapping(value = "/pushPolicy", method = RequestMethod.PUT) - public @ResponseBody ResponseEntity<String> pushPolicyRequest(@RequestBody PepPushPolicyRequest pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - PushPolicyRequest pushPolicy = new PushPolicyRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = pushPolicy.run(pep, requestID, userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response.contains("BAD REQUEST")||response.contains("PE300")) { - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } else { - return new ResponseEntity<String>(response, HttpStatus.OK); - } - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value="Deletes the specified policy from the PDP Group or PAP.") - @RequestMapping(value = "/deletePolicy", method = RequestMethod.DELETE) - public @ResponseBody ResponseEntity<String> deletePolicyRequest(@RequestBody DeletePolicyParameters pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "DELETEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - DeletePolicyRequest deletePolicy = new DeletePolicyRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = deletePolicy.run(pep, requestID, userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response.contains("BAD REQUEST")||response.contains("PE300")||response.contains("not exist")||response.contains("Invalid policyName")) { - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } else if (response.contains("locked down")){ - return new ResponseEntity<String>(response, HttpStatus.ACCEPTED); - } else if (response.contains("not Authorized")) { - return new ResponseEntity<String>(response, HttpStatus.FORBIDDEN); - } else if (response.contains("groupId")) { - return new ResponseEntity<String>(response, HttpStatus.NOT_FOUND); - } else if (response.contains("JPAUtils")||response.contains("database")||response.contains("policy file")|| - response.contains("unknown")||response.contains("configuration")) { - return new ResponseEntity<String>(response, HttpStatus.INTERNAL_SERVER_ERROR); - } else { - return new ResponseEntity<String>(response, HttpStatus.OK); - } - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Creates a Policy based on given Policy Parameters.") - @RequestMapping(value = "/createPolicy", method = RequestMethod.PUT) - public @ResponseBody ResponseEntity<String> createRequest(@RequestBody PolicyParameters pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false)String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - PolicyCreateUpdateRequest policyCreateUpdateRequest = new PolicyCreateUpdateRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = policyCreateUpdateRequest.run(pep, requestID, "create", userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if(response== null || response.contains("BAD REQUEST")||response.contains("PE300")){ - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } - else if (response.contains("Policy Exist Error")) { - return new ResponseEntity<String>(response, HttpStatus.CONFLICT); - } else if (response.contains("PE200")){ - return new ResponseEntity<String>(response, HttpStatus.INTERNAL_SERVER_ERROR); - } else { - return new ResponseEntity<String>(response, HttpStatus.OK); - } - - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Updates a Policy based on given Policy Parameters.") - @RequestMapping(value = "/updatePolicy", method = RequestMethod.PUT) - public @ResponseBody ResponseEntity<String> updateRequest(@RequestBody PolicyParameters pep,@RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - PolicyCreateUpdateRequest policyCreateUpdateRequest = new PolicyCreateUpdateRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = policyCreateUpdateRequest.run(pep, requestID, "update", userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response==null|| response.contains("BAD REQUEST")||response.contains("PE300")){ - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } else if (response.contains("PE200")){ - return new ResponseEntity<String>(response, HttpStatus.INTERNAL_SERVER_ERROR); - } else { - return new ResponseEntity<String>(response, HttpStatus.OK); - } - - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Creates a Config Policy based on given Policy Parameters.") - @RequestMapping(value = "/createConfig", method = RequestMethod.PUT) - @Deprecated - public @ResponseBody ResponseEntity<String> createConfigRequest(@RequestBody PepConfigPolicyRequest pep, @RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - PolicyCreateUpdateRequest policyCreateUpdateRequest = new PolicyCreateUpdateRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = policyCreateUpdateRequest.run(pep, requestID, "create", userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response!=null && !response.contains("BAD REQUEST")) { - return new ResponseEntity<String>(response, HttpStatus.OK); - } else { - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } - - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value= "Updates a Config Policy based on given Policy Parameters.") - @RequestMapping(value = "/updateConfig", method = RequestMethod.PUT) - @Deprecated - public @ResponseBody ResponseEntity<String> updateConfigRequest(@RequestBody PepConfigPolicyRequest pep, @RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - PolicyCreateUpdateRequest policyCreateUpdateRequest = new PolicyCreateUpdateRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = policyCreateUpdateRequest.run(pep, requestID, "update", userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response!=null && !response.contains("BAD REQUEST")) { - return new ResponseEntity<String>(response, HttpStatus.OK); - } else { - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } - - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value = "Creates a Config Firewall Policy") - @RequestMapping(value = "/createFirewallConfig", method = RequestMethod.PUT) - @Deprecated - public @ResponseBody ResponseEntity<String> createFirewallConfigRequest(@RequestBody PepConfigFirewallPolicyRequest pep, @RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - ConfigFirewallPolicyRequest firewallPolicyRequest = new ConfigFirewallPolicyRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = firewallPolicyRequest.run(pep, requestID, "create", userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response!=null && !response.contains("BAD REQUEST")) { - return new ResponseEntity<String>(response, HttpStatus.OK); - } else { - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } - - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"), - @ApiImplicitParam(name ="Environment", required = true, paramType = "Header") - }) - @ApiOperation(value = "Updates a Config Firewall Policy") - @RequestMapping(value = "/updateFirewallConfig", method = RequestMethod.PUT) - @Deprecated - public @ResponseBody ResponseEntity<String> updateFirewallConfigRequest(@RequestBody PepConfigFirewallPolicyRequest pep, @RequestHeader(value="ClientAuth", required=true)String clientEncoding, - @RequestHeader(value="X-ECOMP-RequestID", required=false) String requestID) { - String response = null; - String[] userNamePass = null; - try { - userNamePass = decodeEncoding(clientEncoding, "CREATEPOLICY"); - } catch (Exception e1) { - return new ResponseEntity<String>(response, HttpStatus.UNAUTHORIZED); - } - ConfigFirewallPolicyRequest firewallPolicyRequest = new ConfigFirewallPolicyRequest(policyEngine); - try{ - Config.getIntegrityMonitor().startTransaction(); - } catch (AdministrativeStateException e) { - PolicyLogger.error("Error while starting Transaction " + e); - } catch (Exception e) { - PolicyLogger.error("Error while starting Transaction " + e); - } - response = firewallPolicyRequest.run(pep, requestID, "update", userNamePass[0], userNamePass[1]); - - Config.getIntegrityMonitor().endTransaction(); - if (response!=null && !response.contains("BAD REQUEST")) { - return new ResponseEntity<String>(response, HttpStatus.OK); - } else { - return new ResponseEntity<String>(response, HttpStatus.BAD_REQUEST); - } - - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header") - }) - @ApiOperation(value= "Gets the API Services usage Information") - @ApiIgnore - @RequestMapping(value = "/count", method = RequestMethod.GET) - public String getCount() { - return "Total Config Calls : " + configCounter + "\n" - +"Total Config calls made using Policy File Name: " + configPolicyNameCounter + "\n" - + "Total Event Calls : " + eventCounter; - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header") - }) - @ApiOperation(value = "Gets the PDPs that are listed to provide service.") - @RequestMapping(value = "/pdps", method = RequestMethod.GET) - public List<String> listPDPs() { - return Config.getPDPs(); - } - - @ApiImplicitParams({ - @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header") - }) - @ApiOperation(value = "Gets the PAPs that are listed to provide service.") - @RequestMapping(value = "/paps", method = RequestMethod.GET) - public List<String> listPAPs() { - return Config.getPAPs(); - } - - /* - * Internal Decoding System. to support old and new Calls. - */ - private String[] decodeEncoding(String clientEncoding, String scope) throws Exception{ - String[] userNamePass = PolicyUtils.decodeBasicEncoding(clientEncoding); - if(userNamePass==null){ - if(AuthenticationService.clientAuth(clientEncoding)){ - if(AuthenticationService.checkClientScope(clientEncoding, scope)){ - String usernameAndPassword = null; - byte[] decodedBytes = Base64.getDecoder().decode(clientEncoding); - usernameAndPassword = new String(decodedBytes, "UTF-8"); - StringTokenizer tokenizer = new StringTokenizer(usernameAndPassword, ":"); - String username = tokenizer.nextToken(); - String password = tokenizer.nextToken(); - userNamePass= new String[]{username, password}; - } - } - } - if(userNamePass==null){ - throw new Exception("Client is Not authrorized to make this call. Please contact PyPDP Admin."); - } - return userNamePass; - } -}
\ No newline at end of file diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMBeanListener.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMBeanListener.java deleted file mode 100644 index cd1c95d53..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMBeanListener.java +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.jmx; - -import java.lang.management.ManagementFactory; - -import javax.management.MBeanServer; -import javax.management.ObjectName; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; -import javax.servlet.annotation.WebListener; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.openecomp.policy.common.logging.flexlogger.FlexLogger; -import org.openecomp.policy.common.logging.flexlogger.Logger; - -@WebListener -public class PyPdpMBeanListener implements ServletContextListener { - private static final String JMX_OBJECT_NAME = "PyPdp:type=PyPdpMonitor"; -// private static final Log logger = LogFactory.getLog(PyPdpMBeanListener.class); - private static final Logger logger = FlexLogger.getLogger(PyPdpMBeanListener.class); - - private ObjectName objectName; - - @Override - public void contextInitialized(ServletContextEvent contextEvent) { - if (logger.isInfoEnabled()) - logger.info("Registering."); - - final MBeanServer server = ManagementFactory.getPlatformMBeanServer(); - try { - objectName = new ObjectName(JMX_OBJECT_NAME); - server.registerMBean(PyPdpMonitor.singleton, objectName); - logger.info("MBean registered: " + objectName); - } catch (Exception e) { - logger.warn(e.getMessage(), e); - } - } - - @Override - public void contextDestroyed(ServletContextEvent arg0) { - if (logger.isInfoEnabled()) - logger.info("Unregistering"); - final MBeanServer server = ManagementFactory.getPlatformMBeanServer(); - try { - objectName = new ObjectName(JMX_OBJECT_NAME); - server.unregisterMBean(objectName); - if (logger.isInfoEnabled()) - logger.info("MBean unregistered: " + objectName); - } catch (Exception e) { - logger.warn(e.getMessage(), e); - } - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMonitor.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMonitor.java deleted file mode 100644 index 849d8ae3f..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMonitor.java +++ /dev/null @@ -1,90 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.jmx; - -import java.util.concurrent.atomic.AtomicLong; - -public class PyPdpMonitor implements PyPdpMonitorMBean { - - public static PyPdpMonitor singleton = new PyPdpMonitor(); - - private final AtomicLong configCounter; - private final AtomicLong eventCounter; - private final AtomicLong configPolicyNameCounter; - - private PyPdpMonitor() { - this.configCounter = new AtomicLong(); - this.eventCounter = new AtomicLong(); - this.configPolicyNameCounter = new AtomicLong(); - } - - /** - * @return the configCounter - */ - public AtomicLong getAtomicConfigCounter() { - return configCounter; - } - - /** - * @return the eventCounter - */ - public AtomicLong getAtomicEventCounter() { - return eventCounter; - } - - /** - * @return the configPolicyNameCounter - */ - public AtomicLong getAtomicConfigPolicyNameCounter() { - return configPolicyNameCounter; - } - /** - * @return the configCounter - */ - @Override - public long getConfigCounter() { - return configCounter.longValue(); - } - - /** - * @return the eventCounter - */ - @Override - public long getEventCounter() { - return eventCounter.longValue(); - } - - /** - * @return the configPolicyNameCounter - */ - @Override - public long getConfigPolicyNameCounter() { - return configPolicyNameCounter.longValue(); - } - - @Override - public synchronized void resetCounters() { - this.configCounter.set(0); - this.eventCounter.set(0); - this.configPolicyNameCounter.set(0); - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMonitorMBean.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMonitorMBean.java deleted file mode 100644 index b111bb6f1..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/jmx/PyPdpMonitorMBean.java +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.jmx; - -public interface PyPdpMonitorMBean { - public long getConfigCounter(); - public long getEventCounter(); - public long getConfigPolicyNameCounter(); - public void resetCounters(); -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigFirewallPolicyRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigFirewallPolicyRequest.java deleted file mode 100644 index 1e76854c5..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigFirewallPolicyRequest.java +++ /dev/null @@ -1,82 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.model_pojo; - -import java.io.Serializable; -import java.util.Map; - -import javax.json.JsonObject; - -public class PepConfigFirewallPolicyRequest implements Serializable { - - private static final long serialVersionUID = 1L; - - private String policyName = null; - private String policyScope = null; - private String firewallJson = null; - private String riskType = "defualt"; - private String riskLevel = "5"; - private String guard = "false"; - private String ttlDate = null; - - public String getPolicyName() { - return policyName; - } - public String getPolicyScope() { - return policyScope; - } - public String getFirewallJson() { - return firewallJson; - } - public void setPolicyName(String policyName) { - this.policyName = policyName; - } - public void setPolicyScope(String policyScope) { - this.policyScope = policyScope; - } - public void setFirewallJson(String firewallJson) { - this.firewallJson = firewallJson; - } - public String getRiskType() { - return riskType; - } - public void setRiskType(String riskType) { - this.riskType = riskType; - } - public String getRiskLevel() { - return riskLevel; - } - public void setRiskLevel(String riskLevel) { - this.riskLevel = riskLevel; - } - public String getGuard() { - return guard; - } - public void setGuard(String guard) { - this.guard = guard; - } - public String getTtlDate() { - return ttlDate; - } - public void setTtlDate(String ttlDate) { - this.ttlDate = ttlDate; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigPolicyNameRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigPolicyNameRequest.java deleted file mode 100644 index 14979b8a1..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigPolicyNameRequest.java +++ /dev/null @@ -1,39 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.model_pojo; - -import java.io.Serializable; - -public class PepConfigPolicyNameRequest implements Serializable{ - - private static final long serialVersionUID = -5045734290192376081L; - - private String policyName = null; - - public void setPolicyName(String policyName) { - this.policyName = policyName; - } - - public String getPolicyName() { - return policyName; - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigPolicyRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigPolicyRequest.java deleted file mode 100644 index 9776e5091..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepConfigPolicyRequest.java +++ /dev/null @@ -1,187 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.model_pojo; - -import java.io.Serializable; -import java.util.Map; - -public class PepConfigPolicyRequest implements Serializable { - - private static final long serialVersionUID = 7946941587312347282L; - - private String policyScope = null; - private String policyName = null; - private String policyDescription = null; - private String ecompName = null; - private String configName = null; - private Map<String,String> configAttributes = null; - private String configType = null; - private String body = null; - private String riskType = "defualt"; - private String riskLevel = "5"; - private String guard = "false"; - private String ttlDate = null; - - /** - * @return the policyScope - */ - public String getPolicyScope() { - return policyScope; - } - /** - * @return the policyName - */ - public String getPolicyName() { - return policyName; - } - /** - * @return the policyDescription - */ - public String getPolicyDescription() { - return policyDescription; - } - /** - * @return the ecompName - */ - public String getEcompName() { - return ecompName; - } - /** - * @return the configName - */ - public String getConfigName() { - return configName; - } - /** - * @return the configAttributes - */ - public Map<String, String> getConfigAttributes() { - return configAttributes; - } - /** - * @return the configType - */ - public String getConfigType() { - return configType; - } - /** - * @return the body - */ - public String getBody() { - return body; - } - /** - * @param policyScope the policyScope to set - */ - public void setPolicyScope(String policyScope) { - this.policyScope = policyScope; - } - /** - * @param policyName the policyName to set - */ - public void setPolicyName(String policyName) { - this.policyName = policyName; - } - /** - * @param policyDescription the policyDescription to set - */ - public void setPolicyDescription(String policyDescription) { - this.policyDescription = policyDescription; - } - /** - * @param ecompName the ecompName to set - */ - public void setEcompName(String ecompName) { - this.ecompName = ecompName; - } - /** - * @param configName the configName to set - */ - public void setConfigName(String configName) { - this.configName = configName; - } - /** - * @param configAttributes the configAttributes to set - */ - public void setConfigAttributes(Map<String, String> configAttributes) { - this.configAttributes = configAttributes; - } - /** - * @param configType the configType to set - */ - public void setConfigType(String configType) { - this.configType = configType; - } - /** - * @param body the body to set - */ - public void setBody(String body) { - this.body = body; - } - /** - * @return the guard - */ - public String getGuard() { - return guard; - } - /** - * @param guard the guard to set - */ - public void setGuard(String guard) { - this.guard = guard; - } - /** - * @return the riskLevel - */ - public String getRiskLevel() { - return riskLevel; - } - /** - * @param riskLevel the riskLevel to set - */ - public void setRiskLevel(String riskLevel) { - this.riskLevel = riskLevel; - } - /** - * @return the ttlDate - */ - public String getTtlDate() { - return ttlDate; - } - /** - * @param ttlDate the ttlDate to set - */ - public void setTtlDate(String ttlDate) { - this.ttlDate = ttlDate; - } - /** - * @return the riskType - */ - public String getRiskType() { - return riskType; - } - /** - * @param riskType the riskType to set - */ - public void setRiskType(String riskType) { - this.riskType = riskType; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepPushPolicyRequest.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepPushPolicyRequest.java deleted file mode 100644 index 0c3c8efd9..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PepPushPolicyRequest.java +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.model_pojo; - -import java.io.Serializable; - -public class PepPushPolicyRequest implements Serializable { - - private static final long serialVersionUID = 2638006651985508836L; - - private String policyScope = null; - private String policyName = null; - private String policyType = null; - private String pdpGroup = null; - - public String getPolicyScope() { - return policyScope; - } - - public String getPolicyName() { - return policyName; - } - - public String getPolicyType() { - return policyType; - } - - public String getPdpGroup() { - return pdpGroup; - } - - public void setPolicyScope(String policyScope) { - this.policyScope = policyScope; - } - - public void setPolicyType(String policyType) { - this.policyType = policyType; - } - - public void setPdpGroup(String pdpGroup) { - this.pdpGroup = pdpGroup; - } - - public void setPolicyName(String policyName) { - this.policyName = policyName; - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PyPolicyConfig.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PyPolicyConfig.java deleted file mode 100644 index 22882764c..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/model_pojo/PyPolicyConfig.java +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.model_pojo; - -import io.swagger.annotations.ApiModel; - -import java.util.Map; - -import org.openecomp.policy.api.PolicyConfigStatus; -import org.openecomp.policy.api.PolicyType; - -@ApiModel -public class PyPolicyConfig{ - private String policyConfigMessage; - private PolicyConfigStatus policyConfigStatus; - private PolicyType type; - private String config; - private String policyName; - private String policyVersion; - private Map<String, String> matchingConditions; - private Map<String, String> responseAttributes; - private Map<String, String> property; - public String getConfig() { - return config; - } - public void setConfig(String config) { - this.config = config; - } - public PolicyType getType() { - return type; - } - public void setType(PolicyType type) { - this.type = type; - } - public PolicyConfigStatus getPolicyConfigStatus() { - return policyConfigStatus; - } - public void setPolicyConfigStatus(PolicyConfigStatus policyConfigStatus) { - this.policyConfigStatus = policyConfigStatus; - } - public String getPolicyConfigMessage() { - return policyConfigMessage; - } - public void setPolicyConfigMessage(String policyConfigMessage) { - this.policyConfigMessage = policyConfigMessage; - } - public Map<String, String> getProperty() { - return property; - } - public void setProperty(Map<String, String> property) { - this.property = property; - } - public String getPolicyName(){ - return policyName; - } - public void setPolicyName(String policyName){ - this.policyName = policyName; - } - public String getPolicyVersion(){ - return policyVersion; - } - public void setPolicyVersion(String policyVersion){ - this.policyVersion = policyVersion; - } - public Map<String, String> getMatchingConditions(){ - return matchingConditions; - } - public void setMatchingConditions(Map<String, String> matchingConditions){ - this.matchingConditions = matchingConditions; - } - public void setResponseAttributes(Map<String,String> responseAttributes){ - this.responseAttributes = responseAttributes; - } - public Map<String,String> getResponseAttributes(){ - return responseAttributes; - } -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/Notification.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/Notification.java deleted file mode 100644 index a1717c275..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/Notification.java +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.notifications; - -import java.util.Collection; - -import org.openecomp.policy.api.LoadedPolicy; -import org.openecomp.policy.api.RemovedPolicy; - -public class Notification{ - - private Collection<RemovedPolicy> removedPolicies = null; - private Collection<LoadedPolicy> loadedPolicies = null; - - public Collection<RemovedPolicy> getRemovedPolicies() { - return removedPolicies; - } - - public Collection<LoadedPolicy> getLoadedPolicies() { - return loadedPolicies; - } - - - public void setRemovedPolicies(Collection<RemovedPolicy> removedPolicies){ - this.removedPolicies = removedPolicies; - } - - public void setLoadedPolicies(Collection<LoadedPolicy> loadedPolicies){ - this.loadedPolicies = loadedPolicies; - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/NotificationController.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/NotificationController.java deleted file mode 100644 index 0f2ed9b45..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/NotificationController.java +++ /dev/null @@ -1,149 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.notifications; - -import java.util.HashSet; -import java.util.Iterator; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.openecomp.policy.api.LoadedPolicy; -import org.openecomp.policy.api.NotificationHandler; -import org.openecomp.policy.api.PDPNotification; -import org.openecomp.policy.api.RemovedPolicy; -import org.openecomp.policy.common.logging.eelf.MessageCodes; -import org.openecomp.policy.common.logging.eelf.PolicyLogger; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; - -public class NotificationController implements NotificationHandler{ - private static final Log logger = LogFactory.getLog(NotificationController.class); - private static Notification record = new Notification(); - //private static CountDownLatch latch; - - @Override - public void notificationReceived(PDPNotification notification) { - //latch = new CountDownLatch(1); - if(notification!=null){ - // Take this into our Record holder for polling requests. - NotificationServer.setUpdate(record(notification)); - // Send the Update as is for AUTO clients. - ObjectWriter ow = new ObjectMapper().writer(); - try{ - String json = ow.writeValueAsString(notification); - System.out.println("\n Notification: "+json); - logger.info(json); - NotificationServer.sendNotification(json); - //latch.await(); - } catch (JsonProcessingException e) { - logger.error(XACMLErrorConstants.ERROR_SCHEMA_INVALID + e.getMessage()); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SCHEMA_INVALID, e, ""); - } - - } - } - - public static String record(PDPNotification notification) { - // Initialization with updates. - if(record.getRemovedPolicies()== null){ - record.setRemovedPolicies(notification.getRemovedPolicies()); - } - if(record.getLoadedPolicies()== null){ - record.setLoadedPolicies(notification.getLoadedPolicies()); - } - // Check if there is anything new and update the record.. - if(record.getLoadedPolicies()!= null || record.getRemovedPolicies()!=null) { - HashSet<RemovedPolicy> removedPolicies = (HashSet<RemovedPolicy>) record.getRemovedPolicies(); - HashSet<LoadedPolicy> updatedPolicies = (HashSet<LoadedPolicy>) record.getLoadedPolicies(); - // Checking with New updated policies. - if(notification.getLoadedPolicies()!= null && !notification.getLoadedPolicies().isEmpty()) { - for( LoadedPolicy newUpdatedPolicy : notification.getLoadedPolicies()) { - // If it was removed earlier then we need to remove from our record - Iterator<RemovedPolicy> oldRemovedPolicy = removedPolicies.iterator(); - while(oldRemovedPolicy.hasNext()){ - RemovedPolicy policy = oldRemovedPolicy.next(); - if(newUpdatedPolicy.getPolicyName().equals(policy.getPolicyName())) { - if(newUpdatedPolicy.getVersionNo().equals(policy.getVersionNo())) { - oldRemovedPolicy.remove(); - } - } - } - // If it was previously updated need to Overwrite it to the record. - Iterator<LoadedPolicy> oldUpdatedPolicy = updatedPolicies.iterator(); - while(oldUpdatedPolicy.hasNext()){ - LoadedPolicy policy = oldUpdatedPolicy.next(); - if(newUpdatedPolicy.getPolicyName().equals(policy.getPolicyName())) { - if(newUpdatedPolicy.getVersionNo().equals(policy.getVersionNo())) { - oldUpdatedPolicy.remove(); - } - } - } - updatedPolicies.add(newUpdatedPolicy); - } - } - // Checking with New Removed policies. - if(notification.getRemovedPolicies()!= null && !notification.getRemovedPolicies().isEmpty()) { - for( RemovedPolicy newRemovedPolicy : notification.getRemovedPolicies()) { - // If it was removed earlier then we need to remove from our record - Iterator<RemovedPolicy> oldRemovedPolicy = removedPolicies.iterator(); - while(oldRemovedPolicy.hasNext()){ - RemovedPolicy policy = oldRemovedPolicy.next(); - if(newRemovedPolicy.getPolicyName().equals(policy.getPolicyName())) { - if(newRemovedPolicy.getVersionNo().equals(policy.getVersionNo())) { - oldRemovedPolicy.remove(); - } - } - } - // If it was previously updated need to Overwrite it to the record. - Iterator<LoadedPolicy> oldUpdatedPolicy = updatedPolicies.iterator(); - while(oldUpdatedPolicy.hasNext()){ - LoadedPolicy policy = oldUpdatedPolicy.next(); - if(newRemovedPolicy.getPolicyName().equals(policy.getPolicyName())) { - if(newRemovedPolicy.getVersionNo().equals(policy.getVersionNo())) { - oldUpdatedPolicy.remove(); - } - } - } - removedPolicies.add(newRemovedPolicy); - } - } - record.setRemovedPolicies(removedPolicies); - record.setLoadedPolicies(updatedPolicies); - } - // Send the Result to the caller. - ObjectWriter om = new ObjectMapper().writer(); - String json = null; - try { - json = om.writeValueAsString(record); - } catch (JsonProcessingException e) { - logger.error(XACMLErrorConstants.ERROR_SCHEMA_INVALID + e.getMessage()); - // TODO:EELF Cleanup - Remove logger - PolicyLogger.error(MessageCodes.ERROR_SCHEMA_INVALID, e, ""); - } - logger.info(json); - return json; - } - -} diff --git a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/NotificationServer.java b/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/NotificationServer.java deleted file mode 100644 index 44324b55c..000000000 --- a/PyPDPServer/src/main/java/org/openecomp/policy/pypdp/notifications/NotificationServer.java +++ /dev/null @@ -1,90 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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.pypdp.notifications; - -import java.io.IOException; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; - -import javax.websocket.OnClose; -import javax.websocket.OnError; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.openecomp.policy.common.logging.flexlogger.FlexLogger; -import org.openecomp.policy.common.logging.flexlogger.Logger; - -import org.openecomp.policy.xacml.api.XACMLErrorConstants; - - -@ServerEndpoint(value = "/org.openecomp.policy.pypdp.notifications") -public class NotificationServer { - private static final Logger logger = FlexLogger.getLogger(NotificationServer.class); - private static Queue<Session> queue = new ConcurrentLinkedQueue<Session>(); - private static String update = null; - - @OnOpen - public void openConnection(Session session) { - logger.info("Session Connected: " + session.getId()); - queue.add(session); - } - - @OnClose - public void closeConnection(Session session) { - queue.remove(session); - } - - @OnError - public void error(Session session, Throwable t) { - queue.remove(session); - logger.info(XACMLErrorConstants.ERROR_SYSTEM_ERROR+ "Session Error for : " + session.getId() + " Error: " + t.getMessage()); - - } - - @OnMessage - public void Message(String message, Session session) { - if(message.equalsIgnoreCase("Manual")) { - try { - session.getBasicRemote().sendText(update); - } catch (IOException e) { - logger.info(XACMLErrorConstants.ERROR_SYSTEM_ERROR+ "Error in sending the Event Notification: "+ e.getMessage()); - } - } - } - - public static void sendNotification(String notification){ - for(Session session: queue) { - try { - session.getBasicRemote().sendText(notification); - } catch (IOException e) { - logger.info(XACMLErrorConstants.ERROR_SYSTEM_ERROR+ "Error in sending the Event Notification: "+ e.getMessage()); - } - } - } - - public static void setUpdate(String update) { - NotificationServer.update = update; - } -}
\ No newline at end of file diff --git a/PyPDPServer/src/main/resources/log4j.properties b/PyPDPServer/src/main/resources/log4j.properties deleted file mode 100644 index 2d810f0ad..000000000 --- a/PyPDPServer/src/main/resources/log4j.properties +++ /dev/null @@ -1,56 +0,0 @@ -### -# ============LICENSE_START======================================================= -# ECOMP Policy Engine -# ================================================================================ -# 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========================================================= -### - -# -# Use this properties for Deployments. -# -# -# Set root logger level to DEBUG and its only appender to FILE. -#log4j.rootLogger=DEBUG, FILE, CONSOLE -log4j.rootLogger=INFO, FILE - -# FILE appender -log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender -log4j.appender.FILE.File=${catalina.base}/logs/pypdp.log -log4j.appender.FILE.ImmediateFlush=true -log4j.appender.FILE.Threshold=debug -log4j.appender.FILE.append=true -log4j.appender.FILE.DatePattern='.'yyyy-MM-dd -log4j.appender.FILE.layout=org.apache.log4j.PatternLayout -log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss}{GMT+0}+00:00|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{server}|%X{clientIpAddress}|%l||%m%n - -# for Developments and Debugging -#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout -#log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy_MM_dd_HH_mm_ss_SSS} [%t] %-5p %l- %m%n - -# -# audit (transaction) logging -- CURRENTLY NOT DONE IN PYPDP -# -#log4j.logger.auditLogger=INFO,AUDIT_LOG -#log4j.additivity.auditLogger=false - -#log4j.appender.AUDIT_LOG=org.apache.log4j.DailyRollingFileAppender -#log4j.appender.AUDIT_LOG.File=${catalina.base}/logs/audit.log -#log4j.appender.AUDIT_LOG.Append=true -#log4j.appender.AUDIT_LOG.DatePattern='.'yyyy-MM-dd -#log4j.appender.AUDIT_LOG.threshold=INFO -#log4j.appender.AUDIT_LOG.layout=org.apache.log4j.EnhancedPatternLayout -#log4j.appender.AUDIT_LOG.layout.ConversionPattern=%d{yyyy-MM-dd'T'HH:mm:ss}{GMT+0}+00:00|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{server}|%X{clientIpAddress}|%X{className}|%X{timer}|%m%n diff --git a/PyPDPServer/src/main/resources/logback.xml b/PyPDPServer/src/main/resources/logback.xml deleted file mode 100644 index f89074199..000000000 --- a/PyPDPServer/src/main/resources/logback.xml +++ /dev/null @@ -1,252 +0,0 @@ -<!-- - ============LICENSE_START======================================================= - ECOMP Policy Engine - ================================================================================ - 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========================================================= - --> - -<configuration scan="true" scanPeriod="3 seconds" debug="true"> - <!--<jmxConfigurator /> --> - <!-- directory path for all other type logs --> - <property name="logDir" value="logs" /> - - <!-- directory path for debugging type logs --> - <property name="debugDir" value="logs" /> - - <!-- specify the component name - <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" --> - <property name="componentName" value="Policy"></property> - <property name="subComponentName" value="PyPDPServer"></property> - - <!-- log file names --> - <property name="errorLogName" value="error" /> - <property name="metricsLogName" value="metrics" /> - <property name="auditLogName" value="audit" /> - <property name="debugLogName" value="debug" /> - - - <!-- modified time stamp format --> - - <!-- A U D I T - <property name="defaultAuditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> - <property name="defaultAuditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{ElapsedTime}|%X{server}|%X{clientIpAddress}|%c||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> - --> - <property name="defaultAuditPattern" value="%X{TransactionBeginTimestamp}|%X{TransactionEndTimestamp}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{TransactionElapsedTime}|%X{server}|%X{clientIpAddress}|%c||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> - - - - <!-- M E T R I C - <property name="defaultMetricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> - --> - <property name="defaultMetricPattern" value="%X{MetricBeginTimestamp}|%X{MetricEndTimestamp}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%p|%X{severity}|%X{serverIpAddress}|%X{MetricElapsedTime}|%X{server}|%X{clientIpAddress}|%c||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> - - - - <!-- E R R O R - <property name="defaultErrorPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%n" /> - --> - <property name="defaultErrorPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{requestId}|%t|%X{serviceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%n" /> - - - - <!-- D E B U G - <property name="debugLoggerPatternOld" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" /> - <property name="debugLoggerPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> --> - --> - <property name="debugLoggerPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%msg%n" /> - - - - <!-- D E F A U L T - <property name="defaultPatternOld" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}|%msg%n" /> - <property name="defaultPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}||%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n" /> - --> - <property name="defaultPattern" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}|%X{requestId}|%X{serviceInstanceId}|%t|%X{serverName}|%X{serviceName}|%X{instanceUuid}|%p|%X{severity}|%X{serverIpAddress}|%X{server}|%X{clientIpAddress}|%c||%msg%n" /> - - - - <!-- P A T H - <property name="logDirectory" value="${catalina.base}/${logDir}/${componentName}/${subComponentName}" /> - <property name="debugLogDirectory" value="${catalina.base}/${debugDir}/${componentName}/${subComponentName}" /> - --> - <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" /> - <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" /> - - - - - <!-- Example evaluator filter applied against console appender --> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${defaultPattern}</pattern> - </encoder> - </appender> - - <!-- ============================================================================ --> - <!-- EELF Appenders --> - <!-- ============================================================================ --> - - <!-- The EELFAppender is used to record events to the general application - log --> - - <!-- EELF Audit Appender. This appender is used to record audit engine - related logging events. The audit logger and appender are specializations - of the EELF application root logger and appender. This can be used to segregate - Policy engine events from other components, or it can be eliminated to record - these events as part of the application root log. --> - - <appender name="EELFAudit" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${auditLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>${defaultAuditPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFAudit" /> - </appender> - - - - -<appender name="EELFMetrics" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${metricsLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - - %msg%n"</pattern> --> - <pattern>${defaultMetricPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFMetrics"/> - </appender> - - - - - <appender name="EELFError" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${errorLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>ERROR</level> - </filter> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>${defaultErrorPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFError"/> - </appender> - - - - <appender name="EELFDebug" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${debugLogDirectory}/${debugLogName}.log</file> - <rollingPolicy - class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> - <fileNamePattern>${debugLogDirectory}/${debugLogName}.%i.log.zip - </fileNamePattern> - <minIndex>1</minIndex> - <maxIndex>9</maxIndex> - </rollingPolicy> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>INFO</level> - </filter> - <triggeringPolicy - class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> - <maxFileSize>5MB</maxFileSize> - </triggeringPolicy> - <encoder> - <pattern>${debugLoggerPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFDebug" /> - <includeCallerData>true</includeCallerData> - </appender> - - - <!-- ============================================================================ --> - <!-- EELF loggers --> - <!-- ============================================================================ --> - - <logger name="com.att.eelf.audit" level="info" additivity="false"> - <appender-ref ref="asyncEELFAudit" /> - </logger> - - <logger name="com.att.eelf.metrics" level="info" additivity="false"> - <appender-ref ref="asyncEELFMetrics" /> - </logger> - - <logger name="com.att.eelf.error" level="error" additivity="false"> - <appender-ref ref="asyncEELFError" /> - </logger> - - <logger name="com.att.eelf.debug" level="info" additivity="false"> - <appender-ref ref="asyncEELFDebug" /> - </logger> - - - - <root level="INFO"> - <appender-ref ref="asyncEELFDebug" /> - <appender-ref ref="asyncEELFError" /> - </root> - -</configuration>
\ No newline at end of file diff --git a/PyPDPServer/src/test/java/testpypdp/AuthorizationTest.java b/PyPDPServer/src/test/java/testpypdp/AuthorizationTest.java deleted file mode 100644 index 228e926a8..000000000 --- a/PyPDPServer/src/test/java/testpypdp/AuthorizationTest.java +++ /dev/null @@ -1,382 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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 testpypdp; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import java.io.IOException; - -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import org.openecomp.policy.pypdp.authorization.AuthenticationFilter; - -/* - * Authentication Filter Testing - */ -public class AuthorizationTest { - private static final String MASTERCLIENT= "cHl0aG9uOnRlc3Q="; - /*private static final String CONFIGCLIENT= "Y29uZmlnOmNvbmZpZw=="; - private static final String ACTIONCLIENT= "YWN0aW9uOmFjdGlvbg=="; - private static final String DECIDECLIENT= "ZGVjaWRlOmRlY2lkZQ=="; - private static final String CREATECLIENT= "Y3JlYXRlOmNyZWF0ZQ=="; - private static final String DELETECLIENT= "ZGVsZXRlOmRlbGV0ZQ==";*/ - - private AuthenticationFilter authenticationFilter = new AuthenticationFilter(); - - @Before - public void setUp() throws Exception{ - authenticationFilter.init(null); - } - - @Test - public void testDoFilterError() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getRequestURI()).thenReturn("error"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_BAD_REQUEST); - } - - @Test - public void testDoFilterNotification() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getRequestURI()).thenReturn("org.openecomp.policy.pypdp.notifications swagger api-docs configuration"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - /*@Test - public void testDoFilterWrongAuthenticaton() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("error"); - when(httpServletRequest.getRequestURI()).thenReturn("getConfig"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongClientAuthenticaton() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("getConfig"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn("Error"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - @Test - public void testDoFilterWrongClientAuthenticatonCount() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("count"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn("Error"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - /*@Test - public void testDoFilterWrongGetConfigAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("getConfig"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(ACTIONCLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongSendEventAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("sendEvent"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(CONFIGCLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongUpdatePolicyAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("updatePolicy"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(ACTIONCLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongCreatePolicyAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("createPolicy"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(ACTIONCLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongPushPolicyAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("pushPolicy"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(DELETECLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongDeletePolicyAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("deletePolicy"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(DECIDECLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - /*@Test - public void testDoFilterWrongDecidePolicyAuthorization() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("getDecision"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(CREATECLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_UNAUTHORIZED); - }*/ - - @Test - public void testDoFilterAuthorizedError() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("error"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(MASTERCLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - // verify if unauthorized - verify(httpServletResponse).setStatus(HttpServletResponse.SC_BAD_REQUEST); - } - - @Test - public void testDoFilterAuthorizedPDPs() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("pdps paps"); - when(httpServletRequest.getHeader("ClientAuth")).thenReturn(MASTERCLIENT); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - @Test - public void testDoFilterDecideAuthorized() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("getDecision"); - when(httpServletRequest.getHeader(AuthenticationFilter.ENVIRONMENT_HEADER)).thenReturn("DEVL"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - @Test - public void testDoFilterDeleteAuthorized() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("deletePolicy"); - when(httpServletRequest.getHeader(AuthenticationFilter.ENVIRONMENT_HEADER)).thenReturn("DEVL"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - @Test - public void testDoFilterEventAuthorized() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("sendEvent"); - when(httpServletRequest.getHeader(AuthenticationFilter.ENVIRONMENT_HEADER)).thenReturn("DEVL"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - @Test - public void testDoFilterCreateAuthorized() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("createPolicy pushPolicy updatePolicy"); - when(httpServletRequest.getHeader(AuthenticationFilter.ENVIRONMENT_HEADER)).thenReturn("DEVL"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - @Test - public void testDoFilterConfigAuthorized() throws IOException, ServletException { - // create the objects to be mocked - HttpServletRequest httpServletRequest = mock(HttpServletRequest.class); - HttpServletResponse httpServletResponse = mock(HttpServletResponse.class); - FilterChain filterChain = mock(FilterChain.class); - // - when(httpServletRequest.getHeader(AuthenticationFilter.AUTHENTICATION_HEADER)).thenReturn("Basic dGVzdHJlc3Q6c2VjVXJl"); - when(httpServletRequest.getRequestURI()).thenReturn("getConfig"); - when(httpServletRequest.getHeader(AuthenticationFilter.ENVIRONMENT_HEADER)).thenReturn("DEVL"); - - authenticationFilter.doFilter(httpServletRequest, httpServletResponse, - filterChain); - - verify(filterChain).doFilter(httpServletRequest,httpServletResponse); - } - - @After - public void tearDown(){ - authenticationFilter.destroy(); - } -} diff --git a/PyPDPServer/src/test/java/testpypdp/ConfigRequestTest.java b/PyPDPServer/src/test/java/testpypdp/ConfigRequestTest.java deleted file mode 100644 index 30e94fed9..000000000 --- a/PyPDPServer/src/test/java/testpypdp/ConfigRequestTest.java +++ /dev/null @@ -1,82 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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 testpypdp; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; - -import java.io.StringReader; -import java.util.HashMap; -import java.util.Properties; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.openecomp.policy.pypdp.model_pojo.PyPolicyConfig; - -import org.junit.Before; -import org.junit.Test; -import org.openecomp.policy.api.PolicyConfigStatus; -import org.openecomp.policy.api.PolicyType; -import org.openecomp.policy.std.StdPolicyConfig; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -import org.openecomp.policy.pypdp.ConfigRequest; - -public class ConfigRequestTest { - - private StdPolicyConfig config; - private ConfigRequest request; - - @Before - public void setUp() { - request = new ConfigRequest(null); - config = new StdPolicyConfig(); - config.setPolicyConfigStatus(PolicyConfigStatus.CONFIG_RETRIEVED); - } - - @Test - public void checkResponsePropertiesTest() { - config.setPolicyType(PolicyType.PROPERTIES); - Properties prop = new Properties(); - prop.put("Key", "value"); - config.setProperties(prop); - PyPolicyConfig pConfig = request.checkResponse(config); - HashMap<String, String> result = new HashMap<String, String>(); - result.put("Key", "value"); - assertEquals(pConfig.getProperty(), result); - } - - @Test - public void checkResponseDocumentTest() throws Exception { - config.setPolicyType(PolicyType.XML); - String xmlString = "<test></test>"; - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder; - builder = factory.newDocumentBuilder(); - Document document = builder.parse(new InputSource(new StringReader( - xmlString))); - config.setDocument(document); - PyPolicyConfig pConfig = request.checkResponse(config); - assertNotNull(pConfig.getConfig()); - } -} diff --git a/PyPDPServer/src/test/java/testpypdp/NotificationControllerTest.java b/PyPDPServer/src/test/java/testpypdp/NotificationControllerTest.java deleted file mode 100644 index c2d9089e3..000000000 --- a/PyPDPServer/src/test/java/testpypdp/NotificationControllerTest.java +++ /dev/null @@ -1,129 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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 testpypdp; - -import static org.junit.Assert.assertEquals; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.openecomp.policy.pypdp.notifications.NotificationController; - -import org.junit.Before; -import org.junit.Test; -import org.openecomp.policy.api.LoadedPolicy; -import org.openecomp.policy.api.NotificationType; -import org.openecomp.policy.api.PDPNotification; -import org.openecomp.policy.api.RemovedPolicy; -import org.openecomp.policy.api.UpdateType; -import org.openecomp.policy.std.StdLoadedPolicy; -import org.openecomp.policy.std.StdPDPNotification; -import org.openecomp.policy.std.StdRemovedPolicy; - -import com.fasterxml.jackson.databind.ObjectMapper; - -public class NotificationControllerTest { - private NotificationController notificationController = new NotificationController(); - private StdPDPNotification notification; - - @Before - public void setUp() { - notification = new StdPDPNotification(); - notification.setNotificationType(NotificationType.BOTH); - Collection<StdRemovedPolicy> removedPolicies = new ArrayList<StdRemovedPolicy>(); - Collection<StdLoadedPolicy> loadedPolicies = new ArrayList<StdLoadedPolicy>(); - StdRemovedPolicy removedPolicy = new StdRemovedPolicy(); - StdLoadedPolicy updatedPolicy = new StdLoadedPolicy(); - removedPolicy.setPolicyName("Test"); - removedPolicy.setVersionNo("1"); - removedPolicies.add(removedPolicy); - updatedPolicy.setPolicyName("Testing"); - updatedPolicy.setVersionNo("1"); - updatedPolicy.setUpdateType(UpdateType.NEW); - Map<String, String> matches = new HashMap<String, String>(); - matches.put("key", "value"); - updatedPolicy.setMatches(matches); - loadedPolicies.add(updatedPolicy); - notification.setRemovedPolicies(removedPolicies); - notification.setLoadedPolicies(loadedPolicies); - NotificationController.record(notification); - } - - @Test - public void notificationReceivedUpdateTest() throws Exception{ - StdPDPNotification notification = new StdPDPNotification(); - notification.setNotificationType(NotificationType.UPDATE); - Collection<StdLoadedPolicy> loadedPolicies = new ArrayList<StdLoadedPolicy>(); - StdLoadedPolicy updatedPolicy = new StdLoadedPolicy(); - updatedPolicy.setPolicyName("Test"); - updatedPolicy.setVersionNo("1"); - updatedPolicy.setUpdateType(UpdateType.NEW); - Map<String, String> matches = new HashMap<String, String>(); - matches.put("key", "value"); - updatedPolicy.setMatches(matches); - loadedPolicies.add(updatedPolicy); - notification.setLoadedPolicies(loadedPolicies); - notificationController.notificationReceived(notification); - Boolean result = false; - PDPNotification newNotification= jsonStringToNotification(NotificationController.record(notification)); - for(LoadedPolicy loadedPolicy: newNotification.getLoadedPolicies()){ - if(loadedPolicy.getPolicyName().equals("Test") && loadedPolicy.getVersionNo().equals("1")){ - result = true; - } - } - assertEquals(result,true); - /*assertEquals( - NotificationController.record(notification), - "{\"removedPolicies\":[],\"updatedPolicies\":[{\"policyName\":\"Test\",\"versionNo\":\"1\",\"matches\":{\"key\":\"value\"},\"updateType\":\"NEW\"},{\"policyName\":\"Testing\",\"versionNo\":\"1\",\"matches\":{\"key\":\"value\"},\"updateType\":\"NEW\"}]}");*/ - } - - @Test - public void notificationReceivedRemovedTest() throws Exception{ - StdPDPNotification notification = new StdPDPNotification(); - notification.setNotificationType(NotificationType.REMOVE); - Collection<StdRemovedPolicy> removedPolicies = new ArrayList<StdRemovedPolicy>(); - StdRemovedPolicy removedPolicy = new StdRemovedPolicy(); - removedPolicy.setPolicyName("Testing"); - removedPolicy.setVersionNo("1"); - removedPolicies.add(removedPolicy); - notification.setRemovedPolicies(removedPolicies); - notificationController.notificationReceived(notification); - Boolean result = false; - PDPNotification newNotification= jsonStringToNotification(NotificationController.record(notification)); - for(RemovedPolicy removed: newNotification.getRemovedPolicies()){ - if(removed.getPolicyName().equals("Testing") && removed.getVersionNo().equals("1")){ - result = true; - } - } - assertEquals(result,true); - /*assertEquals( - NotificationController.record(notification), - "{\"removedPolicies\":[{\"policyName\":\"Test\",\"versionNo\":\"1\"},{\"policyName\":\"Testing\",\"versionNo\":\"1\"}],\"updatedPolicies\":[]}");*/ - } - - public StdPDPNotification jsonStringToNotification(String json) throws Exception{ - ObjectMapper mapper = new ObjectMapper(); - return notification = mapper.readValue(json, StdPDPNotification.class); - } - -} diff --git a/PyPDPServer/src/test/java/testpypdp/PolicyEngineServicesTest.java b/PyPDPServer/src/test/java/testpypdp/PolicyEngineServicesTest.java deleted file mode 100644 index a451c84f0..000000000 --- a/PyPDPServer/src/test/java/testpypdp/PolicyEngineServicesTest.java +++ /dev/null @@ -1,969 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP Policy Engine - * ================================================================================ - * 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 testpypdp; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import javax.ws.rs.core.MediaType; - -import org.openecomp.policy.pypdp.model_pojo.PepConfigFirewallPolicyRequest; -import org.openecomp.policy.pypdp.model_pojo.PepConfigPolicyNameRequest; -import org.openecomp.policy.pypdp.model_pojo.PepConfigPolicyRequest; -import org.openecomp.policy.pypdp.model_pojo.PepPushPolicyRequest; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.openecomp.policy.api.ConfigRequestParameters; -import org.openecomp.policy.api.DeletePolicyParameters; -import org.openecomp.policy.api.EventRequestParameters; -import org.openecomp.policy.api.PolicyParameters; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.web.WebAppConfiguration; -import org.springframework.test.web.servlet.MockMvc; -import org.springframework.web.context.WebApplicationContext; - -import com.fasterxml.jackson.databind.ObjectMapper; - -import org.openecomp.policy.pypdp.controller.Application; -import org.openecomp.policy.pypdp.controller.PolicyEngineServices; - -/** - * Test for Policy Engine REST Services - * - * - */ -@RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = { Application.class, - PolicyEngineServices.class }) -@WebAppConfiguration -public class PolicyEngineServicesTest { - private MockMvc mockMvc; - // Don't Change this. - private static final String CONFIG_ERROR_MESSAGE = "[{\"policyConfigMessage\": \"PE300 - Data Issue: PolicyFile Name is empty\"," - + "\"policyConfigStatus\": \"CONFIG_NOT_FOUND\"," - + "\"type\": null," - + "\"config\": null," - + "\"policyName\": null," - + "\"policyVersion\": null," - + "\"matchingConditions\": null," - + "\"responseAttributes\": null," + "\"property\": null" + "}]"; - private static final String VALID_JSON = "{\"serviceTypeId\": \"/v0/firewall/pan\",\"configName\": \"rule1607\",\"deploymentOption\":{\"deployNow\": false},\"securityZoneId\": \"/v0/firewall/pan\",\"serviceGroups\": [{\"name\": \"1607Group\",\"description\": null,\"members\": [{\"type\": \"REFERENCE\",\"name\": \"SList\"},{\"type\": \"REFERENCE\",\"name\": \"Syslog\"}]}, {\"name\": \"Syslog\",\"description\": \"NA\",\"type\": \"SERVICE\",\"transportProtocol\": \"udp\",\"appProtocol\": null,\"ports\": \"514\"}, {\"name\": \"SList\",\"description\": \"Service List\",\"type\": \"SERVICE\",\"transportProtocol\": \"tcp\",\"appProtocol\": null,\"ports\": \"8080\"}],\"addressGroups\": [{\"name\": \"1607Group\",\"description\": null,\"members\": [{\"type\": \"REFERENCE\",\"name\": \"10.11.12.13/14\"},{\"type\": \"REFERENCE\",\"name\": \"10.11.12.13/14\"}]},{\"name\": \"PL_CCE3\",\"description\": \"CCE Routers\",\"members\":[{\"type\": \"REFERENCE\",\"name\": \"10.11.12.13/14\"}]}],\"firewallRuleList\": [{\"position\": \"1\",\"ruleName\": \"1607Rule\",\"fromZones\": [\"Trusted\"],\"toZones\": [\"Untrusted\"],\"negateSource\": false,\"negateDestination\": false,\"sourceList\": [{\"type\": \"REFERENCE\",\"name\": \"PL_CCE3\"}, {\"type\": \"REFERENCE\",\"name\": \"1607Group\"}],\"destinationList\": [{\"type\": \"REFERENCE\",\"name\": \"1607Group\"}],\"sourceServices\": [],\"destServices\": [{\"type\": \"REFERENCE\",\"name\": \"1607Group\"}],\"action\": \"accept\",\"description\": \"Rule for 1607 templates\",\"enabled\": true,\"log\": true}]}"; - private static final String INVALID_JSON = "{\"test\": \"value}"; - - @Autowired - private PolicyEngineServices policyEngineServicesMock; - - @Autowired - private WebApplicationContext webApplicationContext; - - @Before - public void setup() throws Exception { - this.mockMvc = webAppContextSetup(webApplicationContext).build(); - - } - - // Tests for getConfig API - @Test - public void getConfigUsingNoHeader() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setPolicyName(".*"); - mockMvc.perform( - post("/getConfig").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().is(400)); - } - - @Test - public void getConfigUsingErrorHeader() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setPolicyName(".*"); - mockMvc.perform( - post("/getConfig").header("X-ECOMP-RequestID", "Error123") - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isOk()); - } - - @Test - public void getConfigEmptyEcompName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setEcompName(""); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void getConfigEmptyPolicyName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setPolicyName(""); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void getConfigUsingErrorPolicyName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setPolicyName("test"); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void getConfigUsingErrorEcompName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setEcompName("test"); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void getConfigUsingALLPolicyName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setPolicyName(".*"); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isOk()); - } - - @Test - public void getConfigUsingNullPolicyName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void getConfigUsingNullEcompName() throws Exception { - ConfigRequestParameters pep = new ConfigRequestParameters(); - pep.setEcompName(null); - mockMvc.perform( - post("/getConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for GetConfigByPolicyName API - @Test - public void getConfigByPolicyNameUsingErrorHeader() throws Exception { - PepConfigPolicyNameRequest pep = new PepConfigPolicyNameRequest(); - pep.setPolicyName(null); - mockMvc.perform( - post("/getConfigByPolicyName") - .header("X-ECOMP-RequestID", "ERROR123") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().is(400)); - } - - @Test - public void getConfigByPolicyNameUsingNoHeader() throws Exception { - PepConfigPolicyNameRequest pep = new PepConfigPolicyNameRequest(); - pep.setPolicyName(null); - mockMvc.perform( - post("/getConfigByPolicyName").content( - this.ObjectToJsonString(pep)).contentType( - MediaType.APPLICATION_JSON)).andExpect(status().is(400)); - } - - @Test - public void getConfigByPolicyNameUsingEmptyPolicyName() throws Exception { - PepConfigPolicyNameRequest pep = new PepConfigPolicyNameRequest(); - pep.setPolicyName(""); - mockMvc.perform( - post("/getConfigByPolicyName") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().json(CONFIG_ERROR_MESSAGE)); - } - - @Test - public void getConfigByPolicyNameUsingNullPolicyName() throws Exception { - PepConfigPolicyNameRequest pep = new PepConfigPolicyNameRequest(); - pep.setPolicyName(null); - mockMvc.perform( - post("/getConfigByPolicyName") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(content().json(CONFIG_ERROR_MESSAGE)); - } - - @Test - public void getConfigByPolicyNameUsingALLPolicyName() throws Exception { - PepConfigPolicyNameRequest pep = new PepConfigPolicyNameRequest(); - pep.setPolicyName(".*"); - mockMvc.perform( - post("/getConfigByPolicyName") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isOk()); - } - - // Tests for SendEvent API - @Test - public void sendEventUsingNoHeader() throws Exception { - EventRequestParameters pep = new EventRequestParameters(); - pep.setEventAttributes(null); - mockMvc.perform( - post("/sendEvent").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void sendEventUsingErrorHeader() throws Exception { - EventRequestParameters pep = new EventRequestParameters(); - pep.setEventAttributes(null); - mockMvc.perform( - post("/sendEvent").header("X-ECOMP-RequestID", "ERROR123") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void sendEventUsingNullEventAttributes() throws Exception { - EventRequestParameters pep = new EventRequestParameters(); - pep.setEventAttributes(null); - mockMvc.perform( - post("/sendEvent") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void sendEventUsingEmptyEventAttributes() throws Exception { - EventRequestParameters pep = new EventRequestParameters(); - Map<String, String> emptyMap = new HashMap<String, String>(); - pep.setEventAttributes(emptyMap); - mockMvc.perform( - post("/sendEvent") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void sendEventUsingErrorEventAttributes() throws Exception { - EventRequestParameters pep = new EventRequestParameters(); - Map<String, String> eventMap = new HashMap<String, String>(); - eventMap.put("key", "value"); - pep.setEventAttributes(eventMap); - mockMvc.perform( - post("/sendEvent") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for Push Policy API - @Test - public void pushPolicyUsingNoHeader() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - mockMvc.perform( - put("/pushPolicy").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void pushPolicyUsingErrorHeader() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - mockMvc.perform( - put("/pushPolicy").header("X-ECOMP-RequestID", "Error123") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void pushPolicyUsingNullRequest() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - mockMvc.perform( - put("/pushPolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void pushPolicyUsingNoScope() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - pep.setPolicyName("Tarun"); - mockMvc.perform( - put("/pushPolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void pushPolicyUsingScopeinName() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - pep.setPolicyName("Test.PolicyName"); - mockMvc.perform( - put("/pushPolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void pushPolicyUsingPolicyType() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - pep.setPolicyName("Test.PolicyName"); - pep.setPolicyType("CONFIG BASE"); - mockMvc.perform( - put("/pushPolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void pushPolicyUsingErrorRequest() throws Exception { - PepPushPolicyRequest pep = new PepPushPolicyRequest(); - pep.setPolicyName("Test.PolicyName"); - pep.setPolicyType("CONFIG BASE"); - pep.setPdpGroup("default"); - mockMvc.perform( - put("/pushPolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for Delete Policy API - @Test - public void deletePolicyUsingNoHeader() throws Exception { - DeletePolicyParameters pep = new DeletePolicyParameters(); - mockMvc.perform( - delete("/deletePolicy").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void deletePolicyUsingErrorHeader() throws Exception { - DeletePolicyParameters pep = new DeletePolicyParameters(); - mockMvc.perform( - delete("/deletePolicy").header("X-ECOMP-RequestID", "ERROR123") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void deletePolicyUsingErrorPolicyName() throws Exception { - DeletePolicyParameters pep = new DeletePolicyParameters(); - pep.setPolicyName("test"); - mockMvc.perform( - delete("/deletePolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void deletePolicyUsingErrorPolicyComponent() throws Exception { - DeletePolicyParameters pep = new DeletePolicyParameters(); - pep.setPolicyName("test"); - pep.setPolicyComponent("test"); - mockMvc.perform( - delete("/deletePolicy") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for CreatePolicy API - @Test - public void createPolicyUsingNoHeader() throws Exception { - PolicyParameters pep = new PolicyParameters(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/createPolicy").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createPolicyUsingErrorHeader() throws Exception { - PolicyParameters pep = new PolicyParameters(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/createPolicy").content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", "Error123") - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createPolicyUsingNullParameters() throws Exception { - PolicyParameters pep = new PolicyParameters(); - mockMvc.perform( - put("/createPolicy") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createPolicyUsingEmptyPolicyName() throws Exception { - PolicyParameters pep = new PolicyParameters(); - pep.setPolicyName(""); - mockMvc.perform( - put("/createPolicy") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for UpdatePolicy API - @Test - public void updatePolicyUsingNoHeader() throws Exception { - PolicyParameters pep = new PolicyParameters(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/updatePolicy").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updatePolicyUsingErrorHeader() throws Exception { - PolicyParameters pep = new PolicyParameters(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/updatePolicy").content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", "Error123") - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updatePolicyUsingNullParameters() throws Exception { - PolicyParameters pep = new PolicyParameters(); - mockMvc.perform( - put("/updatePolicy") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updatePolicyUsingEmptyPolicyName() throws Exception { - PolicyParameters pep = new PolicyParameters(); - pep.setPolicyName(""); - mockMvc.perform( - put("/updatePolicy") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for createConfig API - @Test - public void createConfigUsingNoHeader() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/createConfig").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createConfigUsingErrorHeader() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/createConfig").content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", "Error123") - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createConfigUsingNullParameters() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - mockMvc.perform( - put("/createConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createConfigUsingEmptyPolicyName() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName(""); - mockMvc.perform( - put("/createConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createConfigUsingEmptyConfigName() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - pep.setEcompName("ecomp"); - mockMvc.perform( - put("/createConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createConfigUsingEmptyPolicyScope() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - pep.setEcompName("ecomp"); - pep.setConfigName("config"); - mockMvc.perform( - put("/createConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createConfigUsingErrorPolicyScope() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - pep.setEcompName("ecomp"); - pep.setConfigName("config"); - pep.setPolicyScope("test"); - mockMvc.perform( - put("/createConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Test API for updateConfig API - @Test - public void updateConfigUsingNoHeader() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/updateConfig").content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateConfigUsingErrorHeader() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/updateConfig").content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", "Error123") - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateConfigUsingNullParameters() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - mockMvc.perform( - put("/updateConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateConfigUsingEmptyPolicyName() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName(""); - mockMvc.perform( - put("/updateConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateConfigUsingEmptyConfigName() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - pep.setEcompName("ecomp"); - mockMvc.perform( - put("/updateConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateConfigUsingEmptyPolicyScope() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - pep.setEcompName("ecomp"); - pep.setConfigName("config"); - mockMvc.perform( - put("/updateConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateConfigUsingErrorPolicyScope() throws Exception { - PepConfigPolicyRequest pep = new PepConfigPolicyRequest(); - pep.setPolicyName("test"); - pep.setEcompName("ecomp"); - pep.setConfigName("config"); - pep.setPolicyScope("test"); - mockMvc.perform( - put("/updateConfig") - .content(this.ObjectToJsonString(pep)) - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - // Tests for createFirewallConfig API - @Test - public void createFirewallConfigUsingNoHeader() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/createFirewallConfig").content( - this.ObjectToJsonString(pep)).contentType( - MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createFirewallConfigUsingErrorHeader() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/createFirewallConfig") - .header("X-ECOMP-RequestID", "Error123") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createFirewallConfigUsingNullParameters() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - mockMvc.perform( - put("/createFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createFirewallConfigUsingEmptyPolicyName() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName(""); - mockMvc.perform( - put("/createFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createFirewallConfigUsingEmptyPolicyScope() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - pep.setFirewallJson(VALID_JSON); - pep.setPolicyScope(""); - mockMvc.perform( - put("/createFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createFirewallConfigUsingInValidJSON() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - pep.setFirewallJson(INVALID_JSON); - pep.setPolicyScope("test"); - mockMvc.perform( - put("/createFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void createFirewallConfigUsingValidJSON() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - pep.setFirewallJson(VALID_JSON); - pep.setPolicyScope("test"); - mockMvc.perform( - put("/createFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isOk()); - } - - // Tests for updateFirewallConfig API - @Test - public void updateFirewallConfigUsingNoHeader() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/updateFirewallConfig").content( - this.ObjectToJsonString(pep)).contentType( - MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateFirewallConfigUsingErrorHeader() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - mockMvc.perform( - put("/updateFirewallConfig") - .header("X-ECOMP-RequestID", "Error123") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateFirewallConfigUsingNullParameters() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - mockMvc.perform( - put("/updateFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateFirewallConfigUsingEmptyPolicyName() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName(""); - mockMvc.perform( - put("/updateFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateFirewallConfigUsingEmptyPolicyScope() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - pep.setFirewallJson(VALID_JSON); - pep.setPolicyScope(""); - mockMvc.perform( - put("/updateFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateFirewallConfigUsingInValidJSON() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - pep.setFirewallJson(INVALID_JSON); - pep.setPolicyScope("test"); - mockMvc.perform( - put("/updateFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isBadRequest()); - } - - @Test - public void updateFirewallConfigUsingValidJSON() throws Exception { - PepConfigFirewallPolicyRequest pep = new PepConfigFirewallPolicyRequest(); - pep.setPolicyName("test"); - pep.setFirewallJson(VALID_JSON); - pep.setPolicyScope("test"); - mockMvc.perform( - put("/updateFirewallConfig") - .header("X-ECOMP-RequestID", - UUID.randomUUID().toString()) - .header("ClientAuth", "Basic bTAzNzQyOlBvbGljeVIwY2sk") - .content(this.ObjectToJsonString(pep)) - .contentType(MediaType.APPLICATION_JSON)).andExpect( - status().isOk()); - } - - //Health Check Tests - @Test - public void getCountTest() throws Exception { - mockMvc.perform(get("/count")) - .andExpect(status().isOk()); - } - - @Test - public void getPDPsTest() throws Exception { - mockMvc.perform(get("/pdps")) - .andExpect(status().isOk()); - } - - @Test - public void getPAPsTest() throws Exception { - mockMvc.perform(get("/paps")) - .andExpect(status().isOk()); - } - - // Helper Method to create JSONString from a given Object. - public String ObjectToJsonString(Object o) throws IOException { - ObjectMapper mapper = new ObjectMapper(); - return mapper.writeValueAsString(o); - } - -} diff --git a/PyPDPServer/version.properties b/PyPDPServer/version.properties deleted file mode 100644 index 512878731..000000000 --- a/PyPDPServer/version.properties +++ /dev/null @@ -1,13 +0,0 @@ -# Versioning variables -# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... ) -# because they are used in Jenkins, whose plug-in doesn't support - -major=1 -minor=0 -patch=0 - -base_version=${major}.${minor}.${patch} - -# Release must be completed with git revision # in Jenkins -release_version=${base_version} -snapshot_version=${base_version}-SNAPSHOT |