Add CSIT for multicloud-k8s
[integration/csit.git] / tests / multicloud-k8s / multicloud-k8s-test.robot
diff --git a/tests/multicloud-k8s/multicloud-k8s-test.robot b/tests/multicloud-k8s/multicloud-k8s-test.robot
new file mode 100644 (file)
index 0000000..36d4e66
--- /dev/null
@@ -0,0 +1,66 @@
+*** Settings ***
+Suite Setup       Run keywords      Check k8splugin API Docker Container      Created header    Created session
+Library       OperatingSystem
+Library       RequestsLibrary
+
+*** Variables ***
+
+*** Test Cases ***
+Create Definition
+    [Template]      Post template
+    /v1/rb/definition      create_rbdefinition.json
+
+Get Definition
+    [Template]  Get template
+    /v1/rb/definition
+    /v1/rb/definition/7eb09e38-4363-9942-1234-3beb2e95fd85
+
+Delete Definition
+    [Template]  Delete template
+    /v1/rb/definition/7eb09e38-4363-9942-1234-3beb2e95fd85
+
+*** Keywords ***
+Created session
+    Create Session      multicloud_k8s_session     http://${SERVICE_IP}:${SERVICE_PORT}
+    Set Suite Variable    ${suite_multicloud_k8s_session}    multicloud_k8s_session
+
+Created header
+    ${headers}=  Create Dictionary   Content-Type=application/json    Accept=application/json
+    Set Suite Variable    ${suite_headers}    ${headers}
+
+Delete template
+    [Documentation]    Deletes from Definition
+    [Arguments]    ${topic}
+    ${resp}=         Delete Request        ${suite_multicloud_k8s_session}   ${topic}   headers=${suite_headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    204
+
+Post template
+    [Documentation]    Create A Definition
+    [Arguments]    ${topic}     ${file}
+    ${data}          Get Binary File    ${CURDIR}${/}data${/}${file}
+    ${resp}=         Post Request       ${suite_multicloud_k8s_session}   ${topic}   data=${data}  headers=${suite_headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    201
+
+Get template
+    [Documentation]    Gets from Definition
+    [Arguments]    ${topic}
+    ${resp}=         Get Request        ${suite_multicloud_k8s_session}   ${topic}   headers=${suite_headers}
+    Log To Console              *********************
+    Log To Console              response = ${resp}
+    Log To Console              body = ${resp.text}
+    Should Be Equal As Integers    ${resp.status_code}    200
+
+Check k8splugin API Docker Container
+    [Documentation]    Checks if k8splugin docker container is running
+    ${rc}    ${output}=    Run and Return RC and Output    docker ps
+    Log To Console              *********************
+    Log To Console              retrurn_code = ${rc}
+    Log To Console              output = ${output}
+    Should Be Equal As Integers    ${rc}    0
+    Should Contain    ${output}    nexus3.onap.org:10001/onap/multicloud/k8s