summaryrefslogtreecommitdiffstats
path: root/helm/tests/distribution-test.robot
diff options
context:
space:
mode:
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-01-23 11:50:01 +0000
committerRamesh Murugan Iyer <ramesh.murugan.iyer@est.tech>2023-01-25 14:32:51 +0000
commit0700486a08b2bc08589f7e6b0be8338d6bbb4efa (patch)
tree01672a1fb035e629f1723b6b7de6f8a28218bfdb /helm/tests/distribution-test.robot
parent0132d7a9ea3ad03ed0350a7d89694420a4d8221c (diff)
Add robot framework helm chart for CSIT
Steps to run policy csit in kubernetes is updated in the README.md Issue-ID: POLICY-4532 Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech> Change-Id: I116658dfafd4e70bd256173f046da72af6803eaa
Diffstat (limited to 'helm/tests/distribution-test.robot')
-rw-r--r--helm/tests/distribution-test.robot57
1 files changed, 57 insertions, 0 deletions
diff --git a/helm/tests/distribution-test.robot b/helm/tests/distribution-test.robot
new file mode 100644
index 00000000..36503b38
--- /dev/null
+++ b/helm/tests/distribution-test.robot
@@ -0,0 +1,57 @@
+*** Settings ***
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Resource common-library.robot
+
+*** Test Cases ***
+
+Healthcheck
+ [Documentation] Verify policy distribution health check
+ ${hcauth}= HealthCheckAuth
+ ${resp}= PerformGetRequest ${POLICY_DISTRIBUTION_IP} /healthcheck 200 null ${hcauth}
+ Should Be Equal As Strings ${resp.json()['code']} 200
+
+Statistics
+ [Documentation] Verify policy distribution statistics
+ ${hcauth}= HealthCheckAuth
+ ${resp}= PerformGetRequest ${POLICY_DISTRIBUTION_IP} /statistics 200 null ${hcauth}
+ Should Be Equal As Strings ${resp.json()['code']} 200
+
+Metrics
+ [Documentation] Verify policy-distribution is exporting prometheus metrics
+ ${hcauth}= HealthCheckAuth
+ ${resp}= PerformGetRequest ${POLICY_DISTRIBUTION_IP} /metrics 200 null ${hcauth}
+ Should Contain ${resp.text} total_distribution_received_count_total 0.0
+ Should Contain ${resp.text} distribution_success_count_total 0.0
+ Should Contain ${resp.text} distribution_failure_count_total 0.0
+ Should Contain ${resp.text} total_download_received_count_total 0.0
+ Should Contain ${resp.text} download_success_count_total 0.0
+ Should Contain ${resp.text} download_failure_count_total 0.0
+
+InvokeDistributionAndRunEventOnEngine
+ Wait Until Keyword Succeeds 5 min 30 sec InvokeDistributionUsingFile And RunEventOnApexEngine
+
+MetricsAfterExecution
+ [Documentation] Verify policy-distribution is exporting prometheus metrics after execution
+ ${hcauth}= HealthCheckAuth
+ ${resp}= PerformGetRequest ${POLICY_DISTRIBUTION_IP} /metrics 200 null ${hcauth}
+ Should Contain ${resp.text} total_distribution_received_count_total 1.0
+ Should Contain ${resp.text} distribution_success_count_total 1.0
+ Should Contain ${resp.text} distribution_failure_count_total 0.0
+ Should Contain ${resp.text} total_download_received_count_total 1.0
+ Should Contain ${resp.text} download_success_count_total 1.0
+ Should Contain ${resp.text} download_failure_count_total 0.0
+
+*** Keywords ***
+
+InvokeDistributionUsingFile And RunEventOnApexEngine
+ Copy File ${SCRIPT_DIR}/csar/csar_temp.csar ${SCRIPT_DIR}/csar/temp.csar
+ Move File ${SCRIPT_DIR}/csar/temp.csar ${SCRIPT_DIR}/temp/sample_csar_with_apex_policy.csar
+ Sleep 20 seconds "Waiting for the Policy Distribution to call Policy API and PAP"
+ Create Session apexSession http://${APEX_IP}:23324 max_retries=1
+ ${data}= Get Binary File ${CURDIR}${/}data${/}event.json
+ &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
+ ${resp}= PUT On Session apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} expected_status=200
+ Remove Files ${SCRIPT_DIR}/temp/sample_csar_with_apex_policy.csar