From e90986687347e86b5cfdbe850d1e0129d73ed10f Mon Sep 17 00:00:00 2001 From: rameshiyer27 Date: Mon, 3 Apr 2023 00:57:58 +0100 Subject: Add CSIT for ACM in docker Included policy particiant tests in docker. Http and Kubernetes will be tested in kubernetes env. Issue-ID: POLICY-4541 Signed-off-by: zrrmmua Change-Id: I2dcc294d9127307ef74a0f47791aed9d641b37f2 --- csit/resources/tests/policy-clamp-test.robot | 237 ++++++++++++++++++--------- 1 file changed, 158 insertions(+), 79 deletions(-) (limited to 'csit/resources/tests/policy-clamp-test.robot') diff --git a/csit/resources/tests/policy-clamp-test.robot b/csit/resources/tests/policy-clamp-test.robot index 5fa48af2..3fc41550 100644 --- a/csit/resources/tests/policy-clamp-test.robot +++ b/csit/resources/tests/policy-clamp-test.robot @@ -17,82 +17,161 @@ Healthcheck Log Received response from ACM healthcheck {resp.text} Should Be Equal As Strings ${resp.status_code} 200 -#CommissionAutomationCompositionV1 -# [Documentation] Commission automation composition. -# ${auth}= Create List runtimeUser zb!XztG34 -# Log Creating session http://${POLICY_RUNTIME_ACM_IP} -# ${postyaml}= Get file ${CURDIR}/data/functional-pmsh-usecase.yaml -# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml -# ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions data=${postyaml} headers=${headers} -# Log Received response from runtime acm ${resp.text} -# ${respyaml}= yaml.Safe Load ${resp.text} -# set Suite variable ${compositionId} ${respyaml["compositionId"]} -# Should Be Equal As Strings ${resp.status_code} 201 -# -#InstantiateAutomationCompositionV1 -# [Documentation] Instantiate automation composition. -# ${auth}= Create List runtimeUser zb!XztG34 -# Log Creating session http://${POLICY_RUNTIME_ACM_IP} -# ${postjson}= Get file ${CURDIR}/data/AutomationComposition.json -# ${updatedpostjson}= Replace String ${postjson} COMPOSITIONIDPLACEHOLDER ${compositionId} -# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json -# ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances data=${updatedpostjson} headers=${headers} -# Log Received response from runtime acm ${resp.text} -# ${respyaml}= yaml.Safe Load ${resp.text} -# set Suite variable ${instanceId} ${respyaml["instanceId"]} -# Should Be Equal As Strings ${resp.status_code} 201 -# -#PassivateAutomationComposition -# [Documentation] Passivate automation composition. -# ${auth}= Create List runtimeUser zb!XztG34 -# Log Creating session http://${POLICY_RUNTIME_ACM_IP} -# ${postjson}= Get file ${CURDIR}/data/PassiveCommand.json -# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json -# ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers} -# Log Received response from runtime acm ${resp.text} -# Should Be Equal As Strings ${resp.status_code} 200 -# -#QueryPolicies -# [Documentation] Runs Policy Participant Query New Policies -# ${auth}= Create List policyadmin zb!XztG34 -# Log Creating session http://${POLICY_API_IP} -# ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json -# ${resp}= GET On Session policy /policy/api/v1/policies headers=${headers} -# Log Received response from policy-api {resp.text} -# Should Be Equal As Strings ${resp.status_code} 200 -# -#QueryPolicyTypes -# [Documentation] Runs Policy Participant Query New Policy Types -# ${auth}= Create List policyadmin zb!XztG34 -# Log Creating session http://${POLICY_API_IP}}:6969 -# ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json -# ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers} -# Log Received response from policy-api ${resp.text} -# Should Be Equal As Strings ${resp.status_code} 200 -# -#StateChangeRunningAutomationComposition -# [Documentation] AutomationComposition State Change to RUNNING. -# ${auth}= Create List runtimeUser zb!XztG34 -# Log Creating session http://${POLICY_RUNTIME_ACM_IP} -# ${postjson}= Get file ${CURDIR}/data/RunningCommand.json -# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json -# ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers} expected_status=400 -# Log Received response from runtime acm ${resp.text} -# -#QueryInstantiatedACs -# [Documentation] Get Instantiated AutomationCompositions -# ${auth}= Create List runtimeUser zb!XztG34 -# Log Creating session http://${POLICY_RUNTIME_ACM_IP} -# ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} -# ${headers}= Create Dictionary Accept=application/json Content-Type=application/json -# ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers} -# Log Received response from runtime acm ${resp.text} -# Should Be Equal As Strings ${resp.status_code} 200 -# Should Be Equal As Strings ${resp.json()['state']} UNINITIALISED2PASSIVE -# Should Be Equal As Strings ${resp.json()['orderedState']} PASSIVE +CommissionAutomationComposition + [Documentation] Commission automation composition. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postyaml}= Get file ${CURDIR}/data/acelement-usecase.yaml + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml + ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions data=${postyaml} headers=${headers} + Log Received response from runtime acm ${resp.text} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${compositionId} ${respyaml["compositionId"]} + Should Be Equal As Strings ${resp.status_code} 201 + +RegisterParticipants + [Documentation] Register Participants. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/participants + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 + +PrimeACDefinitions + [Documentation] Prime automation composition definition + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postjson}= Get file ${CURDIR}/data/ACPriming.json + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} data=${postjson} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming PRIMED + + +InstantiateAutomationComposition + [Documentation] Instantiate automation composition. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postjson}= Get file ${CURDIR}/data/AutomationComposition.json + ${updatedpostjson}= Replace String ${postjson} COMPOSITIONIDPLACEHOLDER ${compositionId} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= POST On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances data=${updatedpostjson} headers=${headers} + Log Received response from runtime acm ${resp.text} + ${respyaml}= yaml.Safe Load ${resp.text} + set Suite variable ${instanceId} ${respyaml["instanceId"]} + Should Be Equal As Strings ${resp.status_code} 201 + +DeployAutomationComposition + [Documentation] Deploy automation composition. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postjson}= Get file ${CURDIR}/data/DeployAC.json + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus DEPLOYED + + +QueryPolicies + [Documentation] Verify the new policies deployed + ${auth}= Create List policyadmin zb!XztG34 + Log Creating session http://${POLICY_PAP_IP} + ${session}= Create Session policy http://${POLICY_PAP_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /policy/pap/v1/policies/deployed headers=${headers} + Log Received response from policy-pap {resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + Dictionary Should Contain Value ${resp.json()[0]} onap.policies.native.apex.ac.element + + +QueryPolicyTypes + [Documentation] Verify the new policy types created + ${auth}= Create List policyadmin zb!XztG34 + Log Creating session http://${POLICY_API_IP}}:6969 + ${session}= Create Session policy http://${POLICY_API_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /policy/api/v1/policytypes headers=${headers} + Log Received response from policy-api ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + List Should Contain Value ${resp.json()['policy_types']} onap.policies.native.Apex + + +UnDeployAutomationComposition + [Documentation] UnDeploy automation composition. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postjson}= Get file ${CURDIR}/data/UndeployAC.json + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} data=${postjson} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 10 min 5 sec VerifyDeployStatus UNDEPLOYED + + +UnInstantiateAutomationComposition + [Documentation] Delete automation composition instance. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + + +DePrimeACDefinitions + [Documentation] DePrime automation composition definition + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postjson}= Get file ${CURDIR}/data/ACDepriming.json + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= PUT On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} data=${postjson} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 202 + Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming COMMISSIONED + + +DeleteACDefinition + [Documentation] Delete automation composition definition. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/yaml Content-Type=application/yaml + ${resp}= DELETE On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} headers=${headers} + Log Received response from runtime acm ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + + + +*** Keywords *** + +VerifyPriming + [Arguments] ${primestate} + [Documentation] Verify the AC definitions are primed to the participants + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['state']} ${primestate} + +VerifyDeployStatus + [Arguments] ${deploystate} + [Documentation] Verify the Deploy status of automation composition. + ${auth}= Create List runtimeUser zb!XztG34 + Log Creating session http://${POLICY_RUNTIME_ACM_IP} + ${postjson}= Get file ${CURDIR}/data/DeployAC.json + ${session}= Create Session policy http://${POLICY_RUNTIME_ACM_IP} auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= GET On Session policy /onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['deployState']} ${deploystate} + -- cgit 1.2.3-korg