summaryrefslogtreecommitdiffstats
path: root/ONAP-PDP-REST
diff options
context:
space:
mode:
authorpa834y <pa834y@att.com>2019-01-18 14:34:39 -0500
committerpa834y <pa834y@att.com>2019-01-25 09:50:57 -0500
commite2111a6738792f7fa83bc07749fa94d3b2bc4dbb (patch)
tree075fb87b0b8956a8e05c8bfec1598f54e62e8e30 /ONAP-PDP-REST
parent1aeb1d9da9b06a38e6b9760085cb0fc51b8faf18 (diff)
New listPolicy API to check pushed policies in PDP
Issue-ID: POLICY-1410 Change-Id: I26f3f13e41a59de67e977914e4e129b79a979563 Signed-off-by: pa834y <pa834y@att.com>
Diffstat (limited to 'ONAP-PDP-REST')
-rw-r--r--ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/controller/PolicyEngineServices.java1102
-rw-r--r--ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/models/ConfigNameRequest.java39
-rw-r--r--ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/ListPolicyService.java100
-rw-r--r--ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/test/PolicyEngineServicesTest.java1634
4 files changed, 1503 insertions, 1372 deletions
diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/controller/PolicyEngineServices.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/controller/PolicyEngineServices.java
index 2348fd0da..4296c058c 100644
--- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/controller/PolicyEngineServices.java
+++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/controller/PolicyEngineServices.java
@@ -2,14 +2,14 @@
* ============LICENSE_START=======================================================
* ONAP-PDP-REST
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 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.
@@ -17,19 +17,14 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.policy.pdp.rest.api.controller;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
+package org.onap.policy.pdp.rest.api.controller;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.concurrent.atomic.AtomicLong;
-
import javax.servlet.http.HttpServletRequest;
-
+import org.onap.policy.api.ConfigNameRequest;
import org.onap.policy.api.ConfigRequestParameters;
import org.onap.policy.api.DecisionRequestParameters;
import org.onap.policy.api.DecisionResponse;
@@ -45,7 +40,6 @@ import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.pdp.rest.XACMLPdpServlet;
import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
-import org.onap.policy.pdp.rest.api.models.ConfigNameRequest;
import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
import org.onap.policy.pdp.rest.api.models.PolicyConfig;
import org.onap.policy.pdp.rest.api.services.CreateUpdateConfigPolicyService;
@@ -58,6 +52,7 @@ import org.onap.policy.pdp.rest.api.services.GetDecisionService;
import org.onap.policy.pdp.rest.api.services.GetDictionaryService;
import org.onap.policy.pdp.rest.api.services.GetMetricsService;
import org.onap.policy.pdp.rest.api.services.ListConfigService;
+import org.onap.policy.pdp.rest.api.services.ListPolicyService;
import org.onap.policy.pdp.rest.api.services.NotificationService;
import org.onap.policy.pdp.rest.api.services.NotificationService.NotificationServiceType;
import org.onap.policy.pdp.rest.api.services.PolicyEngineImportService;
@@ -68,6 +63,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -76,583 +72,559 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
import springfox.documentation.annotations.ApiIgnore;
@RestController
@Api(value = "Policy Engine Services")
@RequestMapping("/")
public class PolicyEngineServices {
- private static Logger logger = FlexLogger.getLogger(PolicyEngineServices.class.getName());
- private static final String NOTIFICATIONPERM = "notification";
-
- private final AtomicLong configCounter = new AtomicLong();
- private final AtomicLong configNameCounter = new AtomicLong();
- private final AtomicLong eventCounter = new AtomicLong();
- private final AtomicLong decisionCounter = new AtomicLong();
- private final AtomicLong pushCounter = new AtomicLong();
- private final AtomicLong deleteCounter = new AtomicLong();
- private final AtomicLong createPolicyCounter = new AtomicLong();
- private final AtomicLong updatePolicyCounter = new AtomicLong();
- private final AtomicLong createDictionaryCounter = new AtomicLong();
- private final AtomicLong updateDictionaryCounter = new AtomicLong();
- private final AtomicLong getDictionaryCounter = new AtomicLong();
- private final AtomicLong policyEngineImportCounter = new AtomicLong();
- private final AtomicLong deprecatedCounter = new AtomicLong();
- private final AtomicLong metricCounter = new AtomicLong();
- private final AtomicLong notificationCounter = new AtomicLong();
+ private static Logger logger = FlexLogger.getLogger(PolicyEngineServices.class.getName());
+ private static final String NOTIFICATIONPERM = "notification";
+
+ private final AtomicLong configCounter = new AtomicLong();
+ private final AtomicLong configNameCounter = new AtomicLong();
+ private final AtomicLong eventCounter = new AtomicLong();
+ private final AtomicLong decisionCounter = new AtomicLong();
+ private final AtomicLong pushCounter = new AtomicLong();
+ private final AtomicLong deleteCounter = new AtomicLong();
+ private final AtomicLong createPolicyCounter = new AtomicLong();
+ private final AtomicLong updatePolicyCounter = new AtomicLong();
+ private final AtomicLong createDictionaryCounter = new AtomicLong();
+ private final AtomicLong updateDictionaryCounter = new AtomicLong();
+ private final AtomicLong getDictionaryCounter = new AtomicLong();
+ private final AtomicLong policyEngineImportCounter = new AtomicLong();
+ private final AtomicLong deprecatedCounter = new AtomicLong();
+ private final AtomicLong metricCounter = new AtomicLong();
+ private final AtomicLong notificationCounter = new AtomicLong();
+
+ /**
+ * Gets the config.
+ *
+ * @param configRequestParameters the config request parameters
+ * @param clientEncoding the client encoding
+ * @param requestId the request ID
+ * @return the config
+ */
+ @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)
+ @ResponseBody
+ public ResponseEntity<Collection<PolicyConfig>> getConfig(
+ @RequestBody ConfigRequestParameters configRequestParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ Collection<PolicyConfig> policyConfig = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getConfig")) {
+ GetConfigService getConfigService = new GetConfigService(configRequestParameters, requestID);
+ policyConfig = getConfigService.getResult();
+ status = getConfigService.getResponseCode();
+ }
+ configCounter.incrementAndGet();
+ return new ResponseEntity<>(policyConfig, status);
+ }
+
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Gets the configuration from the PolicyDecisionPoint(PDP) using PolicyName")
+ @RequestMapping(value = "/getConfigByPolicyName", method = RequestMethod.POST)
+ @ResponseBody
+ @Deprecated
+ public ResponseEntity<Collection<PolicyConfig>> getConfigByPolicyName(
+ @RequestBody ConfigNameRequest configNameRequest,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ Collection<PolicyConfig> policyConfig = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getConfigByPolicyName")) {
+ ConfigRequestParameters configRequestParameters = new ConfigRequestParameters();
+ configRequestParameters.setPolicyName(configNameRequest.getPolicyName());
+ GetConfigService getConfigService = new GetConfigService(configRequestParameters, requestID);
+ policyConfig = getConfigService.getResult();
+ status = getConfigService.getResponseCode();
+ }
+ configNameCounter.incrementAndGet();
+ return new ResponseEntity<>(policyConfig, status);
+ }
+
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Gets the list of configuration policies from the PDP")
+ @RequestMapping(value = "/listConfig", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<Collection<String>> listConfig(@RequestBody ConfigRequestParameters configRequestParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ Collection<String> results = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "listConfig")) {
+ ListConfigService listConfigService = new ListConfigService(configRequestParameters, requestID);
+ results = listConfigService.getResult();
+ status = listConfigService.getResponseCode();
+ }
+ configCounter.incrementAndGet();
+ return new ResponseEntity<>(results, status);
+ }
+
+ /**
+ * List Policy.
+ *
+ * @param ConfigNameRequest the config request parameters
+ * @param clientEncoding the client encoding
+ * @param requestId the request ID
+ * @return the response entity
+ */
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Gets the list of policies from the PDP")
+ @PostMapping(value = "/listPolicy")
+ @ResponseBody
+ public ResponseEntity<Collection<String>> listPolicy(@RequestBody ConfigNameRequest configNameRequest,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestId) {
+ Collection<String> results = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ logger.info("Operation: listPolicy - " + configNameRequest);
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestId, "listPolicy")) {
+ ListPolicyService listPolicyService = new ListPolicyService(configNameRequest);
+ results = listPolicyService.getResult();
+ status = listPolicyService.getResponseCode();
+ }
+ configCounter.incrementAndGet();
+ return new ResponseEntity<>(results, status);
+ }
+
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Gets the policy metrics from the PolicyAccessPoint(PAP)")
+ @RequestMapping(value = "/getMetrics", method = RequestMethod.GET)
+ @ResponseBody
+ public ResponseEntity<MetricsResponse> getMetrics(
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ MetricsResponse response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getMetrics")) {
+ GetMetricsService getMetricsService = new GetMetricsService(requestID);
+ response = getMetricsService.getResult();
+ status = getMetricsService.getResponseCode();
+ }
+ metricCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- public ResponseEntity<Collection<PolicyConfig>> getConfig(
- @RequestBody ConfigRequestParameters configRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<PolicyConfig> policyConfig = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getConfig")) {
- GetConfigService getConfigService = new GetConfigService(
- configRequestParameters, requestID);
- policyConfig = getConfigService.getResult();
- status = getConfigService.getResponseCode();
- }
- configCounter.incrementAndGet();
- return new ResponseEntity<>(policyConfig, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Registers DMaaP Topic to recieve notification from Policy Engine")
+ @RequestMapping(value = "/getNotification", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<String> getNotification(@RequestBody String notificationTopic,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String policyResponse = "Error Unauthorized to use Notification Service.";
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
+ NotificationService notificationService =
+ new NotificationService(notificationTopic, requestID, NotificationServiceType.ADD);
+ policyResponse = notificationService.getResult();
+ status = notificationService.getResponseCode();
+ }
+ notificationCounter.incrementAndGet();
+ return new ResponseEntity<>(policyResponse, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the configuration from the PolicyDecisionPoint(PDP) using PolicyName")
- @RequestMapping(value = "/getConfigByPolicyName", method = RequestMethod.POST)
- @ResponseBody
- @Deprecated
- public ResponseEntity<Collection<PolicyConfig>> getConfigByPolicyName(
- @RequestBody ConfigNameRequest configNameRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<PolicyConfig> policyConfig = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,"getConfigByPolicyName")) {
- ConfigRequestParameters configRequestParameters = new ConfigRequestParameters();
- configRequestParameters.setPolicyName(configNameRequest
- .getPolicyName());
- GetConfigService getConfigService = new GetConfigService(
- configRequestParameters, requestID);
- policyConfig = getConfigService.getResult();
- status = getConfigService.getResponseCode();
- }
- configNameCounter.incrementAndGet();
- return new ResponseEntity<>(policyConfig, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "De-Registers DMaaP Topic to stop recieving notifications from Policy Engine")
+ @RequestMapping(value = "/stopNotification", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<String> stopNotification(@RequestBody String notificationTopic,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String policyResponse = "Error Unauthorized to use Notification Service.";
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
+ NotificationService notificationService =
+ new NotificationService(notificationTopic, requestID, NotificationServiceType.REMOVE);
+ policyResponse = notificationService.getResult();
+ status = notificationService.getResponseCode();
+ }
+ notificationCounter.incrementAndGet();
+ return new ResponseEntity<>(policyResponse, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the list of configuration policies from the PDP")
- @RequestMapping(value = "/listConfig", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<Collection<String>> listConfig(
- @RequestBody ConfigRequestParameters configRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<String> results = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth
- .checkPermissions(clientEncoding, requestID, "listConfig")) {
- ListConfigService listConfigService = new ListConfigService(
- configRequestParameters, requestID);
- results = listConfigService.getResult();
- status = listConfigService.getResponseCode();
- }
- configCounter.incrementAndGet();
- return new ResponseEntity<>(results, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name ="Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name ="Environment", required = true, paramType = "Header")
- })
- @ApiOperation(value= "Gets the policy metrics from the PolicyAccessPoint(PAP)")
- @RequestMapping(value="/getMetrics", method=RequestMethod.GET)
- @ResponseBody
- public ResponseEntity<MetricsResponse> getMetrics(
- @RequestHeader(value="ClientAuth", required=true)String clientEncoding,
- @RequestHeader(value="X-ECOMP-RequestID", required=false)String requestID) {
- MetricsResponse response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if(PDPApiAuth.checkPermissions(clientEncoding, requestID, "getMetrics")){
- GetMetricsService getMetricsService = new GetMetricsService(requestID);
- response = getMetricsService.getResult();
- status = getMetricsService.getResponseCode();
- }
- metricCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Registers DMaaP Topic to recieve notification from Policy Engine")
- @RequestMapping(value = "/getNotification", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> getNotification(
- @RequestBody String notificationTopic,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String policyResponse = "Error Unauthorized to use Notification Service.";
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
- NotificationService notificationService = new NotificationService(notificationTopic, requestID, NotificationServiceType.ADD);
- policyResponse = notificationService.getResult();
- status = notificationService.getResponseCode();
- }
- notificationCounter.incrementAndGet();
- return new ResponseEntity<>(policyResponse, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "De-Registers DMaaP Topic to stop recieving notifications from Policy Engine")
- @RequestMapping(value = "/stopNotification", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> stopNotification(
- @RequestBody String notificationTopic,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String policyResponse = "Error Unauthorized to use Notification Service.";
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
- NotificationService notificationService = new NotificationService(notificationTopic, requestID, NotificationServiceType.REMOVE);
- policyResponse = notificationService.getResult();
- status = notificationService.getResponseCode();
- }
- notificationCounter.incrementAndGet();
- return new ResponseEntity<>(policyResponse, status);
- }
-
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Sends Heartbeat to DMaaP Topic Registry to continue recieving notifications from Policy Engine")
- @RequestMapping(value = "/sendHeartbeat", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> sendHeartbeat(
- @RequestBody String notificationTopic,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String policyResponse = "Error Unauthorized to use Heartbeat Service.";
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
- NotificationService notificationService = new NotificationService(notificationTopic, requestID, NotificationServiceType.HB);
- policyResponse = notificationService.getResult();
- status = notificationService.getResponseCode();
- }
- return new ResponseEntity<>(policyResponse, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(
+ value = "Sends Heartbeat to DMaaP Topic Registry to continue recieving notifications from Policy Engine")
+ @RequestMapping(value = "/sendHeartbeat", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<String> sendHeartbeat(@RequestBody String notificationTopic,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String policyResponse = "Error Unauthorized to use Heartbeat Service.";
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, NOTIFICATIONPERM)) {
+ NotificationService notificationService =
+ new NotificationService(notificationTopic, requestID, NotificationServiceType.HB);
+ policyResponse = notificationService.getResult();
+ status = notificationService.getResponseCode();
+ }
+ return new ResponseEntity<>(policyResponse, status);
+ }
- @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)
- @ResponseBody
- public ResponseEntity<Collection<PolicyResponse>> sendEvent(
- @RequestBody EventRequestParameters eventRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- Collection<PolicyResponse> policyResponse = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "sendEvent")) {
- SendEventService sendEventService = new SendEventService(
- eventRequestParameters, requestID);
- policyResponse = sendEventService.getResult();
- status = sendEventService.getResponseCode();
- }
- eventCounter.incrementAndGet();
- return new ResponseEntity<>(policyResponse,
- status);
- }
+ @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)
+ @ResponseBody
+ public ResponseEntity<Collection<PolicyResponse>> sendEvent(
+ @RequestBody EventRequestParameters eventRequestParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ Collection<PolicyResponse> policyResponse = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "sendEvent")) {
+ SendEventService sendEventService = new SendEventService(eventRequestParameters, requestID);
+ policyResponse = sendEventService.getResult();
+ status = sendEventService.getResponseCode();
+ }
+ eventCounter.incrementAndGet();
+ return new ResponseEntity<>(policyResponse, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the Decision using specified decision parameters")
- @RequestMapping(value = "/getDecision", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<DecisionResponse> getDecision(
- @RequestBody DecisionRequestParameters decisionRequestParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- DecisionResponse decisionResponse = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "getDecision")) {
- GetDecisionService getDecisionService = new GetDecisionService(
- decisionRequestParameters, requestID);
- decisionResponse = getDecisionService.getResult();
- status = getDecisionService.getResponseCode();
- }
- decisionCounter.incrementAndGet();
- return new ResponseEntity<>(decisionResponse, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Gets the Decision using specified decision parameters")
+ @RequestMapping(value = "/getDecision", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<DecisionResponse> getDecision(
+ @RequestBody DecisionRequestParameters decisionRequestParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ DecisionResponse decisionResponse = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getDecision")) {
+ GetDecisionService getDecisionService = new GetDecisionService(decisionRequestParameters, requestID);
+ decisionResponse = getDecisionService.getResult();
+ status = getDecisionService.getResponseCode();
+ }
+ decisionCounter.incrementAndGet();
+ return new ResponseEntity<>(decisionResponse, status);
+ }
- @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)
- @ResponseBody
- public ResponseEntity<String> pushPolicy(
- @RequestBody PushPolicyParameters pushPolicyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth
- .checkPermissions(clientEncoding, requestID, "pushPolicy")) {
- PushPolicyService pushPolicyService = new PushPolicyService(
- pushPolicyParameters, requestID);
- response = pushPolicyService.getResult();
- status = pushPolicyService.getResponseCode();
- }
- pushCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ public ResponseEntity<String> pushPolicy(@RequestBody PushPolicyParameters pushPolicyParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "pushPolicy")) {
+ PushPolicyService pushPolicyService = new PushPolicyService(pushPolicyParameters, requestID);
+ response = pushPolicyService.getResult();
+ status = pushPolicyService.getResponseCode();
+ }
+ pushCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- public ResponseEntity<String> deletePolicy(
- @RequestBody DeletePolicyParameters deletePolicyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "deletePolicy")) {
- DeletePolicyService deletePolicyService = new DeletePolicyService(
- deletePolicyParameters, requestID);
- response = deletePolicyService.getResult();
- status = deletePolicyService.getResponseCode();
- }
- deleteCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ public ResponseEntity<String> deletePolicy(@RequestBody DeletePolicyParameters deletePolicyParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "deletePolicy")) {
+ DeletePolicyService deletePolicyService = new DeletePolicyService(deletePolicyParameters, requestID);
+ response = deletePolicyService.getResult();
+ status = deletePolicyService.getResponseCode();
+ }
+ deleteCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- public ResponseEntity<String> createPolicy(
- @RequestBody PolicyParameters policyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createPolicy")) {
- CreateUpdatePolicyService createPolicyService;
- try {
- createPolicyService = (CreateUpdatePolicyService) XACMLPdpServlet.getCreateUpdatePolicyConstructor().newInstance(
- policyParameters, requestID, false);
- response = createPolicyService.getResult();
- status = createPolicyService.getResponseCode();
- } catch (InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- logger.error(e.getMessage(), e);
- response = "Problem with CreateUpdate Policy Service. ";
- status = HttpStatus.INTERNAL_SERVER_ERROR;
- }
- }
- createPolicyCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ public ResponseEntity<String> createPolicy(@RequestBody PolicyParameters policyParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "createPolicy")) {
+ CreateUpdatePolicyService createPolicyService;
+ try {
+ createPolicyService = (CreateUpdatePolicyService) XACMLPdpServlet.getCreateUpdatePolicyConstructor()
+ .newInstance(policyParameters, requestID, false);
+ response = createPolicyService.getResult();
+ status = createPolicyService.getResponseCode();
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException e) {
+ logger.error(e.getMessage(), e);
+ response = "Problem with CreateUpdate Policy Service. ";
+ status = HttpStatus.INTERNAL_SERVER_ERROR;
+ }
+ }
+ createPolicyCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- public ResponseEntity<String> updatePolicy(
- @RequestBody PolicyParameters policyParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updatePolicy")) {
- CreateUpdatePolicyService updatePolicyService;
- try {
- updatePolicyService = (CreateUpdatePolicyService) XACMLPdpServlet.getCreateUpdatePolicyConstructor().newInstance(
- policyParameters, requestID, true);
- response = updatePolicyService.getResult();
- status = updatePolicyService.getResponseCode();
- } catch (InstantiationException | IllegalAccessException
- | IllegalArgumentException | InvocationTargetException e) {
- logger.error(e.getMessage(), e);
- response = "Problem with CreateUpdate Policy Service. ";
- status = HttpStatus.INTERNAL_SERVER_ERROR;
- }
- }
- updatePolicyCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ public ResponseEntity<String> updatePolicy(@RequestBody PolicyParameters policyParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "updatePolicy")) {
+ CreateUpdatePolicyService updatePolicyService;
+ try {
+ updatePolicyService = (CreateUpdatePolicyService) XACMLPdpServlet.getCreateUpdatePolicyConstructor()
+ .newInstance(policyParameters, requestID, true);
+ response = updatePolicyService.getResult();
+ status = updatePolicyService.getResponseCode();
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException e) {
+ logger.error(e.getMessage(), e);
+ response = "Problem with CreateUpdate Policy Service. ";
+ status = HttpStatus.INTERNAL_SERVER_ERROR;
+ }
+ }
+ updatePolicyCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Creates a Dictionary Item for a specific dictionary based on given Parameters.")
- @RequestMapping(value = "/createDictionaryItem", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> createDictionaryItem(
- @RequestBody DictionaryParameters dictionaryParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createDictionary")) {
- CreateUpdateDictionaryService createDictionaryService = new CreateUpdateDictionaryService(
- dictionaryParameters, requestID, false);
- response = createDictionaryService.getResult();
- status = createDictionaryService.getResponseCode();
- }
- createDictionaryCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Creates a Dictionary Item for a specific dictionary based on given Parameters.")
+ @RequestMapping(value = "/createDictionaryItem", method = RequestMethod.PUT)
+ @ResponseBody
+ public ResponseEntity<String> createDictionaryItem(@RequestBody DictionaryParameters dictionaryParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "createDictionary")) {
+ CreateUpdateDictionaryService createDictionaryService =
+ new CreateUpdateDictionaryService(dictionaryParameters, requestID, false);
+ response = createDictionaryService.getResult();
+ status = createDictionaryService.getResponseCode();
+ }
+ createDictionaryCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Updates a Dictionary Item for a specific dictionary based on given Parameters.")
- @RequestMapping(value = "/updateDictionaryItem", method = RequestMethod.PUT)
- @ResponseBody
- public ResponseEntity<String> updateDictionaryItem(
- @RequestBody DictionaryParameters dictionaryParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updateDictionary")) {
- CreateUpdateDictionaryService updateDictionaryService = new CreateUpdateDictionaryService(
- dictionaryParameters, requestID, true);
- response = updateDictionaryService.getResult();
- status = updateDictionaryService.getResponseCode();
- }
- updateDictionaryCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Updates a Dictionary Item for a specific dictionary based on given Parameters.")
+ @RequestMapping(value = "/updateDictionaryItem", method = RequestMethod.PUT)
+ @ResponseBody
+ public ResponseEntity<String> updateDictionaryItem(@RequestBody DictionaryParameters dictionaryParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "updateDictionary")) {
+ CreateUpdateDictionaryService updateDictionaryService =
+ new CreateUpdateDictionaryService(dictionaryParameters, requestID, true);
+ response = updateDictionaryService.getResult();
+ status = updateDictionaryService.getResponseCode();
+ }
+ updateDictionaryCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Gets the dictionary items from the PAP")
- @RequestMapping(value = "/getDictionaryItems", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<DictionaryResponse> getDictionaryItems(
- @RequestBody DictionaryParameters dictionaryParameters,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- DictionaryResponse dictionaryResponse = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "getDictionary")) {
- GetDictionaryService getDictionaryService = new GetDictionaryService(
- dictionaryParameters, requestID);
- dictionaryResponse = getDictionaryService.getResult();
- status = getDictionaryService.getResponseCode();
- }
- getDictionaryCounter.incrementAndGet();
- return new ResponseEntity<>(dictionaryResponse,
- status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(value = "Gets the dictionary items from the PAP")
+ @RequestMapping(value = "/getDictionaryItems", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<DictionaryResponse> getDictionaryItems(@RequestBody DictionaryParameters dictionaryParameters,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ DictionaryResponse dictionaryResponse = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "getDictionary")) {
+ GetDictionaryService getDictionaryService = new GetDictionaryService(dictionaryParameters, requestID);
+ dictionaryResponse = getDictionaryService.getResult();
+ status = getDictionaryService.getResponseCode();
+ }
+ getDictionaryCounter.incrementAndGet();
+ return new ResponseEntity<>(dictionaryResponse, status);
+ }
- @ApiImplicitParams({
- @ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
- @ApiImplicitParam(name = "Environment", required = true, paramType = "Header") })
- @ApiOperation(value = "Imports Policy based on the parameters which represent the service used to create a policy Service.")
- @RequestMapping(value = "/policyEngineImport", method = RequestMethod.POST)
- @ResponseBody
- public ResponseEntity<String> policyEngineImport(
- @RequestParam("importParametersJson") String importParametersJson,
- @RequestParam("file") MultipartFile file,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "policyEngineImport")) {
- PolicyEngineImportService policyEngineImportService = new PolicyEngineImportService(
- importParametersJson, file, requestID);
- response = policyEngineImportService.getResult();
- status = policyEngineImportService.getResponseCode();
- }
- policyEngineImportCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @ApiImplicitParams({@ApiImplicitParam(name = "Authorization", required = true, paramType = "Header"),
+ @ApiImplicitParam(name = "Environment", required = true, paramType = "Header")})
+ @ApiOperation(
+ value = "Imports Policy based on the parameters which represent the service used to create a policy Service.")
+ @RequestMapping(value = "/policyEngineImport", method = RequestMethod.POST)
+ @ResponseBody
+ public ResponseEntity<String> policyEngineImport(@RequestParam("importParametersJson") String importParametersJson,
+ @RequestParam("file") MultipartFile file,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "policyEngineImport")) {
+ PolicyEngineImportService policyEngineImportService =
+ new PolicyEngineImportService(importParametersJson, file, requestID);
+ response = policyEngineImportService.getResult();
+ status = policyEngineImportService.getResponseCode();
+ }
+ policyEngineImportCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> createConfig(
- @RequestBody ConfigPolicyAPIRequest configPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createPolicy")) {
- CreateUpdateConfigPolicyService createPolicyService = new CreateUpdateConfigPolicyService(
- configPolicyAPIRequest, requestID, false);
- response = createPolicyService.getResult();
- status = createPolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ @Deprecated
+ public ResponseEntity<String> createConfig(@RequestBody ConfigPolicyAPIRequest configPolicyAPIRequest,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "createPolicy")) {
+ CreateUpdateConfigPolicyService createPolicyService =
+ new CreateUpdateConfigPolicyService(configPolicyAPIRequest, requestID, false);
+ response = createPolicyService.getResult();
+ status = createPolicyService.getResponseCode();
+ }
+ deprecatedCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> updateConfig(
- @RequestBody ConfigPolicyAPIRequest configPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updatePolicy")) {
- CreateUpdateConfigPolicyService updatePolicyService = new CreateUpdateConfigPolicyService(
- configPolicyAPIRequest, requestID, true);
- response = updatePolicyService.getResult();
- status = updatePolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ @Deprecated
+ public ResponseEntity<String> updateConfig(@RequestBody ConfigPolicyAPIRequest configPolicyAPIRequest,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "updatePolicy")) {
+ CreateUpdateConfigPolicyService updatePolicyService =
+ new CreateUpdateConfigPolicyService(configPolicyAPIRequest, requestID, true);
+ response = updatePolicyService.getResult();
+ status = updatePolicyService.getResponseCode();
+ }
+ deprecatedCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> createFirewallConfig(
- @RequestBody ConfigFirewallPolicyAPIRequest configFirewallPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "createPolicy")) {
- CreateUpdateFirewallPolicyService createFirewallPolicyService = new CreateUpdateFirewallPolicyService(
- configFirewallPolicyAPIRequest, requestID, false);
- response = createFirewallPolicyService.getResult();
- status = createFirewallPolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ @Deprecated
+ public ResponseEntity<String> createFirewallConfig(
+ @RequestBody ConfigFirewallPolicyAPIRequest configFirewallPolicyAPIRequest,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "createPolicy")) {
+ CreateUpdateFirewallPolicyService createFirewallPolicyService =
+ new CreateUpdateFirewallPolicyService(configFirewallPolicyAPIRequest, requestID, false);
+ response = createFirewallPolicyService.getResult();
+ status = createFirewallPolicyService.getResponseCode();
+ }
+ deprecatedCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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)
- @ResponseBody
- @Deprecated
- public ResponseEntity<String> updateFirewallConfig(
- @RequestBody ConfigFirewallPolicyAPIRequest configFirewallPolicyAPIRequest,
- @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
- @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
- String response = null;
- HttpStatus status = HttpStatus.UNAUTHORIZED;
- // Check Permissions.
- if (PDPApiAuth.checkPermissions(clientEncoding, requestID,
- "updatePolicy")) {
- CreateUpdateFirewallPolicyService updateFirewallPolicyService = new CreateUpdateFirewallPolicyService(
- configFirewallPolicyAPIRequest, requestID, true);
- response = updateFirewallPolicyService.getResult();
- status = updateFirewallPolicyService.getResponseCode();
- }
- deprecatedCounter.incrementAndGet();
- return new ResponseEntity<>(response, status);
- }
+ @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)
+ @ResponseBody
+ @Deprecated
+ public ResponseEntity<String> updateFirewallConfig(
+ @RequestBody ConfigFirewallPolicyAPIRequest configFirewallPolicyAPIRequest,
+ @RequestHeader(value = "ClientAuth", required = true) String clientEncoding,
+ @RequestHeader(value = "X-ECOMP-RequestID", required = false) String requestID) {
+ String response = null;
+ HttpStatus status = HttpStatus.UNAUTHORIZED;
+ // Check Permissions.
+ if (PDPApiAuth.checkPermissions(clientEncoding, requestID, "updatePolicy")) {
+ CreateUpdateFirewallPolicyService updateFirewallPolicyService =
+ new CreateUpdateFirewallPolicyService(configFirewallPolicyAPIRequest, requestID, true);
+ response = updateFirewallPolicyService.getResult();
+ status = updateFirewallPolicyService.getResponseCode();
+ }
+ deprecatedCounter.incrementAndGet();
+ return new ResponseEntity<>(response, status);
+ }
- @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: "
- + configNameCounter + "\n" + "Total Event Calls : "
- + eventCounter + "\nTotal Decision Calls: " + decisionCounter
- + "\nTotal Push policy Calls: " + pushCounter
- + "\nTotal Delete Policy Calls: " + deleteCounter
- + "\nTotal Create Policy Calls: " + createPolicyCounter
- + "\nTotal Update Policy Calls: " + updatePolicyCounter
- + "\nTotal Create Dictionary Calls: " + createDictionaryCounter
- + "\nTotal Update Dictionary Calls: " + updateDictionaryCounter
- + "\nTotal Get Dictionary Calls: " + getDictionaryCounter
- + "\nTotal PolicyEngine Import Calls: "
- + policyEngineImportCounter
- + "\nTotal Deprecated Policy Calls: " + deprecatedCounter
- + "\nTotal Metrics Calls:" + metricCounter
- + "\nTotal Notification Calls:" + notificationCounter;
- }
+ @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: "
+ + configNameCounter + "\n" + "Total Event Calls : " + eventCounter + "\nTotal Decision Calls: "
+ + decisionCounter + "\nTotal Push policy Calls: " + pushCounter + "\nTotal Delete Policy Calls: "
+ + deleteCounter + "\nTotal Create Policy Calls: " + createPolicyCounter
+ + "\nTotal Update Policy Calls: " + updatePolicyCounter + "\nTotal Create Dictionary Calls: "
+ + createDictionaryCounter + "\nTotal Update Dictionary Calls: " + updateDictionaryCounter
+ + "\nTotal Get Dictionary Calls: " + getDictionaryCounter + "\nTotal PolicyEngine Import Calls: "
+ + policyEngineImportCounter + "\nTotal Deprecated Policy Calls: " + deprecatedCounter
+ + "\nTotal Metrics Calls:" + metricCounter + "\nTotal Notification Calls:" + notificationCounter;
+ }
- @ExceptionHandler({ HttpMessageNotReadableException.class })
- public ResponseEntity<String> messageNotReadableExceptionHandler(
- HttpServletRequest req, HttpMessageNotReadableException exception) {
- logger.error("Request not readable: {}", exception);
- StringBuilder message = new StringBuilder();
- message.append(exception.getMessage());
- if (exception.getCause() != null) {
- message.append(" Reason Caused: "
- + exception.getCause().getMessage());
- }
- return new ResponseEntity<>(message.toString(), HttpStatus.BAD_REQUEST);
- }
+ @ExceptionHandler({HttpMessageNotReadableException.class})
+ public ResponseEntity<String> messageNotReadableExceptionHandler(HttpServletRequest req,
+ HttpMessageNotReadableException exception) {
+ logger.error("Request not readable: {}", exception);
+ StringBuilder message = new StringBuilder();
+ message.append(exception.getMessage());
+ if (exception.getCause() != null) {
+ message.append(" Reason Caused: " + exception.getCause().getMessage());
+ }
+ return new ResponseEntity<>(message.toString(), HttpStatus.BAD_REQUEST);
+ }
}
diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/models/ConfigNameRequest.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/models/ConfigNameRequest.java
deleted file mode 100644
index 945445991..000000000
--- a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/models/ConfigNameRequest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP-PDP-REST
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.policy.pdp.rest.api.models;
-
-import io.swagger.annotations.ApiModel;
-
-import java.io.Serializable;
-
-@ApiModel
-public class ConfigNameRequest implements Serializable{
- private static final long serialVersionUID = 4487978240532425305L;
-
- private String policyName = null;
-
- public void setPolicyName(String policyName) {
- this.policyName = policyName;
- }
-
- public String getPolicyName() {
- return policyName;
- }
-}
diff --git a/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/ListPolicyService.java b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/ListPolicyService.java
new file mode 100644
index 000000000..cbb2d6f37
--- /dev/null
+++ b/ONAP-PDP-REST/src/main/java/org/onap/policy/pdp/rest/api/services/ListPolicyService.java
@@ -0,0 +1,100 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP-PDP-REST
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.pdp.rest.api.services;
+
+import com.att.research.xacml.api.pap.PAPException;
+import com.att.research.xacml.util.XACMLProperties;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.UUID;
+import java.util.stream.Collectors;
+import org.onap.policy.api.ConfigNameRequest;
+import org.onap.policy.common.logging.flexlogger.FlexLogger;
+import org.onap.policy.common.logging.flexlogger.Logger;
+import org.onap.policy.pdp.rest.XACMLPdpLoader;
+import org.springframework.http.HttpStatus;
+
+
+public class ListPolicyService {
+
+ private static Logger logger = FlexLogger.getLogger(ListPolicyService.class.getName());
+
+ private Collection<String> results = null;
+ private HttpStatus status = HttpStatus.BAD_REQUEST;
+ private ConfigNameRequest configRequestParameters = null;
+ private String requestId = null;
+
+
+ public ListPolicyService() {
+ // Default Constructor
+ }
+
+ /**
+ * Instantiates a new list policy service.
+ *
+ * @param configRequestParameters the config request parameters
+ */
+ public ListPolicyService(final ConfigNameRequest configRequestParameters) {
+ requestId = UUID.randomUUID().toString();
+ this.configRequestParameters = configRequestParameters;
+
+ try {
+ run();
+ } catch (Exception e) {
+ logger.warn("ListPolicy - ERROR for request - " + requestId + ", " + e);
+ status = HttpStatus.BAD_REQUEST;
+ results = null;
+ }
+
+ logger.info("Result for listPolicy - " + configRequestParameters + ", for request - " + requestId
+ + " - Response - " + results);
+ }
+
+ private void run() throws PAPException, IOException {
+ Properties currentProperties = new Properties();
+ try (InputStream is = Files.newInputStream(XACMLPdpLoader.getPDPPolicyCache())) {
+ currentProperties.load(is);
+ }
+
+ Set<String> listOfPolicies = XACMLProperties.getRootPolicyIDs(currentProperties);
+ results = filterList(listOfPolicies, configRequestParameters.getPolicyName());
+ status = HttpStatus.OK;
+
+ }
+
+ private List<String> filterList(Set<String> list, String regex) {
+ return list.stream().filter(s -> s.matches(regex)).collect(Collectors.toList());
+ }
+
+ public Collection<String> getResult() {
+ return results;
+ }
+
+ public HttpStatus getResponseCode() {
+ return status;
+ }
+
+}
diff --git a/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/test/PolicyEngineServicesTest.java b/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/test/PolicyEngineServicesTest.java
index 471f1a9a2..f6513d14b 100644
--- a/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/test/PolicyEngineServicesTest.java
+++ b/ONAP-PDP-REST/src/test/java/org/onap/policy/pdp/rest/api/test/PolicyEngineServicesTest.java
@@ -2,14 +2,14 @@
* ============LICENSE_START=======================================================
* ONAP-PDP-REST
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 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.
@@ -25,7 +25,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
-
+import com.att.research.xacml.util.XACMLProperties;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -33,11 +33,11 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.onap.policy.api.AttributeType;
+import org.onap.policy.api.ConfigNameRequest;
import org.onap.policy.api.ConfigRequestParameters;
import org.onap.policy.api.DecisionRequestParameters;
import org.onap.policy.api.DeletePolicyCondition;
@@ -52,7 +52,6 @@ import org.onap.policy.api.PolicyType;
import org.onap.policy.api.PushPolicyParameters;
import org.onap.policy.pdp.rest.XACMLPdpServlet;
import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
-import org.onap.policy.pdp.rest.api.models.ConfigNameRequest;
import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
import org.onap.policy.pdp.rest.api.services.CreateUpdatePolicyServiceImpl;
import org.onap.policy.pdp.rest.api.services.NotificationService;
@@ -67,772 +66,871 @@ import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.web.context.WebApplicationContext;
-import com.att.research.xacml.util.XACMLProperties;
-
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {PDPRestConfig.class})
@WebAppConfiguration
public class PolicyEngineServicesTest {
- private static final String CLIENTAUTHHEADER = "ClientAuth";
- private static final String UUIDHEADER = "X-ECOMP-RequestID";
- // This value is as per test resource code. Don't change this.
- private static final String CLIENTAUTHVALUE = "Basic cHl0aG9uOnRlc3Q=";
- private static final String ERRORCLIENTVALUE = "Basic dGVzdDp0ZXN0MTIz";
-
- private MockMvc mockMvc;
- private HttpHeaders headers;
-
- @Autowired
- private WebApplicationContext webApplicationContext;
-
- @Before()
- public void setup() throws IOException{
- headers = new HttpHeaders();
- headers.add(CLIENTAUTHHEADER, CLIENTAUTHVALUE);
- XACMLProperties.reloadProperties();
- System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/pass.xacml.pdp.properties");
- XACMLProperties.getProperties();
- this.mockMvc = webAppContextSetup(webApplicationContext).build();
- }
-
- @Test
- public void getConfigAPIFailureTest() throws Exception{
- ConfigRequestParameters pep = new ConfigRequestParameters();
- pep.setPolicyName(".*");
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().is(400));
- // Authorization tests.
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
- .andExpect(status().isUnauthorized());
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
- .andExpect(status().isUnauthorized());
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ERRORCLIENTVALUE))
- .andExpect(status().isUnauthorized());
- // Set wrong request.
- pep.setPolicyName(null);
- pep.setConfigName("test");
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, "123").contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isBadRequest());
- }
-
- @Test
- public void getConfigServiceTest() throws Exception{
- ConfigRequestParameters pep = new ConfigRequestParameters();
- pep.setPolicyName(".*");
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk());
- // Without policyName and using onapName and other fields.
- pep.setPolicyName(null);
- pep.setOnapName("test");
- pep.setConfigName("test");
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk());
- // with config attributes.
- Map<String, String> configAttributes = new HashMap<>();
- configAttributes.put("test", "test");
- pep.setConfigAttributes(configAttributes);
- pep.makeUnique(true);
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk());
- }
-
- @Test
- public void getConfigByPolicyNameTest() throws Exception{
- ConfigNameRequest pep = new ConfigNameRequest();
- pep.setPolicyName(".*");
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().is(400));
- // Authorization tests.
- mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
- .andExpect(status().isUnauthorized());
- mockMvc.perform(post("/getConfigByPolicyName").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk());
- }
-
- @Test
- public void listConfigTest() throws Exception{
- ConfigRequestParameters pep = new ConfigRequestParameters();
- pep.setPolicyName(".*");
- mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().is(400));
- // Authorization tests.
- mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
- .andExpect(status().isUnauthorized());
- mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers).header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
- .andExpect(status().isOk());
- }
-
- @Test
- public void getMetricsTest() throws Exception{
- //Failure Tests.
- mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
- mockMvc.perform(get("/getMetrics").header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
- mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void getNotificationAuthFailureTest() throws Exception{
- mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "").content("test")).andExpect(status().isUnauthorized());
- mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "Basic test123").content("test")).andExpect(status().isUnauthorized());
- mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, ERRORCLIENTVALUE).content(" ")).andExpect(status().isUnauthorized());
- }
-
- @Test
- public void getNotificationTopicFailureTest() throws Exception{
- mockMvc.perform(post("/getNotification")).andExpect(status().isBadRequest());
- mockMvc.perform(post("/getNotification").headers(headers).content("")).andExpect(status().isBadRequest());
- }
-
- @Test
- public void getNotificationTopicValidFailTest() throws Exception{
- // Check failures.
- mockMvc.perform(post("/getNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
- mockMvc.perform(post("/stopNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
- mockMvc.perform(post("/sendHeartbeat").headers(headers).content(" ")).andExpect(status().isBadRequest());
- }
-
- @Test
- public void getNotificationTopicValidPassTest() throws Exception{
- // Values can be polluted due to failure tests and need to be reloaded.
- XACMLProperties.reloadProperties();
- System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/notification.xacml.pdp.properties");
+ private static final String CLIENTAUTHHEADER = "ClientAuth";
+ private static final String UUIDHEADER = "X-ECOMP-RequestID";
+ // This value is as per test resource code. Don't change this.
+ private static final String CLIENTAUTHVALUE = "Basic cHl0aG9uOnRlc3Q=";
+ private static final String ERRORCLIENTVALUE = "Basic dGVzdDp0ZXN0MTIz";
+
+ private MockMvc mockMvc;
+ private HttpHeaders headers;
+
+ @Autowired
+ private WebApplicationContext webApplicationContext;
+
+ @Before()
+ public void setup() throws IOException {
+ headers = new HttpHeaders();
+ headers.add(CLIENTAUTHHEADER, CLIENTAUTHVALUE);
+ XACMLProperties.reloadProperties();
+ System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/pass.xacml.pdp.properties");
+ XACMLProperties.getProperties();
+ this.mockMvc = webAppContextSetup(webApplicationContext).build();
+ }
+
+ @Test
+ public void getConfigAPIFailureTest() throws Exception {
+ ConfigRequestParameters pep = new ConfigRequestParameters();
+ pep.setPolicyName(".*");
+ mockMvc.perform(
+ post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().is(400));
+ // Authorization tests.
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ERRORCLIENTVALUE))
+ .andExpect(status().isUnauthorized());
+ // Set wrong request.
+ pep.setPolicyName(null);
+ pep.setConfigName("test");
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .header(UUIDHEADER, "123").contentType(MediaType.APPLICATION_JSON)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void getConfigServiceTest() throws Exception {
+ ConfigRequestParameters pep = new ConfigRequestParameters();
+ pep.setPolicyName(".*");
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isOk());
+ // Without policyName and using onapName and other fields.
+ pep.setPolicyName(null);
+ pep.setOnapName("test");
+ pep.setConfigName("test");
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
+ // with config attributes.
+ Map<String, String> configAttributes = new HashMap<>();
+ configAttributes.put("test", "test");
+ pep.setConfigAttributes(configAttributes);
+ pep.makeUnique(true);
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .contentType(MediaType.APPLICATION_JSON)).andExpect(status().isOk());
+ }
+
+ @Test
+ public void getConfigByPolicyNameTest() throws Exception {
+ ConfigNameRequest pep = new ConfigNameRequest();
+ pep.setPolicyName(".*");
+ mockMvc.perform(
+ post("/getConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().is(400));
+ // Authorization tests.
+ mockMvc.perform(post("/getConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(post("/getConfigByPolicyName").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isOk());
+ }
+
+ @Test
+ public void listConfigTest() throws Exception {
+ ConfigRequestParameters pep = new ConfigRequestParameters();
+ pep.setPolicyName(".*");
+ mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON)).andExpect(status().is(400));
+ // Authorization tests.
+ mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, ""))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(post("/listConfig").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isOk());
+ }
+
+ @Test
+ public void listPolicyTest() throws Exception {
+ ConfigNameRequest pep = new ConfigNameRequest();
+ pep.setPolicyName(".*");
+ mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().isOk());
+ pep.setPolicyName("*");
+ mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
+ .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
+ .andExpect(status().is4xxClientError());
+ }
+
+ @Test
+ public void getMetricsTest() throws Exception {
+ // Failure Tests.
+ mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
+ mockMvc.perform(get("/getMetrics").header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123"))
+ .andExpect(status().isBadRequest());
+ mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void getNotificationAuthFailureTest() throws Exception {
+ mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "").content("test"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, "Basic test123").content("test"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(post("/getNotification").header(CLIENTAUTHHEADER, ERRORCLIENTVALUE).content(" "))
+ .andExpect(status().isUnauthorized());
+ }
+
+ @Test
+ public void getNotificationTopicFailureTest() throws Exception {
+ mockMvc.perform(post("/getNotification")).andExpect(status().isBadRequest());
+ mockMvc.perform(post("/getNotification").headers(headers).content("")).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void getNotificationTopicValidFailTest() throws Exception {
+ // Check failures.
+ mockMvc.perform(post("/getNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
+ mockMvc.perform(post("/stopNotification").headers(headers).content(" ")).andExpect(status().isBadRequest());
+ mockMvc.perform(post("/sendHeartbeat").headers(headers).content(" ")).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void getNotificationTopicValidPassTest() throws Exception {
+ // Values can be polluted due to failure tests and need to be reloaded.
+ XACMLProperties.reloadProperties();
+ System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME,
+ "src/test/resources/notification.xacml.pdp.properties");
XACMLProperties.getProperties();
NotificationService.reloadProps();
- // Add a Topic.
- mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test")).andExpect(status().isOk());
- // Try to add same topic should fail.
- mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, UUID.randomUUID()).content("test")).andExpect(status().isBadRequest());
- // do a heart beat.
- mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isOk());
- // remove the added Topic.
- mockMvc.perform(post("/stopNotification").headers(headers).content("test")).andExpect(status().isOk());
- // try to remove again should fail.
- mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isBadRequest());
- }
-
- @Test
- public void sendEventTest() throws Exception{
- EventRequestParameters pep = new EventRequestParameters();
- Map<String,String> eventAttributes = new HashMap<>();
- eventAttributes.put("TEST", "test");
- pep.setEventAttributes(eventAttributes);
- //Failure Tests.
- mockMvc.perform(post("/sendEvent")).andExpect(status().isBadRequest());
- mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isOk());
- pep.setEventAttributes(null);
- mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setEventAttributes(eventAttributes);
- mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isOk());
- pep.setEventAttributes(eventAttributes);
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isOk());
- }
-
- @Test
- public void getDecisionTest() throws Exception{
- DecisionRequestParameters pep = new DecisionRequestParameters();
- Map<String,String> eventAttributes = new HashMap<>();
- eventAttributes.put("TEST", "test");
- pep.setOnapName("te123");
- pep.setDecisionAttributes(eventAttributes);
- //Failure Tests.
- mockMvc.perform(post("/getDecision")).andExpect(status().isBadRequest());
- mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isOk());
- pep.setDecisionAttributes(null);
- pep.setOnapName(null);
- mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setOnapName("testing");
- mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setDecisionAttributes(eventAttributes);
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isOk());
- }
-
- @Test
- public void pushPolicyTest() throws Exception{
- PushPolicyParameters pep = new PushPolicyParameters();
- //Failure Tests.
- mockMvc.perform(put("/pushPolicy")).andExpect(status().isBadRequest());
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("scopeless");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyName("testing.test");
- pep.setPolicyType("wrong");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("BRMS_PARAM");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("BRMS_RAW");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("MicroService");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("ClosedLoop_PM");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("ClosedLoop_Fault");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("Base");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("Decision");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("Action");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("Firewall");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPdpGroup("default");
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void deletePolicyTest() throws Exception{
- DeletePolicyParameters pep = new DeletePolicyParameters();
- //Failure Tests.
- mockMvc.perform(delete("/deletePolicy")).andExpect(status().isBadRequest());
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("testing");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "test123")).andExpect(status().isBadRequest());
- pep.setPolicyName("testscope.name");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyName("testscope.name");
- pep.setPolicyType("wrong");
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("BRMS_PARAM");
- pep.setPolicyComponent("wrong");
- pep.setRequestID(null);
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyType("BRMS_RAW");
- pep.setPolicyComponent("PDP");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyType("MicroService");
- pep.setPolicyComponent("PAP");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyType("ClosedLoop_PM");
- pep.setPolicyComponent("PDP");
- pep.setDeleteCondition(DeletePolicyCondition.ALL);
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyType("ClosedLoop_Fault");
- pep.setDeleteCondition(DeletePolicyCondition.ONE);
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyType("Base");
- pep.setPolicyComponent("PAP");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyType("Decision");
- pep.setPolicyComponent("PDP");
- pep.setPolicyName("test.xml");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyType("Action");
- pep.setPolicyName("scope.Config_test.xml");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPdpGroup("default");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyComponent("PAP");
- pep.setPolicyType("Firewall");
- pep.setDeleteCondition(null);
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyComponent("PAP");
- pep.setDeleteCondition(DeletePolicyCondition.ONE);
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyComponent("fail");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyComponent("PDP");
- pep.setPolicyName("testscope.policyName");
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyComponent(null);
- mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- }
-
- @Test
- public void createUpdatePolicyTest() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- //Failure Tests.
- mockMvc.perform(put("/createPolicy")).andExpect(status().isBadRequest());
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- setCreateUpdateImpl();
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("failName");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "test 123")).andExpect(status().isBadRequest());
- pep.setPolicyName("test. name");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setPolicyName(" ");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("test. ");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("te st.name");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("testá");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void brmsPolicyCreationTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for BRMS Param Policy.
- pep.setPolicyConfigType(PolicyConfigType.BRMS_PARAM);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("test");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
- Map<String,String> matching = new HashMap<>();
- matching.put("key", "value");
- attributes.put(AttributeType.MATCHING, matching);
- pep.setAttributes(attributes);
- pep.setRiskLevel("5");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- // Checks for BRMS Raw Policy
- pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("test");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel(null);
- pep.setConfigBody("package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\nrule \"Nagpur Medicine Item\"\n\n when\n item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n typeofItem == ItemCity.Type.MEDICINES)\n then\n BigDecimal tax = new BigDecimal(0.0);\n item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("5");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void baseConfigTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for Base config Policy.
- pep.setPolicyConfigType(PolicyConfigType.Base);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("testbody");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBodyType(PolicyType.OTHER);
- pep.setRiskLevel("test");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("4");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setOnapName("ec nam-e");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setOnapName("onapName");
- pep.setConfigName("tes config");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigName("configName");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{'test':'test}");
- pep.setConfigBodyType(PolicyType.JSON);
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
- Map<String,String> matching = new HashMap<>();
- matching.put("key", "value");
- attributes.put(AttributeType.MATCHING, matching);
- pep.setAttributes(attributes);
- pep.setConfigBody("testBody");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void closedLoopPolicyTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for Closed loop Policy.
- pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_Fault);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("te stá");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("testBody");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"key\":\"value\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"onapname\":\"\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"onapname\":\"test\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("test");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("4");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void closedLoopPMTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for Closed loop Policy.
- pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_PM);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("te stá");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("testBody");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"key\":\"value\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"onapname\":\"\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"onapname\":\"test\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("test");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("4");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void firewallPolicyTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for Closed loop Policy.
- pep.setPolicyConfigType(PolicyConfigType.Firewall);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("te st");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"test\":\"test\"}");
- pep.setRiskLevel("test");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("4");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"configName\":\"test\"}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void microServicePolicyTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for Closed loop Policy.
- pep.setPolicyConfigType(PolicyConfigType.MicroService);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("te st");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{}");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"test\":\"test\"}");
- pep.setOnapName(" ");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setOnapName("testonap");
- pep.setRiskLevel("fail");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRiskLevel("4");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setConfigBody("{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\",\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void actionDecisionPolicyCreationTests() throws Exception{
- PolicyParameters pep = new PolicyParameters();
- pep.setPolicyName("test.name");
- pep.setPolicyDescription("good");
- pep.setTtlDate(new Date());
- pep.setRequestID(UUID.randomUUID());
- setCreateUpdateImpl();
- // Checks for action Policy.
- pep.setPolicyClass(PolicyClass.Action);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
- pep.setAttributes(attributes);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- attributes.put(AttributeType.MATCHING, new HashMap<>());
- pep.setAttributes(attributes);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- Map<String,String> matching = new HashMap<>();
- matching.put("key", "value");
- attributes.put(AttributeType.MATCHING, matching);
- pep.setAttributes(attributes);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setActionAttribute("A1");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setActionPerformer("PEX");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setActionPerformer("PEP");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- // Checks for Decision Policy.
- pep.setPolicyClass(PolicyClass.Decision);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setOnapName("xyz");
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- attributes.remove(AttributeType.MATCHING);
- attributes.put(AttributeType.SETTINGS, matching);
- pep.setAttributes(attributes);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- attributes.put(AttributeType.MATCHING, matching);
- pep.setAttributes(attributes);
- mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void createUpdateDictionaryTests() throws Exception{
- DictionaryParameters pep = new DictionaryParameters();
- //Failure Tests.
- mockMvc.perform(put("/createDictionaryItem")).andExpect(status().isBadRequest());
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setDictionaryType(DictionaryType.MicroService);
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setDictionary("test dict");
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setDictionaryJson("{\"test\":\"value\"}");
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
- pep.setDictionaryJson("test123");
- mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
- pep.setDictionary("MicroServiceDictionary");
- mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void getDictionaryTests() throws Exception{
- DictionaryParameters pep = new DictionaryParameters();
- //Failure Tests.
- mockMvc.perform(post("/getDictionaryItems")).andExpect(status().isBadRequest());
- mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setDictionaryType(DictionaryType.Common);
- mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, UUID.randomUUID().toString())).andExpect(status().isBadRequest());
- pep.setDictionary("OnapName");
- mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- pep.setRequestID(UUID.randomUUID());
- mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers)).andExpect(status().isBadRequest());
- }
-
- @Test
- public void policyEngineImportTests() throws Exception{
- //Failure Tests.
- mockMvc.perform(post("/policyEngineImport")).andExpect(status().isBadRequest());
- }
-
- @Test
- public void oldConfigAPITests() throws Exception{
- ConfigPolicyAPIRequest pep = new ConfigPolicyAPIRequest();
- //Failure Tests.
- mockMvc.perform(put("/createConfig")).andExpect(status().isBadRequest());
- mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setPolicyScope("test");
- mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setPolicyName("name");
- mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setConfigType("OTHER");
- mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setTtlDate(new Date().toString());
- mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- }
-
- @Test
- public void oldFirewallAPITests() throws Exception{
- ConfigFirewallPolicyAPIRequest pep = new ConfigFirewallPolicyAPIRequest();
- //Failure Tests.
- mockMvc.perform(put("/createFirewallConfig")).andExpect(status().isBadRequest());
- mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
- //Service Tests.
- mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setPolicyScope("test");
- mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setPolicyName("name");
- mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- pep.setTtlDate(new Date().toString());
- mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
- .headers(headers).header(UUIDHEADER, "tes123")).andExpect(status().isBadRequest());
- }
-
- private void setCreateUpdateImpl() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
- Method setter = XACMLPdpServlet.class.getDeclaredMethod("setCreateUpdatePolicyConstructor", String.class);
- setter.setAccessible(true);
- setter.invoke(new XACMLPdpServlet(), CreateUpdatePolicyServiceImpl.class.getName());
- }
-
- //Health Check Tests
- @Test
- public void getCountTest() throws Exception {
- mockMvc.perform(get("/count"))
- .andExpect(status().isOk());
- }
+ // Add a Topic.
+ mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test"))
+ .andExpect(status().isOk());
+ // Try to add same topic should fail.
+ mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, UUID.randomUUID()).content("test"))
+ .andExpect(status().isBadRequest());
+ // do a heart beat.
+ mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isOk());
+ // remove the added Topic.
+ mockMvc.perform(post("/stopNotification").headers(headers).content("test")).andExpect(status().isOk());
+ // try to remove again should fail.
+ mockMvc.perform(post("/sendHeartbeat").headers(headers).content("test")).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void sendEventTest() throws Exception {
+ EventRequestParameters pep = new EventRequestParameters();
+ Map<String, String> eventAttributes = new HashMap<>();
+ eventAttributes.put("TEST", "test");
+ pep.setEventAttributes(eventAttributes);
+ // Failure Tests.
+ mockMvc.perform(post("/sendEvent")).andExpect(status().isBadRequest());
+ mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
+ .andExpect(status().isOk());
+ pep.setEventAttributes(null);
+ mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setEventAttributes(eventAttributes);
+ mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
+ pep.setEventAttributes(eventAttributes);
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(post("/sendEvent").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
+ }
+
+ @Test
+ public void getDecisionTest() throws Exception {
+ DecisionRequestParameters pep = new DecisionRequestParameters();
+ Map<String, String> eventAttributes = new HashMap<>();
+ eventAttributes.put("TEST", "test");
+ pep.setOnapName("te123");
+ pep.setDecisionAttributes(eventAttributes);
+ // Failure Tests.
+ mockMvc.perform(post("/getDecision")).andExpect(status().isBadRequest());
+ mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
+ .andExpect(status().isOk());
+ pep.setDecisionAttributes(null);
+ pep.setOnapName(null);
+ mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setOnapName("testing");
+ mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setDecisionAttributes(eventAttributes);
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(post("/getDecision").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isOk());
+ }
+
+ @Test
+ public void pushPolicyTest() throws Exception {
+ PushPolicyParameters pep = new PushPolicyParameters();
+ // Failure Tests.
+ mockMvc.perform(put("/pushPolicy")).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("scopeless");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyName("testing.test");
+ pep.setPolicyType("wrong");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("BRMS_PARAM");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("BRMS_RAW");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("MicroService");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("ClosedLoop_PM");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("ClosedLoop_Fault");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("Base");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("Decision");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("Action");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("Firewall");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPdpGroup("default");
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
+ .andExpect(status().isBadRequest());
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void deletePolicyTest() throws Exception {
+ DeletePolicyParameters pep = new DeletePolicyParameters();
+ // Failure Tests.
+ mockMvc.perform(delete("/deletePolicy")).andExpect(status().isBadRequest());
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("testing");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("testscope.name");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyName("testscope.name");
+ pep.setPolicyType("wrong");
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("BRMS_PARAM");
+ pep.setPolicyComponent("wrong");
+ pep.setRequestID(null);
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyType("BRMS_RAW");
+ pep.setPolicyComponent("PDP");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyType("MicroService");
+ pep.setPolicyComponent("PAP");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyType("ClosedLoop_PM");
+ pep.setPolicyComponent("PDP");
+ pep.setDeleteCondition(DeletePolicyCondition.ALL);
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyType("ClosedLoop_Fault");
+ pep.setDeleteCondition(DeletePolicyCondition.ONE);
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyType("Base");
+ pep.setPolicyComponent("PAP");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyType("Decision");
+ pep.setPolicyComponent("PDP");
+ pep.setPolicyName("test.xml");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyType("Action");
+ pep.setPolicyName("scope.Config_test.xml");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPdpGroup("default");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyComponent("PAP");
+ pep.setPolicyType("Firewall");
+ pep.setDeleteCondition(null);
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyComponent("PAP");
+ pep.setDeleteCondition(DeletePolicyCondition.ONE);
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyComponent("fail");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyComponent("PDP");
+ pep.setPolicyName("testscope.policyName");
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyComponent(null);
+ mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void createUpdatePolicyTest() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ // Failure Tests.
+ mockMvc.perform(put("/createPolicy")).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ setCreateUpdateImpl();
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("failName");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test 123"))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("test. name");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setPolicyName(" ");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("test. ");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("te st.name");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("testá");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void brmsPolicyCreationTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for BRMS Param Policy.
+ pep.setPolicyConfigType(PolicyConfigType.BRMS_PARAM);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("test");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
+ Map<String, String> matching = new HashMap<>();
+ matching.put("key", "value");
+ attributes.put(AttributeType.MATCHING, matching);
+ pep.setAttributes(attributes);
+ pep.setRiskLevel("5");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ // Checks for BRMS Raw Policy
+ pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("test");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel(null);
+ pep.setConfigBody(
+ "package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\nrule \"Nagpur Medicine Item\"\n\n when\n item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n typeofItem == ItemCity.Type.MEDICINES)\n then\n BigDecimal tax = new BigDecimal(0.0);\n item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("5");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void baseConfigTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for Base config Policy.
+ pep.setPolicyConfigType(PolicyConfigType.Base);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("testbody");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBodyType(PolicyType.OTHER);
+ pep.setRiskLevel("test");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("4");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setOnapName("ec nam-e");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setOnapName("onapName");
+ pep.setConfigName("tes config");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigName("configName");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{'test':'test}");
+ pep.setConfigBodyType(PolicyType.JSON);
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
+ Map<String, String> matching = new HashMap<>();
+ matching.put("key", "value");
+ attributes.put(AttributeType.MATCHING, matching);
+ pep.setAttributes(attributes);
+ pep.setConfigBody("testBody");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void closedLoopPolicyTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for Closed loop Policy.
+ pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_Fault);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("te stá");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("testBody");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"key\":\"value\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"onapname\":\"\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"onapname\":\"test\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("test");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("4");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void closedLoopPMTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for Closed loop Policy.
+ pep.setPolicyConfigType(PolicyConfigType.ClosedLoop_PM);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("te stá");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("testBody");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"key\":\"value\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"onapname\":\"\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"onapname\":\"test\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("test");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("4");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void firewallPolicyTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for Closed loop Policy.
+ pep.setPolicyConfigType(PolicyConfigType.Firewall);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("te st");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"test\":\"test\"}");
+ pep.setRiskLevel("test");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("4");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"configName\":\"test\"}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void microServicePolicyTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for Closed loop Policy.
+ pep.setPolicyConfigType(PolicyConfigType.MicroService);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("te st");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{}");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody("{\"test\":\"test\"}");
+ pep.setOnapName(" ");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setOnapName("testonap");
+ pep.setRiskLevel("fail");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRiskLevel("4");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setConfigBody(
+ "{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\",\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void actionDecisionPolicyCreationTests() throws Exception {
+ PolicyParameters pep = new PolicyParameters();
+ pep.setPolicyName("test.name");
+ pep.setPolicyDescription("good");
+ pep.setTtlDate(new Date());
+ pep.setRequestID(UUID.randomUUID());
+ setCreateUpdateImpl();
+ // Checks for action Policy.
+ pep.setPolicyClass(PolicyClass.Action);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ Map<AttributeType, Map<String, String>> attributes = new HashMap<>();
+ pep.setAttributes(attributes);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ attributes.put(AttributeType.MATCHING, new HashMap<>());
+ pep.setAttributes(attributes);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ Map<String, String> matching = new HashMap<>();
+ matching.put("key", "value");
+ attributes.put(AttributeType.MATCHING, matching);
+ pep.setAttributes(attributes);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setActionAttribute("A1");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setActionPerformer("PEX");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setActionPerformer("PEP");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ // Checks for Decision Policy.
+ pep.setPolicyClass(PolicyClass.Decision);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setOnapName("xyz");
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ attributes.remove(AttributeType.MATCHING);
+ attributes.put(AttributeType.SETTINGS, matching);
+ pep.setAttributes(attributes);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ attributes.put(AttributeType.MATCHING, matching);
+ pep.setAttributes(attributes);
+ mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void createUpdateDictionaryTests() throws Exception {
+ DictionaryParameters pep = new DictionaryParameters();
+ // Failure Tests.
+ mockMvc.perform(put("/createDictionaryItem")).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setDictionaryType(DictionaryType.MicroService);
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setDictionary("test dict");
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setDictionaryJson("{\"test\":\"value\"}");
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+ .andExpect(status().isBadRequest());
+ pep.setDictionaryJson("test123");
+ mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "123"))
+ .andExpect(status().isBadRequest());
+ pep.setDictionary("MicroServiceDictionary");
+ mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void getDictionaryTests() throws Exception {
+ DictionaryParameters pep = new DictionaryParameters();
+ // Failure Tests.
+ mockMvc.perform(post("/getDictionaryItems")).andExpect(status().isBadRequest());
+ mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setDictionaryType(DictionaryType.Common);
+ mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)
+ .header(UUIDHEADER, UUID.randomUUID().toString())).andExpect(status().isBadRequest());
+ pep.setDictionary("OnapName");
+ mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ pep.setRequestID(UUID.randomUUID());
+ mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void policyEngineImportTests() throws Exception {
+ // Failure Tests.
+ mockMvc.perform(post("/policyEngineImport")).andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void oldConfigAPITests() throws Exception {
+ ConfigPolicyAPIRequest pep = new ConfigPolicyAPIRequest();
+ // Failure Tests.
+ mockMvc.perform(put("/createConfig")).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyScope("test");
+ mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("name");
+ mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setConfigType("OTHER");
+ mockMvc.perform(put("/createConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setTtlDate(new Date().toString());
+ mockMvc.perform(put("/updateConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ }
+
+ @Test
+ public void oldFirewallAPITests() throws Exception {
+ ConfigFirewallPolicyAPIRequest pep = new ConfigFirewallPolicyAPIRequest();
+ // Failure Tests.
+ mockMvc.perform(put("/createFirewallConfig")).andExpect(status().isBadRequest());
+ mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).header(CLIENTAUTHHEADER, "Basic 123"))
+ .andExpect(status().isUnauthorized());
+ // Service Tests.
+ mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyScope("test");
+ mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setPolicyName("name");
+ mockMvc.perform(put("/createFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ pep.setTtlDate(new Date().toString());
+ mockMvc.perform(put("/updateFirewallConfig").content(PolicyUtils.objectToJsonString(pep))
+ .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "tes123"))
+ .andExpect(status().isBadRequest());
+ }
+
+ private void setCreateUpdateImpl() throws NoSuchMethodException, SecurityException, IllegalAccessException,
+ IllegalArgumentException, InvocationTargetException {
+ Method setter = XACMLPdpServlet.class.getDeclaredMethod("setCreateUpdatePolicyConstructor", String.class);
+ setter.setAccessible(true);
+ setter.invoke(new XACMLPdpServlet(), CreateUpdatePolicyServiceImpl.class.getName());
+ }
+
+ // Health Check Tests
+ @Test
+ public void getCountTest() throws Exception {
+ mockMvc.perform(get("/count")).andExpect(status().isOk());
+ }
}