diff options
Diffstat (limited to 'test/csit')
-rw-r--r-- | test/csit/plans/portal-sdk/testsuite/setup.sh | 2 | ||||
-rw-r--r-- | test/csit/plans/portal/testsuite/setup.sh | 2 | ||||
-rw-r--r-- | test/csit/plans/sdc/nightly/setup.sh | 40 | ||||
-rw-r--r-- | test/csit/plans/sdc/nightly/teardown.sh | 22 | ||||
-rw-r--r-- | test/csit/plans/sdc/nightly/testplan.txt | 3 | ||||
-rw-r--r-- | test/csit/plans/sdnc/healthcheck/setup.sh | 3 | ||||
-rw-r--r-- | test/csit/plans/sdnc/healthcheck/teardown.sh | 1 | ||||
-rw-r--r-- | test/csit/scripts/sdc/clone_and_setup_sdc_data.sh | 2 | ||||
-rw-r--r-- | test/csit/scripts/sdc/start_sdc_containers.sh | 69 | ||||
-rw-r--r-- | test/csit/tests/portal-sdk/testsuites/test1.robot | 10 | ||||
-rw-r--r-- | test/csit/tests/portal/testsuites/test1.robot | 2 | ||||
-rw-r--r-- | test/csit/tests/sdc/nightly/__init__.robot | 2 | ||||
-rw-r--r-- | test/csit/tests/sdc/nightly/test1.robot | 16 | ||||
-rw-r--r-- | test/csit/tests/sdnc/healthcheck/data/data.json | 4 | ||||
-rw-r--r-- | test/csit/tests/sdnc/healthcheck/data/preload.json | 41 | ||||
-rw-r--r-- | test/csit/tests/sdnc/healthcheck/test1.robot | 45 |
16 files changed, 218 insertions, 46 deletions
diff --git a/test/csit/plans/portal-sdk/testsuite/setup.sh b/test/csit/plans/portal-sdk/testsuite/setup.sh index 456a9343d..0c90dc66b 100644 --- a/test/csit/plans/portal-sdk/testsuite/setup.sh +++ b/test/csit/plans/portal-sdk/testsuite/setup.sh @@ -48,7 +48,7 @@ NEXUS_DOCKER_REPO=nexus3.onap.org:10003 CURR="$(pwd)" -git clone http://gerrit.onap.org/r/portal +git clone http://gerrit.onap.org/r/portal -b "release-1.3.0" # Refresh configuration and scripts cd portal diff --git a/test/csit/plans/portal/testsuite/setup.sh b/test/csit/plans/portal/testsuite/setup.sh index 456a9343d..0c90dc66b 100644 --- a/test/csit/plans/portal/testsuite/setup.sh +++ b/test/csit/plans/portal/testsuite/setup.sh @@ -48,7 +48,7 @@ NEXUS_DOCKER_REPO=nexus3.onap.org:10003 CURR="$(pwd)" -git clone http://gerrit.onap.org/r/portal +git clone http://gerrit.onap.org/r/portal -b "release-1.3.0" # Refresh configuration and scripts cd portal diff --git a/test/csit/plans/sdc/nightly/setup.sh b/test/csit/plans/sdc/nightly/setup.sh new file mode 100644 index 000000000..ac7a7f3f4 --- /dev/null +++ b/test/csit/plans/sdc/nightly/setup.sh @@ -0,0 +1,40 @@ +#!/bin/bash +# +# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Modifications copyright (c) 2017 AT&T Intellectual Property +# +# Place the scripts in run order: + + +mkdir ${WORKSPACE}/archives +chmod -R 777 ${WORKSPACE}/archives + +source ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh + +source ${WORKSPACE}/test/csit/scripts/sdc/start_sdc_containers.sh + +source ${WORKSPACE}/test/csit/scripts/sdc/docker_health.sh + +source ${WORKSPACE}/test/csit/scripts/sdc/start_sdc_sanity.sh + + +BE_IP=`get-instance-ip.sh sdc-BE` +echo BE_IP=${BE_IP} + + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v BE_IP:${BE_IP}" + diff --git a/test/csit/plans/sdc/nightly/teardown.sh b/test/csit/plans/sdc/nightly/teardown.sh new file mode 100644 index 000000000..a5f69819e --- /dev/null +++ b/test/csit/plans/sdc/nightly/teardown.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# +# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Modifications copyright (c) 2017 AT&T Intellectual Property +# + +source ${WORKSPACE}/test/csit/scripts/sdc/kill_containers_and_remove_dataFolders.sh + +# $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/test/csit/plans/sdc/nightly/testplan.txt b/test/csit/plans/sdc/nightly/testplan.txt new file mode 100644 index 000000000..3011ad5cb --- /dev/null +++ b/test/csit/plans/sdc/nightly/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +sdc/nightly diff --git a/test/csit/plans/sdnc/healthcheck/setup.sh b/test/csit/plans/sdnc/healthcheck/setup.sh index 53590264b..5e51b0e6a 100644 --- a/test/csit/plans/sdnc/healthcheck/setup.sh +++ b/test/csit/plans/sdnc/healthcheck/setup.sh @@ -120,6 +120,9 @@ if [ "$num_failed_bundles" -ge 1 ]; then echo " $failed_bundles" fi +# Sleep additional 120 to give application time to finish +sleep 120 + # Pass any variables required by Robot test suites in ROBOT_VARIABLES ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}" diff --git a/test/csit/plans/sdnc/healthcheck/teardown.sh b/test/csit/plans/sdnc/healthcheck/teardown.sh index 4d99b9f31..925e7b732 100644 --- a/test/csit/plans/sdnc/healthcheck/teardown.sh +++ b/test/csit/plans/sdnc/healthcheck/teardown.sh @@ -21,5 +21,6 @@ kill-instance.sh sdnc_controller_container kill-instance.sh sdnc_dgbuilder_container kill-instance.sh sdnc_portal_container kill-instance.sh sdnc_db_container +kill-instance.sh sdnc_ueblistener_container # $WORKSPACE/archives/appc deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh b/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh index c78ffe37c..5dbfb5fc2 100644 --- a/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh +++ b/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh @@ -34,7 +34,7 @@ ls -lR ${WORKSPACE}/data/logs/ cd ${WORKSPACE}/data/clone -git clone --depth 1 http://gerrit.onap.org/r/sdc -b master +git clone --depth 1 http://gerrit.onap.org/r/sdc -b ${GERRIT_BRANCH} chmod -R 777 ${WORKSPACE}/data/clone diff --git a/test/csit/scripts/sdc/start_sdc_containers.sh b/test/csit/scripts/sdc/start_sdc_containers.sh index 4db0485d5..0dd373256 100644 --- a/test/csit/scripts/sdc/start_sdc_containers.sh +++ b/test/csit/scripts/sdc/start_sdc_containers.sh @@ -35,6 +35,38 @@ export IP=$HOST_IP #export PREFIX=${NEXUS_DOCKER_REPO}'/openecomp' export PREFIX='nexus3.onap.org:10001/openecomp' + +function monitor_docker { + +echo monitor $1 Docker +sleep 5 +TIME_OUT=800 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + +MATCH=`docker logs --tail 30 $1 | grep "DOCKER STARTED"` +echo MATCH is -- $MATCH + +if [ -n "$MATCH" ] + then + echo DOCKER start finished in $TIME seconds + break + fi + + echo Sleep: $INTERVAL seconds before testing if $1 DOCKER is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + sleep $INTERVAL + TIME=$(($TIME+$INTERVAL)) +done + +if [ "$TIME" -ge "$TIME_OUT" ] + then + echo -e "\e[1;31mTIME OUT: DOCKER was NOT fully started in $TIME_OUT seconds... Could cause problems ...\e[0m" +fi + + +} + #start Elastic-Search docker run --detach --name sdc-es --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --memory 1g --memory-swap=1g --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro -e ES_HEAP_SIZE=1024M --volume ${WORKSPACE}/data/ES:/usr/share/elasticsearch/data --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9200:9200 --publish 9300:9300 ${PREFIX}/sdc-elasticsearch:${RELEASE} @@ -42,15 +74,7 @@ docker run --detach --name sdc-es --env ENVNAME="${DEP_ENV}" --log-driver=json-f docker run --detach --name sdc-cs --env RELEASE="${RELEASE}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9042:9042 --publish 9160:9160 ${PREFIX}/sdc-cassandra:${RELEASE} echo "please wait while CS is starting..." -echo "" -c=120 # seconds to wait -REWRITE="\e[25D\e[1A\e[K" -while [ $c -gt 0 ]; do - c=$((c-1)) - sleep 1 - echo -e "${REWRITE}$c" -done -echo -e "" +monitor_docker sdc-cs #start kibana @@ -60,34 +84,17 @@ echo -e "" docker run --detach --name sdc-BE --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 4g --memory-swap=4g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/BE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 8443:8443 --publish 8080:8080 ${PREFIX}/sdc-backend:${RELEASE} echo "please wait while BE is starting..." -echo "" -c=180 # seconds to wait -REWRITE="\e[45D\e[1A\e[K" -while [ $c -gt 0 ]; do - c=$((c-1)) - sleep 1 - echo -e "${REWRITE}$c" -done -echo -e "" +monitor_docker sdc-BE #start Front-End docker run --detach --name sdc-FE --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 2g --memory-swap=2g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/FE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9443:9443 --publish 8181:8181 ${PREFIX}/sdc-frontend:${RELEASE} -echo "please wait while FE is starting..." -echo "" -c=160 # seconds to wait -REWRITE="\e[45D\e[1A\e[K" -while [ $c -gt 0 ]; do - c=$((c-1)) - sleep 1 - echo -e "${REWRITE}$c" -done -echo -e "" +echo "docker run sdc-frontend..." +monitor_docker sdc-FE -# WAIT 5 minutes maximum and test every 5 seconds if SDC up using HealthCheck API -echo " WAIT 5 minutes maximum and test every 5 seconds if SDC up using HealthCheck API...." +echo " WAIT 1 minutes maximum and test every 5 seconds if SDC up using HealthCheck API...." -TIME_OUT=600 +TIME_OUT=60 INTERVAL=5 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do diff --git a/test/csit/tests/portal-sdk/testsuites/test1.robot b/test/csit/tests/portal-sdk/testsuites/test1.robot index f3e4017fb..84579d017 100644 --- a/test/csit/tests/portal-sdk/testsuites/test1.robot +++ b/test/csit/tests/portal-sdk/testsuites/test1.robot @@ -47,9 +47,14 @@ Portal admin Login To Portal GUI Portal Admin Navigation Application Link Tab [Documentation] Logs into Portal GUI as Portal admin - Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] - Page Should Contain ONAP Portal + Go To ${PORTAL_HOME_PAGE} + Dismiss Alert accept=false + #Scroll Element Into View xpath=//span[@id='tab-Home'] + #Click Element xpath=//span[@id='tab-Home'] + #Click Element xpath=(//span[@id='tab-xDemo-App']/following::i[@class='ion-close-round'])[1] + Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] + Validate SDK Sub Menu @@ -72,7 +77,6 @@ Click Sample Pages and validate sub Menu Click Link xpath=//a[@id='parent-item-Sample-Pages'] Click Link xpath=//a[contains(@title,'Notebook')] Element Text Should Be xpath=//h1[contains(.,'Notebook')] Notebook - #Click Link xpath=//a[@id='parent-item-Home'] Click Reports and validate sub Menu [Documentation] Click Reports Tab diff --git a/test/csit/tests/portal/testsuites/test1.robot b/test/csit/tests/portal/testsuites/test1.robot index ab5fed47e..70fdcf0d6 100644 --- a/test/csit/tests/portal/testsuites/test1.robot +++ b/test/csit/tests/portal/testsuites/test1.robot @@ -886,7 +886,7 @@ Application admin Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] #Set Selenium Implicit Wait 3000 - Click Button xpath=//button[contains(.,'Log out')] + Click Button xpath=//button[contains(text(),'Log out')] #Set Selenium Implicit Wait 3000 Title Should Be Login diff --git a/test/csit/tests/sdc/nightly/__init__.robot b/test/csit/tests/sdc/nightly/__init__.robot new file mode 100644 index 000000000..8ee10d5f6 --- /dev/null +++ b/test/csit/tests/sdc/nightly/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Sdc - HealthCheck diff --git a/test/csit/tests/sdc/nightly/test1.robot b/test/csit/tests/sdc/nightly/test1.robot new file mode 100644 index 000000000..6d4dc242d --- /dev/null +++ b/test/csit/tests/sdc/nightly/test1.robot @@ -0,0 +1,16 @@ +*** Settings *** +Library Collections +Library OperatingSystem +Library RequestsLibrary +Library json + +*** Test Cases *** +Get Requests health check ok + [Tags] get + CreateSession sdc-be http://localhost:8080 + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Get Request sdc-be /sdc2/rest/healthCheck headers=&{headers} + Should Be Equal As Strings ${resp.status_code} 200 + @{ITEMS}= Copy List ${resp.json()['componentsInfo']} + : FOR ${ELEMENT} IN @{ITEMS} + \ Log ${ELEMENT['healthCheckComponent']} ${ELEMENT['healthCheckStatus']} diff --git a/test/csit/tests/sdnc/healthcheck/data/data.json b/test/csit/tests/sdnc/healthcheck/data/data.json new file mode 100644 index 000000000..583e26fb9 --- /dev/null +++ b/test/csit/tests/sdnc/healthcheck/data/data.json @@ -0,0 +1,4 @@ +{ + "input" : { + } +} diff --git a/test/csit/tests/sdnc/healthcheck/data/preload.json b/test/csit/tests/sdnc/healthcheck/data/preload.json new file mode 100644 index 000000000..b53afa859 --- /dev/null +++ b/test/csit/tests/sdnc/healthcheck/data/preload.json @@ -0,0 +1,41 @@ +{ + "input": { + "vnf-topology-information": { + "vnf-topology-identifier": { + "service-type": "robot_demo", + "vnf-name": "vf_robot_module", + "vnf-type": "vf_robot_type", + "generic-vnf-name": "generic_vnf_name", + "generic-vnf-type": "generic_vnf_type" + }, + "vnf-assignments": { + "availability-zones": [], + "vnf-networks": [], + "vnf-vms": [] + }, + "vnf-parameters": [ + { + "vnf-parameter-name": "ngm1_management_ip_0", + "vnf-parameter-value":"127.0.0.1" + }, + { + "vnf-parameter-name": "ngm2_management_ip_1", + "vnf-parameter-value":"127.0.0.2" + } + ] + }, + "request-information": { + "request-id": "robot12", + "order-version": "1", + "notification-url": "openecomp.org", + "order-number": "1", + "request-action": "PreloadVNFRequest" + }, + "sdnc-request-header": { + "svc-request-id": "robot12", + "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify", + "svc-action": "reserve" + } + } +} + diff --git a/test/csit/tests/sdnc/healthcheck/test1.robot b/test/csit/tests/sdnc/healthcheck/test1.robot index 1adb9a6b3..4bf3d25e7 100644 --- a/test/csit/tests/sdnc/healthcheck/test1.robot +++ b/test/csit/tests/sdnc/healthcheck/test1.robot @@ -1,16 +1,45 @@ *** Settings *** -Library OperatingSystem -Library Process +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library String *** Variables *** +${SDN_APIDOCS_URI} /apidoc/apis +${SDN_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck +${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} /operations/VNF-API:preload-vnf-topology-operation -${health_check} ${SCRIPTS}/health_check.sh +*** Test Cases *** +Healthcheck API + Create Session sdnc http://localhost:8282/restconf + ${data}= Get Binary File ${CURDIR}${/}data${/}data.json + &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json + ${resp}= Post Request sdnc ${SDN_HEALTHCHECK_OPERATION_PATH} data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.json()['output']['response-code']} 200 + +Check SLI-API + Create Session sdnc http://localhost:8282 + &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json + ${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers} + Log ${resp.content} + Should Contain ${resp.content} SLI-API -*** Test Cases *** -Health check test case for SDNC - [Documentation] Health check - ${result_hc}= Run Process bash ${health_check} > log_hc.txt shell=yes - Should Be Equal As Integers ${result_hc.rc} 0 +Check VNF-API + Create Session sdnc http://localhost:8282 + &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json + ${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers} + Log ${resp.content} + Should Contain ${resp.content} VNF-API +Test Preload + Create Session sdnc http://localhost:8282/restconf + ${data}= Get Binary File ${CURDIR}${/}data${/}preload.json + &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json + ${resp}= Post Request sdnc ${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} data=${data} headers=${headers} + Log ${resp.content} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.json()['output']['response-code']} 200 |