RestConfCollector CSIT test cases 92/84692/2
authorsharath <sharathkumarboyanapally@gmail.com>
Tue, 9 Apr 2019 14:22:09 +0000 (19:52 +0530)
committerSwarup Nayak <swarup.nayak1@huawei.com>
Tue, 9 Apr 2019 18:31:38 +0000 (18:31 +0000)
Issue-ID: DCAEGEN2-1055
Change-Id: I70dc5d957e49abc4adcaa5a0ecd5e4c0ca7526dd
Signed-off-by: sharath <sharathkumarboyanapally@gmail.com>
plans/dcaegen2-collectors-restconf/testsuites/setup.sh [new file with mode: 0755]
plans/dcaegen2-collectors-restconf/testsuites/teardown.sh [new file with mode: 0755]
plans/dcaegen2-collectors-restconf/testsuites/testplan.txt [new file with mode: 0755]
tests/dcaegen2-collectors-restconf/testcases/__init__.robot [new file with mode: 0644]
tests/dcaegen2-collectors-restconf/testcases/dcae_rcc.robot [new file with mode: 0644]
tests/dcaegen2-collectors-restconf/testcases/resources/DcaeLibrary.py [new file with mode: 0644]
tests/dcaegen2-collectors-restconf/testcases/resources/dcae_keywords.robot [new file with mode: 0644]
tests/dcaegen2-collectors-restconf/testcases/resources/dcae_properties.robot [new file with mode: 0644]
tests/dcaegen2-collectors-restconf/testcases/resources/index.htm [new file with mode: 0644]

