blob: 3afcf12ed042535ff054c83a98e4cb3b783b65b7 [file] [log] [blame]
*** Settings ***
Library Collections
Library RequestsLibrary
Library OperatingSystem
Library String
Library json
Library yaml
Resource common-library.robot
*** Test Cases ***
HealthcheckAcm
[Documentation] Healthcheck on Clamp Acm
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${session}= Create Session ACM http://${POLICY_RUNTIME_ACM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= GET On Session ACM /onap/policy/clamp/acm/health headers=${headers}
Log Received response from ACM healthcheck {resp.text}
Should Be Equal As Strings ${resp.status_code} 200
HealthcheckParticipantSim
[Documentation] Healthcheck on Participant Simulator
${auth}= Create List participantUser zb!XztG34
Log Creating session http://${POLICY_PARTICIPANT_SIM_IP}
${session}= Create Session participant http://${POLICY_PARTICIPANT_SIM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= GET On Session participant /onap/policy/simparticipant/health headers=${headers}
Log Received response from participant healthcheck {resp.text}
Should Be Equal As Strings ${resp.status_code} 200
HealthcheckApi
[Documentation] Healthcheck on policy-api
Wait Until Keyword Succeeds 5 min 10 sec VerifyHealthcheckApi
HealthcheckPap
[Documentation] Healthcheck on policy-pap
Wait Until Keyword Succeeds 5 min 10 sec VerifyHealthcheckPap
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
CommissionAutomationComposition
[Documentation] Commission automation composition definition.
${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
CommissionAcDefinitionMigrationFrom
[Documentation] Commission automation composition definition From.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postyaml}= Get file ${CURDIR}/data/ac-definition-migration-from.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 ${compositionFromId} ${respyaml["compositionId"]}
Should Be Equal As Strings ${resp.status_code} 201
CommissionAcDefinitionMigrationTo
[Documentation] Commission automation composition definition To.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postyaml}= Get file ${CURDIR}/data/ac-definition-migration-to.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 ${compositionToId} ${respyaml["compositionId"]}
Should Be Equal As Strings ${resp.status_code} 201
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 ${compositionId} PRIMED
FailPrimeACDefinitionFrom
[Documentation] Prime automation composition definition Migration From.
SetParticipantSimFail
${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/${compositionFromId} data=${postjson} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyFailedPriming ${compositionFromId}
PrimeACDefinitionFrom
[Documentation] Prime automation composition definition Migration From.
SetParticipantSimSuccess
${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/${compositionFromId} data=${postjson} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionFromId} PRIMED
PrimeACDefinitionTo
[Documentation] Prime automation composition definition Migration To.
${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/${compositionToId} data=${postjson} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionToId} PRIMED
InstantiateAutomationComposition
[Documentation] Instantiate automation composition.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
Run Keyword If '${TEST_ENV}'=='k8s' set Suite variable ${instantiationfile} AcK8s.json
... ELSE set Suite variable ${instantiationfile} AcDocker.json
${postjson}= Get file ${CURDIR}/data/${instantiationfile}
${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
InstantiateAutomationCompositionMigrationFrom
[Documentation] Instantiate automation composition migration.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postyaml}= Get file ${CURDIR}/data/ac-instance-migration-from.yaml
${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId}
${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/${compositionFromId}/instances data=${updatedpostyaml} headers=${headers}
Log Received response from runtime acm ${resp.text}
${respyaml}= yaml.Safe Load ${resp.text}
set Suite variable ${instanceMigrationId} ${respyaml["instanceId"]}
Should Be Equal As Strings ${resp.status_code} 201
PrepareAutomationComposition
[Documentation] Prepare automation composition.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postjson}= Get file ${CURDIR}/data/PrepareAC.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 ${compositionId} ${instanceId} UNDEPLOYED
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 ${compositionId} ${instanceId} DEPLOYED
CheckTraces
[Documentation] Verify that traces are being recorded in jaeger
Log Verifying Jaeger traces
${acmResp}= VerifyTracingWorks ${JAEGER_IP} acm-r
${httpResp}= VerifyTracingWorks ${JAEGER_IP} http-ppnt
${policyResp}= VerifyTracingWorks ${JAEGER_IP} policy-ppnt
${k8sResp}= VerifyTracingWorks ${JAEGER_IP} k8s-ppnt
Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]}
Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]}
Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]}
CheckKafkaPresentInTraces
[Documentation] Verify that kafka traces are being recorded in jaeger
Log Verifying Kafka Jaeger traces
${acmResp}= VerifyKafkaInTraces ${JAEGER_IP} acm-r
${httpResp}= VerifyKafkaInTraces ${JAEGER_IP} http-ppnt
${policyResp}= VerifyKafkaInTraces ${JAEGER_IP} policy-ppnt
${k8sResp}= VerifyKafkaInTraces ${JAEGER_IP} k8s-ppnt
Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
Should Not Be Empty ${httpResp.json()["data"][0]["spans"][0]["spanID"]}
Should Not Be Empty ${policyResp.json()["data"][0]["spans"][0]["spanID"]}
Should Not Be Empty ${k8sResp.json()["data"][0]["spans"][0]["spanID"]}
CheckHttpPresentInAcmTraces
[Documentation] Verify that http traces are being recorded in jaeger
Log Verifying Http Jaeger traces
${acmResp}= VerifyHttpInTraces ${JAEGER_IP} acm-r
Should Not Be Empty ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
Log Received spanID is ${acmResp.json()["data"][0]["spans"][0]["spanID"]}
QueryPolicies
[Documentation] Verify the new policies deployed
${auth}= Create List policyadmin zb!XztG34
Sleep 10s
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
Sleep 10s
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
ReviewAutomationComposition
[Documentation] Review automation composition.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postjson}= Get file ${CURDIR}/data/ReviewAC.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 ${compositionId} ${instanceId} DEPLOYED
FailDeployAutomationCompositionMigration
[Documentation] Fail Deploy automation composition.
SetParticipantSimFail
${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/${compositionFromId}/instances/${instanceMigrationId} 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 2 min 5 sec VerifyFailDeploy ${compositionFromId} ${instanceMigrationId}
DeployAutomationCompositionMigration
[Documentation] Deploy automation composition.
SetParticipantSimSuccess
${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/${compositionFromId}/instances/${instanceMigrationId} 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 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED
SendOutPropertiesToRuntime
[Documentation] Send Out Properties To Runtime
${auth}= Create List participantUser zb!XztG34
Log Creating session http://${POLICY_PARTICIPANT_SIM_IP}
${postjson}= Get file ${CURDIR}/data/OutProperties.json
${updatedpostjson}= Replace String ${postjson} INSTACEIDPLACEHOLDER ${instanceMigrationId}
${updatedpostjson}= Replace String ${updatedpostjson} TEXTPLACEHOLDER MyTextToSend
${session}= Create Session policy http://${POLICY_PARTICIPANT_SIM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= PUT On Session policy /onap/policy/simparticipant/v2/datas data=${updatedpostjson} headers=${headers}
Log Received response from participant sim ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 2 min 5 sec VerifyPropertiesUpdated ${compositionFromId} ${instanceMigrationId} MyTextToSend
AutomationCompositionUpdate
[Documentation] Update of an automation composition.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postyaml}= Get file ${CURDIR}/data/ac-instance-update.yaml
${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId}
${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId}
${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER MyTextUpdated
${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/${compositionFromId}/instances data=${updatedpostyaml} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED
VerifyPropertiesUpdated ${compositionFromId} ${instanceMigrationId} MyTextUpdated
VerifyParticipantSim ${instanceMigrationId} MyTextUpdated
PrecheckAutomationCompositionMigration
[Documentation] Precheck Migration of an automation composition.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postyaml}= Get file ${CURDIR}/data/ac-instance-precheck-migration.yaml
${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId}
${updatedpostyaml}= Replace String ${updatedpostyaml} COMPOSITIONTARGETIDPLACEHOLDER ${compositionToId}
${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId}
${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER TextForMigration
${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/${compositionFromId}/instances data=${updatedpostyaml} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionFromId} ${instanceMigrationId} DEPLOYED
AutomationCompositionMigrationTo
[Documentation] Migration of an automation composition.
${auth}= Create List runtimeUser zb!XztG34
Log Creating session http://${POLICY_RUNTIME_ACM_IP}
${postyaml}= Get file ${CURDIR}/data/ac-instance-migration-to.yaml
${updatedpostyaml}= Replace String ${postyaml} COMPOSITIONIDPLACEHOLDER ${compositionFromId}
${updatedpostyaml}= Replace String ${updatedpostyaml} COMPOSITIONTARGETIDPLACEHOLDER ${compositionToId}
${updatedpostyaml}= Replace String ${updatedpostyaml} INSTACEIDPLACEHOLDER ${instanceMigrationId}
${updatedpostyaml}= Replace String ${updatedpostyaml} TEXTPLACEHOLDER TextForMigration
${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/${compositionFromId}/instances data=${updatedpostyaml} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
Wait Until Keyword Succeeds 2 min 5 sec VerifyDeployStatus ${compositionToId} ${instanceMigrationId} DEPLOYED
VerifyPropertiesUpdated ${compositionToId} ${instanceMigrationId} TextForMigration
VerifyParticipantSim ${instanceMigrationId} TextForMigration
VerifyMigratedElementsRuntime ${compositionToId} ${instanceMigrationId}
VerifyMigratedElementsSim ${instanceMigrationId}
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 ${compositionId} ${instanceId} UNDEPLOYED
FailUnDeployAutomationCompositionMigrationTo
[Documentation] Fail UnDeploy automation composition migrated.
SetParticipantSimFail
${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/${compositionToId}/instances/${instanceMigrationId} 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 2 min 5 sec VerifyFailDeploy ${compositionToId} ${instanceMigrationId}
UnDeployAutomationCompositionMigrationTo
[Documentation] UnDeploy automation composition migrated.
SetParticipantSimSuccess
${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/${compositionToId}/instances/${instanceMigrationId} 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 2 min 5 sec VerifyDeployStatus ${compositionToId} ${instanceMigrationId} 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} 202
Wait Until Keyword Succeeds 1 min 5 sec VerifyUninstantiated ${compositionId}
FailUnInstantiateAutomationCompositionMigrationTo
[Documentation] Fail Delete automation composition instance migrated.
SetParticipantSimFail
${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/${compositionToId}/instances/${instanceMigrationId} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyFailDeploy ${compositionToId} ${instanceMigrationId}
UnInstantiateAutomationCompositionMigrationTo
[Documentation] Delete automation composition instance migrated.
SetParticipantSimSuccess
${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/${compositionToId}/instances/${instanceMigrationId} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 1 min 5 sec VerifyUninstantiated ${compositionToId}
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 ${compositionId} COMMISSIONED
FailDePrimeACDefinitionsFrom
[Documentation] Fail DePrime automation composition definition migration From.
SetParticipantSimFail
${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/${compositionFromId} data=${postjson} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyFailedPriming ${compositionFromId}
DePrimeACDefinitionsFrom
[Documentation] DePrime automation composition definition migration From.
SetParticipantSimSuccess
${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/${compositionFromId} data=${postjson} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionFromId} COMMISSIONED
DePrimeACDefinitionsTo
[Documentation] DePrime automation composition definition migration To.
${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/${compositionToId} data=${postjson} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 202
Wait Until Keyword Succeeds 2 min 5 sec VerifyPriming ${compositionToId} 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
DeleteACDefinitionFrom
[Documentation] Delete automation composition definition migration From.
${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/${compositionFromId} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
DeleteACDefinitionTo
[Documentation] Delete automation composition definition migration To.
${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/${compositionToId} headers=${headers}
Log Received response from runtime acm ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
*** Keywords ***
VerifyHealthcheckApi
[Documentation] Verify Healthcheck on policy-api
${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/health headers=${headers}
Log Received response from policy-api healthcheck ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
VerifyHealthcheckPap
[Documentation] Verify Healthcheck on policy-pap
${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/health headers=${headers}
Log Received response from policy-pap healthcheck ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
VerifyPriming
[Arguments] ${theCompositionId} ${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/${theCompositionId} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
Should Be Equal As Strings ${resp.json()['stateChangeResult']} NO_ERROR
Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['state']} ${primestate}
VerifyFailedPriming
[Arguments] ${theCompositionId}
[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/${theCompositionId} 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()['stateChangeResult']} FAILED
VerifyDeployStatus
[Arguments] ${theCompositionId} ${theInstanceId} ${deploystate}
[Documentation] Verify the Deploy status of automation composition.
${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/${theCompositionId}/instances/${theInstanceId} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
Should Be Equal As Strings ${resp.json()['stateChangeResult']} NO_ERROR
Run Keyword If ${resp.status_code}==200 Should Be Equal As Strings ${resp.json()['deployState']} ${deploystate}
VerifyFailDeploy
[Arguments] ${theCompositionId} ${theInstanceId}
[Documentation] Verify the Deploy status of automation composition.
${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/${theCompositionId}/instances/${theInstanceId} 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()['stateChangeResult']} FAILED
VerifyPropertiesUpdated
[Arguments] ${theCompositionId} ${theInstanceId} ${textToFind}
[Documentation] Verify the Deploy status of automation composition.
${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/${theCompositionId}/instances/${theInstanceId} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
${respstring} Convert To String ${resp.json()}
Run Keyword If ${resp.status_code}==200 Should Match Regexp ${respstring} ${textToFind}
VerifyMigratedElementsRuntime
[Arguments] ${compositionToId} ${theInstanceId}
[Documentation] Verify the Instance elements after Migration
${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/${compositionToId}/instances/${theInstanceId} headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
${respstring} Convert To String ${resp.json()}
Should Match Regexp ${respstring} Sim_NewAutomationCompositionElement
Should Not Match Regexp ${respstring} Sim_SinkAutomationCompositionElement
VerifyMigratedElementsSim
[Arguments] ${theInstanceId}
[Documentation] Query on Participant Simulator
${auth}= Create List participantUser zb!XztG34
Log Creating session http://${POLICY_PARTICIPANT_SIM_IP}
${session}= Create Session ACM http://${POLICY_PARTICIPANT_SIM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= GET On Session ACM /onap/policy/simparticipant/v2/instances/${theInstanceId} headers=${headers}
Log Received response from participant {resp.text}
Should Be Equal As Strings ${resp.status_code} 200
${respstring} Convert To String ${resp.json()}
Should Match Regexp ${respstring} Sim_NewAutomationCompositionElement
Should Not Match Regexp ${respstring} Sim_SinkAutomationCompositionElement
VerifyParticipantSim
[Arguments] ${theInstanceId} ${textToFind}
[Documentation] Query on Participant Simulator
${auth}= Create List participantUser zb!XztG34
Log Creating session http://${POLICY_PARTICIPANT_SIM_IP}
${session}= Create Session ACM http://${POLICY_PARTICIPANT_SIM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= GET On Session ACM /onap/policy/simparticipant/v2/instances/${theInstanceId} headers=${headers}
Log Received response from participant {resp.text}
Should Be Equal As Strings ${resp.status_code} 200
${respstring} Convert To String ${resp.json()}
Should Match Regexp ${respstring} ${textToFind}
VerifyUninstantiated
[Arguments] ${theCompositionId}
[Documentation] Verify the Uninstantiation of automation composition.
${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/${theCompositionId}/instances headers=${headers}
Should Be Equal As Strings ${resp.status_code} 200
Run Keyword If ${resp.status_code}==200 Length Should Be ${resp.json()['automationCompositionList']} 0
SetParticipantSimFail
[Documentation] Set Participant Simulator Fail.
${auth}= Create List participantUser zb!XztG34
Log Creating session http://${POLICY_PARTICIPANT_SIM_IP}
${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesFail.json
${session}= Create Session policy http://${POLICY_PARTICIPANT_SIM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= PUT On Session policy /onap/policy/simparticipant/v2/parameters data=${postjson} headers=${headers}
Log Received response from participant sim ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200
SetParticipantSimSuccess
[Documentation] Set Participant Simulator Success.
${auth}= Create List participantUser zb!XztG34
Log Creating session http://${POLICY_PARTICIPANT_SIM_IP}
${postjson}= Get file ${CURDIR}/data/SettingSimPropertiesSuccess.json
${session}= Create Session policy http://${POLICY_PARTICIPANT_SIM_IP} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= PUT On Session policy /onap/policy/simparticipant/v2/parameters data=${postjson} headers=${headers}
Log Received response from participant sim ${resp.text}
Should Be Equal As Strings ${resp.status_code} 200