summaryrefslogtreecommitdiffstats
path: root/csit/resources/tests/policy-clamp-test.robot
diff options
context:
space:
mode:
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-04-03 00:57:58 +0100
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-04-13 09:08:43 +0100
commite90986687347e86b5cfdbe850d1e0129d73ed10f (patch)
tree5fddf3cbfd9610bba64086191b86075506321961 /csit/resources/tests/policy-clamp-test.robot
parent2ababee11a93dd17f5c3ee8a68a4efca7165f090 (diff)
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 <ramesh.murugan.iyer@est.tech> Change-Id: I2dcc294d9127307ef74a0f47791aed9d641b37f2
Diffstat (limited to 'csit/resources/tests/policy-clamp-test.robot')
-rw-r--r--csit/resources/tests/policy-clamp-test.robot237
1 files changed, 158 insertions, 79 deletions
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}
+