diff --git a/plans/dcaegen2-collectors-restconf/testsuites/setup.sh b/plans/dcaegen2-collectors-restconf/testsuites/setup.sh
new file mode 100755 (executable)
index 0000000..c1b4f34
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+#get current host IP addres
+HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
+
+RCC_IMAGE=nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:latest
+echo RCC_IMAGE=${RCC_IMAGE}
+
+# Start DCAE Restconf Collector
+docker run -d -p 8080:8080/tcp -p 8443:8443/tcp -P --name rcc -e DMAAPHOST=${HOST_IP} ${RCC_IMAGE}
+
+RCC_IP=`get-instance-ip.sh rcc`
+export RCC_IP=${RCC_IP}
+export HOST_IP=${HOST_IP}
+
+export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/tests/dcaegen2-collectors-restconf/testcases/resources"
+
+pip install jsonschema uuid
+# Wait container ready
+sleep 5
+
diff --git a/plans/dcaegen2-collectors-restconf/testsuites/teardown.sh b/plans/dcaegen2-collectors-restconf/testsuites/teardown.sh
new file mode 100755 (executable)
index 0000000..1816f16
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+kill-instance.sh rcc
\ No newline at end of file
diff --git a/plans/dcaegen2-collectors-restconf/testsuites/testplan.txt b/plans/dcaegen2-collectors-restconf/testsuites/testplan.txt
new file mode 100755 (executable)
index 0000000..66a7071
--- /dev/null
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+dcaegen2-collectors-restconf/testcases
diff --git a/tests/dcaegen2-collectors-restconf/testcases/__init__.robot b/tests/dcaegen2-collectors-restconf/testcases/__init__.robot
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/dcaegen2-collectors-restconf/testcases/dcae_rcc.robot b/tests/dcaegen2-collectors-restconf/testcases/dcae_rcc.robot
new file mode 100644 (file)
index 0000000..7417147
--- /dev/null
@@ -0,0 +1,23 @@
+*** Settings ***
+Documentation    Testing DCAE Restconf Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios
+Library          RequestsLibrary   
+Library           OperatingSystem
+Library           Collections
+Library           DcaeLibrary
+Resource          ./resources/dcae_keywords.robot
+Resource          ../../common.robot
+Test Setup        Init RCC
+Suite Setup       Run keywords  Create rcc sessions  Create rcc header
+Suite Teardown    teardown rcc
+
+*** Variables ***
+${RCC_URL_HTTPS}                        https://%{RCC_IP}:8443
+${RCC_URL}                              http://%{RCC_IP}:8080
+
+*** Test Cases ***
+Restconf Collector Health Check
+    [Tags]    DCAE-RCC-R1
+    [Documentation]   Restconf Collector Health Check
+    ${headers}=  Create Dictionary     Accept=*/*
+    ${resp}=   Get Request     ${suite_dcae_rcc_url_session}   /healthcheck        headers=${headers}
+    Should Be Equal As Strings         ${resp.status_code}     200  
diff --git a/tests/dcaegen2-collectors-restconf/testcases/resources/DcaeLibrary.py b/tests/dcaegen2-collectors-restconf/testcases/resources/DcaeLibrary.py
new file mode 100644 (file)
index 0000000..d484874
--- /dev/null
@@ -0,0 +1,20 @@
+from robot.api import logger
+import time
+
+class DcaeLibrary(object):
+    
+    def __init__(self):
+        pass
+
+    @staticmethod
+    def init_rcc():
+        logger.console("RestConf collector init and cleanup are done")
+        return "true"
+
+    @staticmethod
+    def teardown_rcc():
+        logger.console("RestConf collector teardown done")
+        return "true"
+
+if __name__ == '__main__':
+    time.sleep(100000)
diff --git a/tests/dcaegen2-collectors-restconf/testcases/resources/dcae_keywords.robot b/tests/dcaegen2-collectors-restconf/testcases/resources/dcae_keywords.robot
new file mode 100644 (file)
index 0000000..172210f
--- /dev/null
@@ -0,0 +1,23 @@
+*** Settings ***
+Documentation     The main interface for interacting with DCAE. It handles low level stuff like managing the http request library and DCAE required fields
+Library              RequestsLibrary
+Library                  DcaeLibrary   
+Library           OperatingSystem
+Library           Collections
+Resource          ../resources/dcae_properties.robot
+
+*** Variables ***
+${DCAE_HEALTH_CHECK_BODY}    %{WORKSPACE}/tests/dcae/testcases/assets/json_events/dcae_healthcheck.json
+
+*** Keywords ***
+Create rcc sessions
+    [Documentation]  Create all required sessions
+    Create Session    dcae_rcc_url    ${RCC_URL}
+    Set Suite Variable    ${suite_dcae_rcc_url_session}    dcae_rcc_url
+    ${auth}=  Create List  ${RCC_HTTPS_USER}   ${RCC_HTTPS_PD}
+    Create Session    dcae_rcc_url_https    ${RCC_URL_HTTPS}  auth=${auth}  disable_warnings=1
+    Set Suite Variable    ${suite_dcae_rcc_url_https_session}    dcae_rcc_url_https
+
+Create rcc header
+    ${headers}=    Create Dictionary    Content-Type=application/json
+    Set Suite Variable    ${suite_headers}    ${headers}
diff --git a/tests/dcaegen2-collectors-restconf/testcases/resources/dcae_properties.robot b/tests/dcaegen2-collectors-restconf/testcases/resources/dcae_properties.robot
new file mode 100644 (file)
index 0000000..3ba7690
--- /dev/null
@@ -0,0 +1,14 @@
+*** Settings ***
+Documentation        store all properties that can change or are used in multiple places here
+...                    format is all caps with underscores between words and prepended with GLOBAL
+...                   make sure you prepend them with GLOBAL so that other files can easily see it is from this file.
+
+*** Variables ***
+${GLOBAL_APPLICATION_ID}           robot-dcaegen2
+${GLOBAL_DCAE_CONSUL_URL}          http://135.205.228.129:8500
+${GLOBAL_DCAE_CONSUL_URL1}         http://135.205.228.170:8500
+${GLOBAL_DCAE_VES_URL}             http://localhost:8443/eventlistener/v5
+${GLOBAL_DCAE_USERNAME}            console
+${GLOBAL_DCAE_PASSWORD}            ZjJkYjllMjljMTI2M2Iz
+${RCC_HTTPS_USER}                 sample1
+${RCC_HTTPS_PD}                   sample1
diff --git a/tests/dcaegen2-collectors-restconf/testcases/resources/index.htm b/tests/dcaegen2-collectors-restconf/testcases/resources/index.htm
new file mode 100644 (file)
index 0000000..5ab2f8a
--- /dev/null
@@ -0,0 +1 @@
+Hello
\ No newline at end of file