| *** 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 |