aboutsummaryrefslogtreecommitdiffstats
path: root/csit
diff options
context:
space:
mode:
authormuraliparthatechm <muraliparthasarathy.k@techmahindra.com>2024-12-18 18:15:17 +0100
committermuraliparthatechm <muraliparthasarathy.k@techmahindra.com>2024-12-19 13:39:05 +0100
commit32fd1f3c1e22dbeb69e3cc150a6fb1b72ea0ed53 (patch)
treea068657e6b3d7f87506a30f4ec3ce639cf06c5bc /csit
parent522cfc28114b076fbcb1da8b2a16894e647ed10c (diff)
Update CSIT with opa-pdp (docker-compose env)
Issue-ID: POLICY-5211 Change-Id: I8b75e6e850fae171fbc75fc67cb59171a78df4e0 Signed-off-by: muraliparthatechm <muraliparthasarathy.k@techmahindra.com>
Diffstat (limited to 'csit')
-rwxr-xr-xcsit/resources/scripts/run-test.sh2
-rw-r--r--csit/resources/tests/api-test.robot2
-rw-r--r--csit/resources/tests/data/onap.policy.opa.pdp.decision.badRequest.json2
-rw-r--r--csit/resources/tests/data/onap.policy.opa.pdp.decision.request.json1
-rw-r--r--csit/resources/tests/data/onap.policy.opa.pdp.decision.requestIndeterminate.json2
-rw-r--r--csit/resources/tests/data/onap.policy.opa.pdp.decision.requestfailure.json1
-rw-r--r--csit/resources/tests/opa-pdp-test.robot53
-rwxr-xr-xcsit/run-project-csit.sh12
8 files changed, 74 insertions, 1 deletions
diff --git a/csit/resources/scripts/run-test.sh b/csit/resources/scripts/run-test.sh
index 1e756f6d..1156fd5c 100755
--- a/csit/resources/scripts/run-test.sh
+++ b/csit/resources/scripts/run-test.sh
@@ -32,6 +32,7 @@ APEX_IP=policy-apex-pdp:${DEFAULT_PORT}
APEX_EVENTS_IP=policy-apex-pdp:23324
POLICY_PDPX_IP=policy-xacml-pdp:${DEFAULT_PORT}
+POLICY_OPA_IP=policy-opa-pdp:8282
POLICY_DROOLS_IP=policy-drools-pdp:9696
DROOLS_IP_1=policy-drools-apps:${DEFAULT_PORT}
@@ -59,6 +60,7 @@ ROBOT_VARIABLES="-v DATA:${DATA}
-v KAFKA_IP:${KAFKA_IP}
-v PROMETHEUS_IP:${PROMETHEUS_IP}
-v POLICY_PDPX_IP:${POLICY_PDPX_IP}
+-v POLICY_OPA_IP:${POLICY_OPA_IP}
-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}
-v DROOLS_IP:${DROOLS_IP_1}
-v DROOLS_IP_2:${DROOLS_IP_2}
diff --git a/csit/resources/tests/api-test.robot b/csit/resources/tests/api-test.robot
index 29c2fba4..e1b8fd47 100644
--- a/csit/resources/tests/api-test.robot
+++ b/csit/resources/tests/api-test.robot
@@ -16,7 +16,7 @@ Healthcheck
RetrievePolicyTypes
[Documentation] Retrieve all policy types
- FetchPolicyTypes /policy/api/v1/policytypes 37
+ FetchPolicyTypes /policy/api/v1/policytypes 38
CreateTCAPolicyTypeV1
[Documentation] Create an existing policy type with modification and keeping the same version should result in error.
diff --git a/csit/resources/tests/data/onap.policy.opa.pdp.decision.badRequest.json b/csit/resources/tests/data/onap.policy.opa.pdp.decision.badRequest.json
new file mode 100644
index 00000000..b92aa88e
--- /dev/null
+++ b/csit/resources/tests/data/onap.policy.opa.pdp.decision.badRequest.json
@@ -0,0 +1,2 @@
+{"onapName":"CDS","onapComponent":"CDS","onapInstance":"CDS","currentDate": "2024-11-22", "currentTime": "2024-11-22T11:34:56Z", "timeZone": "UTC", "timeOffset": "+05:30", "currentDateTime": "2024-11-22T12:08:00Z" "policyName":"role/allow","input":{"user":"carol","action":"write","object":"id123","type":"dog"}}
+
diff --git a/csit/resources/tests/data/onap.policy.opa.pdp.decision.request.json b/csit/resources/tests/data/onap.policy.opa.pdp.decision.request.json
new file mode 100644
index 00000000..66132ea7
--- /dev/null
+++ b/csit/resources/tests/data/onap.policy.opa.pdp.decision.request.json
@@ -0,0 +1 @@
+{"onapName":"CDS","onapComponent":"CDS","onapInstance":"CDS","currentDate": "2024-11-22", "currentTime": "2024-11-22T11:34:56Z", "timeZone": "UTC", "timeOffset": "+05:30", "currentDateTime": "2024-11-22T12:08:00Z", "policyName":"role/allow","input":{"user":"alice","action":"write","object":"id123","type":"dog"}}
diff --git a/csit/resources/tests/data/onap.policy.opa.pdp.decision.requestIndeterminate.json b/csit/resources/tests/data/onap.policy.opa.pdp.decision.requestIndeterminate.json
new file mode 100644
index 00000000..352ddb55
--- /dev/null
+++ b/csit/resources/tests/data/onap.policy.opa.pdp.decision.requestIndeterminate.json
@@ -0,0 +1,2 @@
+{"onapName":"CDS","onapComponent":"CDS","onapInstance":"CDS","currentDate": "2024-11-22", "currentTime": "2024-11-22T11:34:56Z", "timeZone": "UTC", "timeOffset": "+05:30", "currentDateTime": "2024-11-22T12:08:00Z", "policyName":"role1/allow","input":{"user":"alice","action":"write","object":"id123","type":"dog"}}
+
diff --git a/csit/resources/tests/data/onap.policy.opa.pdp.decision.requestfailure.json b/csit/resources/tests/data/onap.policy.opa.pdp.decision.requestfailure.json
new file mode 100644
index 00000000..e9aea14a
--- /dev/null
+++ b/csit/resources/tests/data/onap.policy.opa.pdp.decision.requestfailure.json
@@ -0,0 +1 @@
+{"onapName":"CDS","onapComponent":"CDS","onapInstance":"CDS","currentDate": "2024-11-22", "currentTime": "2024-11-22T11:34:56Z", "timeZone": "UTC", "timeOffset": "+05:30", "currentDateTime": "2024-11-22T12:08:00Z", "policyName":"role/allow","input":{"user":"carol","action":"write","object":"id123","type":"dog"}}
diff --git a/csit/resources/tests/opa-pdp-test.robot b/csit/resources/tests/opa-pdp-test.robot
new file mode 100644
index 00000000..908314f8
--- /dev/null
+++ b/csit/resources/tests/opa-pdp-test.robot
@@ -0,0 +1,53 @@
+*** Settings ***
+Library RequestsLibrary
+Library Collections
+Library OperatingSystem
+Library Process
+Library json
+Resource common-library.robot
+
+*** Variables ***
+${OPA_PDP_HOST} /policy/pdpx/v1/healthcheck
+${url} /policy/pdpx/v1/decision
+
+*** Test Cases ***
+Healthcheck
+ [Documentation] Verify OPA PDP health check
+ PdpxGetReq ${OPA_PDP_HOST} <Response [200]>
+
+RetrieveSuccessfulRequest
+ [Documentation] Get Decision Request Successful for Opa Pdp
+ DecisionRequest onap.policy.opa.pdp.decision.request.json PERMIT 200
+
+RetrieveDenyRequest
+ [Documentation] Get Decision Request DENY for Opa Pdp
+ DecisionRequest onap.policy.opa.pdp.decision.requestfailure.json DENY 200
+
+*** comments ***
+| RetrieveFailureRequest
+| |[Documentation] | Get Decision Request INDETERMINATE for Opa Pdp ***
+| | |DecisionRequest onap.policy.opa.pdp.decision.requestIndeterminate.json INDETERMINATE 200 ***
+
+RetrieveFailureBadRequest
+ [Documentation] Get Decision Request Failure Bad Request for Opa Pdp
+ DecisionRequest onap.policy.opa.pdp.decision.badRequest.json BAD_REQUEST 400
+*** Keywords ***
+PdpxGetReq
+ [Documentation] Verify the response of Health Check is Successful
+ [Arguments] ${url} ${status}
+ ${hcauth}= PolicyAdminAuth
+ ${resp}= PerformGetRequest ${POLICY_OPA_IP} ${url} 200 null ${hcauth}
+ Should Be Equal As Strings ${resp} ${status}
+
+DecisionRequest
+ [Arguments] ${jsonfile} ${keyword} ${status}
+ ${postjson}= Get file ${CURDIR}/data/${jsonfile}
+ ${resp}= DecisionPostReq ${postjson} ${status} abbrev=true
+ Should Contain ${resp.text} ${keyword}
+
+DecisionPostReq
+ [Arguments] ${postjson} ${status} ${abbr}
+ ${expectedStatus}= Set Variable ${status}
+ ${hcauth}= PolicyAdminAuth
+ ${resp}= PerformPostRequest ${POLICY_OPA_IP} ${url} ${expectedStatus} ${postjson} ${abbr} ${hcauth}
+ RETURN ${resp}
diff --git a/csit/run-project-csit.sh b/csit/run-project-csit.sh
index e355d5ff..961100bf 100755
--- a/csit/run-project-csit.sh
+++ b/csit/run-project-csit.sh
@@ -170,6 +170,14 @@ function setup_xacml_pdp() {
check_rest_endpoint "${XACML_PORT}"
}
+function setup_opa_pdp() {
+ export ROBOT_FILES="opa-pdp-test.robot"
+ export PROJECT="opa-pdp"
+ source ${DOCKER_COMPOSE_DIR}/start-compose.sh opa-pdp --grafana
+ sleep 180
+ bash ${SCRIPTS}/wait_for_rest.sh localhost "${OPA_PDP_PORT}"
+}
+
function setup_drools_pdp() {
export ROBOT_FILES="drools-pdp-test.robot"
source ${DOCKER_COMPOSE_DIR}/start-compose.sh drools-pdp --grafana
@@ -240,6 +248,10 @@ function set_project_config() {
setup_xacml_pdp
;;
+ opa-pdp | policy-opa-pdp)
+ setup_opa_pdp
+ ;;
+
drools-pdp | policy-drools-pdp)
setup_drools_pdp
;;