diff options
author | 2024-12-18 18:15:17 +0100 | |
---|---|---|
committer | 2024-12-19 13:39:05 +0100 | |
commit | 32fd1f3c1e22dbeb69e3cc150a6fb1b72ea0ed53 (patch) | |
tree | a068657e6b3d7f87506a30f4ec3ce639cf06c5bc /csit | |
parent | 522cfc28114b076fbcb1da8b2a16894e647ed10c (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')
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 ;; |