diff options
Diffstat (limited to 'test/csit')
33 files changed, 1091 insertions, 451 deletions
diff --git a/test/csit/plans/aai/esr-server/setup.sh b/test/csit/plans/aai/esr-server/setup.sh index 16e780117..a2cfa5e8d 100644 --- a/test/csit/plans/aai/esr-server/setup.sh +++ b/test/csit/plans/aai/esr-server/setup.sh @@ -32,7 +32,9 @@ MSB_IP=`get-instance-ip.sh msb_internal_apigateway` echo MSB_IP=${MSB_IP} # Start esr-server -docker run -d --name esr-server --env msbDiscoveryIp=${DISCOVERY_IP} --env msbDiscoveryPort=10081 nexus3.onap.org:10001/onap/aai/esr-server +#docker run -d --name esr-server --env msbDiscoveryIp=${DISCOVERY_IP} --env msbDiscoveryPort=10081 nexus3.onap.org:10001/onap/aai/esr-server +#sudo docker run -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/aai/esr-server -p 9518:9518 -d --net=host --name esr-server +docker run -d --name esr-server -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/aai/esr-server #source ${SCRIPTS}/aai/esr-server/startup.sh i-esrserver ${MSB_IP} 80 ESRSERVER_IP=`get-instance-ip.sh esr-server` echo ESRSERVER_IP=${ESRSERVER_IP} diff --git a/test/csit/plans/policy/health/setup.sh b/test/csit/plans/policy/health/setup.sh index bfea1ac1c..21f58eb66 100755 --- a/test/csit/plans/policy/health/setup.sh +++ b/test/csit/plans/policy/health/setup.sh @@ -34,8 +34,6 @@ ${WORKSPACE}/test/csit/scripts/policy/mock-hello.sh ${MOCK_IP} source ${WORKSPACE}/test/csit/scripts/policy/script1.sh -sleep 3m - # Pass any variables required by Robot test suites in ROBOT_VARIABLES ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP} -v IP:${IP} -v POLICY_IP:${POLICY_IP} -v PDP_IP:${PDP_IP} -v DOCKER_IP:${DOCKER_IP}" export PDP_IP=${PDP_IP} @@ -44,4 +42,4 @@ export DOCKER_IP=${DOCKER_IP} #Get current IP of VM HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -export HOST_IP=${HOST_IP}
\ No newline at end of file +export HOST_IP=${HOST_IP} diff --git a/test/csit/plans/policy/health/teardown.sh b/test/csit/plans/policy/health/teardown.sh index f79e75d89..f1f0b21ce 100755 --- a/test/csit/plans/policy/health/teardown.sh +++ b/test/csit/plans/policy/health/teardown.sh @@ -34,4 +34,3 @@ kill_instance mariadb rm -fr "${WORK_DIR}" - diff --git a/test/csit/plans/portal-sdk/testsuite/.env b/test/csit/plans/portal-sdk/testsuite/.env new file mode 100644 index 000000000..1e882a0b3 --- /dev/null +++ b/test/csit/plans/portal-sdk/testsuite/.env @@ -0,0 +1,22 @@ +# Environment settings +# used by docker-compose AND by other shell scripts +# Host directory with config files + +LOGS_DIR=./logs +PROPS_DIR=./properties + + +# Directory within containers +WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps + +# Following are ALSO used in demo/boot/portal_vm_init.sh +EP_IMG_NAME=onap/portal-apps +DB_IMG_NAME=onap/portal-db +WMS_IMG_NAME=onap/portal-wms +CLI_IMG_NAME=onap/cli + +# Tag all images with this +PORTAL_TAG=1.3.0 +DOCKER_IMAGE_VERSION=1.3-STAGING-latest +CLI_DOCKER_VERSION=1.1-STAGING-latest +NEXUS_DOCKER_REPO=nexus3.onap.org:10003 diff --git a/test/csit/plans/portal-sdk/testsuite/docker-compose.yml b/test/csit/plans/portal-sdk/testsuite/docker-compose.yml new file mode 100644 index 000000000..b92766f5b --- /dev/null +++ b/test/csit/plans/portal-sdk/testsuite/docker-compose.yml @@ -0,0 +1,95 @@ +# docker-compose for ONAP portal containers: database, microservice, portal apps. +# Relies on .env file in current directory. +# Works in multiple environments; does not pull from a Nexus registry. +# Exposes the portal apps docker (but not DB nor WMS dockers) on the host network. +# Images must be pulled from ONAP Nexus registry after logging in like this: +# docker login -u USER -p PASS nexus3.onap.org:10001 + +version: '2.0' + +services: + + cli: + image: ${CLI_IMG_NAME}:${PORTAL_TAG} + environment: + CLI_MODE: 'daemon' + ports: + - 8080:80 + - 9090:8080 + logging: + driver: json-file + + # Config files may use hostname "portal-db" + portal-db: + image: ${DB_IMG_NAME}:${PORTAL_TAG} + environment: + MYSQL_ROOT_PASSWORD: 'Aa123456' + expose: + - 3306 + volumes: + # Just specify a path and let the Engine create a volume + - /var/lib/mysql + logging: + driver: json-file + + # An environment variable here CAN override the database URL; + # instead the value in the config file uses hostname from above + portal-wms: + image: ${WMS_IMG_NAME}:${PORTAL_TAG} + expose: + - 8082 + links: + - portal-db + depends_on: + - portal-db + volumes: + - ${PROPS_DIR}/ECOMPWIDGETMS/application.properties:/application.properties + command: + - /wait-for.sh + - -t + - "420" + - portal-db:3306 + - -- + - /start-wms-cmd.sh + logging: + driver: json-file + + # Environment variables here CANNOT override the database URL because + # two apps use identical configuration keys with different values + portal-apps: + image: ${EP_IMG_NAME}:${PORTAL_TAG} + expose: + - 8989 + ports: + - 8989:8080 + - 8010:8009 + - 8006:8005 + links: + - portal-db + - portal-wms + depends_on: + - portal-db + - portal-wms + volumes: + - ${PROPS_DIR}/ECOMPPORTALAPP/system.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ECOMPPORTALAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/fusion/conf/fusion.properties + - ${PROPS_DIR}/ECOMPPORTALAPP/portal.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ECOMPPORTALAPP/openid-connect.properties:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/openid-connect.properties + - ${PROPS_DIR}/ECOMPPORTALAPP/logback.xml:${WEBAPPS_DIR}/ECOMPPORTAL/WEB-INF/classes/logback.xml + - ${PROPS_DIR}/ECOMPSDKAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/fusion/conf/fusion.properties + - ${PROPS_DIR}/ECOMPSDKAPP/system.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ECOMPSDKAPP/portal.properties:${WEBAPPS_DIR}/ECOMPSDKAPP/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ECOMPDBCAPP/system.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ECOMPDBCAPP/portal.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ECOMPDBCAPP/dbcapp.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/dbcapp/dbcapp.properties + - ${PROPS_DIR}/ECOMPDBCAPP/fusion.properties:${WEBAPPS_DIR}/ECOMPDBCAPP/WEB-INF/fusion/conf/fusion.properties + - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs + command: + - /wait-for.sh + - -t + - "420" + - portal-db:3306 + - -- + - /start-apps-cmd.sh + logging: + driver: json-file diff --git a/test/csit/plans/portal-sdk/testsuite/setup.sh b/test/csit/plans/portal-sdk/testsuite/setup.sh new file mode 100644 index 000000000..71d110521 --- /dev/null +++ b/test/csit/plans/portal-sdk/testsuite/setup.sh @@ -0,0 +1,166 @@ +#!/bin/bash +# Starts docker containers for ONAP Portal +# This version for Amsterdam/R1 of Portal, uses docker-compose. +# Temporarily maintained in portal/deliveries area; +# replicated from the ONAP demo/boot area due to release concerns. + +# Start Xvfb +echo -e "Starting Xvfb on display ${DISPLAY} with res ${RES}" +Xvfb ${DISPLAY} -ac -screen 0 ${RES} +extension RANDR & +XVFBPID=$! +# Get pid of this spawned process to make sure we kill the correct process later + +#Get current IP of VM +HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') +export HOST_IP=${HOST_IP} + +if ! ifconfig docker0; then +if ! ifconfig ens3; then +echo "Could not determine IP address" +exit 1 +fi +export DOCKER_IP_IP=`ifconfig ens3 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +else +export DOCKER_IP=`ifconfig docker0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +fi +echo $DOCKER_IP + + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +#ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP} -v IP:${IP} -v POLICY_IP:${POLICY_IP} -v DOCKER_IP:${DOCKER_IP}" +#export PORTAL_IP=${PORTAL_IP} +ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP} -v IP:${IP} -v DOCKER_IP:${DOCKER_IP}" +export DOCKER_IP=${DOCKER_IP} + + +# be verbose +set -x + +# Establish environment variables +NEXUS_USERNAME=docker +NEXUS_PASSWD=docker +NEXUS_DOCKER_REPO=nexus3.onap.org:10003 + + + +CURR="$(pwd)" +git clone http://gerrit.onap.org/r/portal + +# Refresh configuration and scripts +cd portal +git pull +cd deliveries +rm .env +rm docker-compose.yml +cp $CURR/.env . +cp $CURR/docker-compose.yml . +#cd properties_rackspace/ECOMPPORTALAPP +#rm system.properties +#cp $CURR/system.properties . +#cd ../.. +# Get image names used below from docker-compose environment file +source $CURR/.env + +# Copy property files to new directory +mkdir -p $PROPS_DIR +cp -r properties_rackspace/* $PROPS_DIR +# Also create logs directory +mkdir -p $LOGS_DIR + + +# Refresh images +docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO +docker pull $NEXUS_DOCKER_REPO/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$CLI_IMG_NAME:$CLI_DOCKER_VERSION + +# Tag them as expected by docker-compose file +docker tag $NEXUS_DOCKER_REPO/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/$CLI_IMG_NAME:$CLI_DOCKER_VERSION $CLI_IMG_NAME:$PORTAL_TAG + + +# compose is not in /usr/bin +docker-compose down +docker-compose up -d + +#${HOSTNAME}="portal.api.simpledemo.openecomp.org" +#echo "$HOST_IP ${HOSTNAME}" >> /etc/hosts + +#echo "$HOST_IP portal.api.simpledemo.openecomp.org" >> /etc/hosts +#sudo sed -i "2i$HOST_IP portal.api.simpledemo.openecomp.org" /etc/hosts + +#HOST="portal.api.simpledemo.openecomp.org" +#sudo sed -i "/$HOST/ s/.*/$HOST_IP\t$HOST/g" /etc/hosts + +# insert/update hosts entry +ip_address=$HOST_IP +host_name="portal.api.simpledemo.openecomp.org" +# find existing instances in the host file and save the line numbers +matches_in_hosts="$(grep -n $host_name /etc/hosts | cut -f1 -d:)" +host_entry="${ip_address} ${host_name}" + +echo "$host_entry" + +if [ ! -z "$matches_in_hosts" ] +then +echo "Updating existing hosts entry." +# iterate over the line numbers on which matches were found +while read -r line_number; do +# replace the text of each line with the desired host entry +sudo sed -i '' "${line_number}s/.*/${host_entry} /" /etc/hosts +echo "${line_number} ${host_entry}" +done <<< "$matches_in_hosts" +else +echo "Adding new hosts entry." +echo "$host_entry" | sudo tee -a /etc/hosts > /dev/null +fi + +sleep 3m + +# WAIT 5 minutes maximum and test every 5 seconds if Portal up using HealthCheck API +TIME_OUT=500 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://portal.api.simpledemo.openecomp.org:8989/ECOMPPORTAL/portalApi/healthCheck); echo $response + + if [ "$response" == "200" ]; then + echo Portal and its database well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if Portal 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 TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... +fi + +#sleep 3m + + + +#if [ "$TIME" -ge "$TIME_OUT" ]; then +# echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... +#fi + + + + + +#Get current IP of VM +HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') +export HOST_IP=${HOST_IP} + +docker logs deliveries_portal-db_1 +docker logs deliveries_portal-apps_1 +docker logs deliveries_portal-wms_1 + + + + diff --git a/test/csit/plans/portal-sdk/testsuite/teardown.sh b/test/csit/plans/portal-sdk/testsuite/teardown.sh new file mode 100644 index 000000000..e0431a72f --- /dev/null +++ b/test/csit/plans/portal-sdk/testsuite/teardown.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# Copyright 2017 AT&T Intellectual Property. All rights reserved. +# +# 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. +# + +docker kill $(docker ps -q) + + diff --git a/test/csit/plans/portal-sdk/testsuite/testplan.txt b/test/csit/plans/portal-sdk/testsuite/testplan.txt new file mode 100644 index 000000000..27f8af34a --- /dev/null +++ b/test/csit/plans/portal-sdk/testsuite/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +portal-sdk/testsuites diff --git a/test/csit/plans/portal/testsuite/.env b/test/csit/plans/portal/testsuite/.env index 8fb2357b6..0b7de9560 100644 --- a/test/csit/plans/portal/testsuite/.env +++ b/test/csit/plans/portal/testsuite/.env @@ -1,6 +1,5 @@ # Environment settings # used by docker-compose AND by other shell scripts - # Host directory with config files LOGS_DIR=./logs @@ -11,13 +10,24 @@ PROPS_DIR=./properties WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps # Following are ALSO used in demo/boot/portal_vm_init.sh -EP_IMG_NAME=portal-apps -DB_IMG_NAME=portal-db -WMS_IMG_NAME=portal-wms +EP_IMG_NAME=onap/portal-apps +DB_IMG_NAME=onap/portal-db +WMS_IMG_NAME=onap/portal-wms CLI_IMG_NAME=onap/cli # Tag all images with this PORTAL_TAG=1.3.0 DOCKER_IMAGE_VERSION=1.3-STAGING-latest CLI_DOCKER_VERSION=1.1-STAGING-latest -NEXUS_REPO=nexus3.onap.org:10003 +NEXUS_DOCKER_REPO=nexus3.onap.org:10003 + + +# Optional settings with no defaults. +EXTRA_HOST_IP="" +EXTRA_HOST_NAME="" +# Export shell environment variables on hosts with no DNS; +# a line is added to docker container's /etc/hosts. +# For example: +#EXTRA_HOST_IP="-i ${HOST_IP}" +#EXTRA_HOST_NAME="-n portal.api.simpledemo.openecomp.org" + diff --git a/test/csit/plans/portal/testsuite/docker-compose.yml b/test/csit/plans/portal/testsuite/docker-compose.yml index f40a106e9..7a9fb8caa 100644 --- a/test/csit/plans/portal/testsuite/docker-compose.yml +++ b/test/csit/plans/portal/testsuite/docker-compose.yml @@ -13,10 +13,9 @@ services: image: ${CLI_IMG_NAME}:${PORTAL_TAG} environment: CLI_MODE: 'daemon' - expose: - - 80 ports: - 8080:80 + - 9090:8080 logging: driver: json-file @@ -48,7 +47,7 @@ services: command: - /wait-for.sh - -t - - "300" + - "420" - portal-db:3306 - -- - /start-wms-cmd.sh @@ -88,9 +87,12 @@ services: command: - /wait-for.sh - -t - - "300" + - "420" - portal-db:3306 - -- - /start-apps-cmd.sh + # see comments in .env file + - $EXTRA_HOST_IP + - $EXTRA_HOST_NAME logging: driver: json-file diff --git a/test/csit/plans/portal/testsuite/setup.sh b/test/csit/plans/portal/testsuite/setup.sh index c3e9e5160..2091d14e0 100644 --- a/test/csit/plans/portal/testsuite/setup.sh +++ b/test/csit/plans/portal/testsuite/setup.sh @@ -14,6 +14,8 @@ XVFBPID=$! HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') export HOST_IP=${HOST_IP} + + if ! ifconfig docker0; then if ! ifconfig ens3; then echo "Could not determine IP address" @@ -35,10 +37,6 @@ export DOCKER_IP=${DOCKER_IP} - - - - # be verbose set -x @@ -60,38 +58,44 @@ rm .env rm docker-compose.yml cp $CURR/.env . cp $CURR/docker-compose.yml . -#cd properties_rackspace/ECOMPPORTALAPP +#cd properties_simpledemo/ECOMPPORTALAPP #rm system.properties #cp $CURR/system.properties . #cd ../.. # Get image names used below from docker-compose environment file source $CURR/.env +#source .env + +# Make inter-app communication work in CSIT +export EXTRA_HOST_IP="-i ${HOST_IP}" +export EXTRA_HOST_NAME="-n portal.api.simpledemo.openecomp.org" + # Copy property files to new directory mkdir -p $PROPS_DIR -cp -r properties_rackspace/* $PROPS_DIR +cp -r properties_simpledemo/* $PROPS_DIR # Also create logs directory mkdir -p $LOGS_DIR # Refresh images docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO -docker pull $NEXUS_DOCKER_REPO/onap/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION -docker pull $NEXUS_DOCKER_REPO/onap/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION -docker pull $NEXUS_DOCKER_REPO/onap/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION docker pull $NEXUS_DOCKER_REPO/$CLI_IMG_NAME:$CLI_DOCKER_VERSION # Tag them as expected by docker-compose file -docker tag $NEXUS_DOCKER_REPO/onap/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG -docker tag $NEXUS_DOCKER_REPO/onap/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG -docker tag $NEXUS_DOCKER_REPO/onap/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/${DB_IMG_NAME}:$DOCKER_IMAGE_VERSION $DB_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/${EP_IMG_NAME}:$DOCKER_IMAGE_VERSION $EP_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/${WMS_IMG_NAME}:$DOCKER_IMAGE_VERSION $WMS_IMG_NAME:$PORTAL_TAG docker tag $NEXUS_DOCKER_REPO/$CLI_IMG_NAME:$CLI_DOCKER_VERSION $CLI_IMG_NAME:$PORTAL_TAG + # compose is not in /usr/bin docker-compose down docker-compose up -d - #${HOSTNAME}="portal.api.simpledemo.openecomp.org" #echo "$HOST_IP ${HOSTNAME}" >> /etc/hosts @@ -126,8 +130,10 @@ fi +sleep 3m + # WAIT 5 minutes maximum and test every 5 seconds if Portal up using HealthCheck API -TIME_OUT=460 +TIME_OUT=500 INTERVAL=20 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do @@ -163,7 +169,7 @@ fi HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') export HOST_IP=${HOST_IP} - +#docker logs deliveries_portal-db_1 docker logs deliveries_portal-apps_1 docker logs deliveries_portal-wms_1 diff --git a/test/csit/scripts/policy/script1.sh b/test/csit/scripts/policy/script1.sh index 473ef0dd8..30fb39586 100755 --- a/test/csit/scripts/policy/script1.sh +++ b/test/csit/scripts/policy/script1.sh @@ -94,47 +94,58 @@ export MTU=9126 docker-compose -f docker-compose-integration.yml up -d +if [ ! $? -eq 0 ]; then + echo "Docker compose failed" + exit 1 +fi + docker ps -docker inspect drools +#sleep 4m POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools` echo ${POLICY_IP} -sleep 3m - -docker inspect pdp - PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp` echo ${PDP_IP} -sleep 3m +PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap` +echo ${PAP_IP} + +BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw` +echo ${BRMS_IP} + +NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus` +echo ${NEXUS_IP} -#for i in {1..60}; do -TIME_OUT=6000 +MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` +echo ${MARIADB_IP} + +${DIR}/wait_for_port.sh ${MARIADB_IP} 3306 +${DIR}/wait_for_port.sh ${PAP_IP} 9091 +${DIR}/wait_for_port.sh ${PDP_IP} 8081 +${DIR}/wait_for_port.sh ${BRMS_IP} 9989 +${DIR}/wait_for_port.sh ${NEXUS_IP} 8081 +${DIR}/wait_for_port.sh ${POLICY_IP} 6969 + +TIME_OUT=600 INTERVAL=20 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do curl -i --user healthcheck:zb!XztG34 -H "ContentType: application/json" -H "Accept: application/json" ${POLICY_IP}:6969/healthcheck && break - echo sleep $i - sleep $i -echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds sleep $INTERVAL TIME=$(($TIME+$INTERVAL)) done -#curl -v --silent -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X POST -d '{"policyName": "*.*"}' - -TIME_OUT=6000 +TIME_OUT=600 INTERVAL=20 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do - curl -v --silent -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X POST -d '{"policyName": "*.*"}' http://${PDP_IP}:8081/pdp/api/getConfig && break - echo sleep $i - sleep $i + curl -i -v -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X POST -d '{"policyName": ".*"}' http://${PDP_IP}:8081/pdp/api/getConfig && break echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds sleep $INTERVAL @@ -142,3 +153,7 @@ echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up done +# +# Add more sleep for everything to settle +# +sleep 3m diff --git a/test/csit/scripts/policy/wait_for_port.sh b/test/csit/scripts/policy/wait_for_port.sh new file mode 100755 index 000000000..10f08ded1 --- /dev/null +++ b/test/csit/scripts/policy/wait_for_port.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "Usage: wait-for-port hostname port" >&2 + exit 1 +fi + +host=$1 +port=$2 + +echo "Waiting for $host port $port open" +until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do + sleep 1 +done + +echo "$host port $port is open" + +exit 0 diff --git a/test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot b/test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot new file mode 100644 index 000000000..b869434fc --- /dev/null +++ b/test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot @@ -0,0 +1,10 @@ +*** 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_VNF_RESTART_REQUESTFILE} ${CURDIR}/LCM_VNF_RESTART_REQUEST.txt +${GLOBAL_VM_RESTART_REQUESTFILE} ${CURDIR}/LCM_VM_RESTART_REQUEST.txt +${GLOBAL_HEALTHCHECK_REQUESTFILE} ${CURDIR}/LCM_VM_HEALTHCHECK_REQUEST.txt
\ No newline at end of file diff --git a/test/csit/tests/appc/healthcheck/APPC_Netstat.robot b/test/csit/tests/appc/healthcheck/APPC_Netstat.robot new file mode 100644 index 000000000..285fc3727 --- /dev/null +++ b/test/csit/tests/appc/healthcheck/APPC_Netstat.robot @@ -0,0 +1,8 @@ +*** Settings *** +Library OperatingSystem + +*** Test Cases *** +APPC Netstat + [Documentation] Checking the active ports + ${output}= Run netstat -a | grep -E 8282 | grep LISTEN + Log To Console ${output} diff --git a/test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot new file mode 100644 index 000000000..2259f3f69 --- /dev/null +++ b/test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot @@ -0,0 +1,52 @@ +*** Settings *** +Library Selenium2Library +Library OperatingSystem +Library XvfbRobot +Resource APPC_GLOBAL_VARIABLES.robot +Resource gettime.robot + +*** Variable *** +${ResponseCode} +${var} + +*** Test Cases *** + +APPC LCM API HEALTHCHECK + [Documentation] APPC LCM API HEALTHCHECK + Start Virtual Display 1920 1080 + Open Browser http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html chrome + Maximize Browser Window +# Click Element xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img + + Reload Page + +# Wait Until Page Contains Element xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')] + +# Set Selenium Speed 60 +# Click Element xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')] + + +# wait until page contains element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')] +# Set Selenium Speed 60 +# Click link xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]/following::li[5]/ul/li/div[1]/h3/span[2]/a +# Click Element xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0"]/div[1]/h3/span[2]/a + +# Get Server time ${GLOBAL_HEALTHCHECK_REQUESTFILE} +# ${file_content}= OperatingSystem.Get File ${GLOBAL_HEALTHCHECK_REQUESTFILE} + +# wait until page contains element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table +# Set Selenium Speed 90 +# Input Text xpath=(.//*[contains(text(),'(health-check)input-TOP')])[1]/following::textarea[1] ${file_content} +# Input Text xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table//tbody/tr/td[2]/textarea ${file_content} + +# wait until page contains element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1] +# Set Selenium Speed 90 +# Click Element xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/form/div[2]/input + +## ${var}= Get Value xpath= //*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre +## Element Text Should Be xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre[1][text()='200'] 200 expected + +Tear Down + + [Documentation] Close all browsers + Close All Browsers
\ No newline at end of file diff --git a/test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt b/test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt new file mode 100644 index 000000000..d258b492b --- /dev/null +++ b/test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt @@ -0,0 +1,25 @@ +{ +"input" : +{ +"common-header" : +{ +"timestamp" : "2017-10-07T01:28:39.615000Z", +"api-ver" : "2.00", +"originator-id" : "SDNGP", +"request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1", +"sub-request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1", +"flags" : +{ +"mode" : "NORMAL", +"force" : "TRUE", +"ttl" : 3600 +} +}, +"action" : "HealthCheck", +"action-identifiers" : +{ +"vnf-id" : "dbax001v" +}, +"payload" : "{\"request-parameters\":{\"vnf-name\":\"dbax001v\",\"vnf-host-ip-address\":\"https://135.205.240.68:8080/Dispatch/\"},\"configuration-parameters\":{\"vnf_instance\":\"dbax001v\"}}" +} +} diff --git a/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt new file mode 100644 index 000000000..5e199c97e --- /dev/null +++ b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt @@ -0,0 +1,24 @@ +{ +"input" : +{ +"common-header" : +{ +"timestamp" : "2017-09-29T16:30:05.44Z", +"api-ver" : "2.01", +"originator-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2", +"request-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2", +"sub-request-id" : "150", +"flags" : +{ +"force" : "TRUE", +"ttl" : 60000 +} +}, +"action" : "Restart", +"action-identifiers" : +{ +"vnf-id" : "trial-vnf-004" +}, +"payload" : "{\"vm-id\":\"http://135.25.246.131:8774/v2/81fc2bc61f974de1b5a49e8c2ec090bb/servers/7c95ba81-4aad-4b13-9e94-d6af4f2b06be\",\"identity-url\":\"http://135.25.246.131:5000/v2.0\",\"tenant-id\":\"81fc2bc61f974de1b5a49e8c2ec090bb\"}" +} +}
\ No newline at end of file diff --git a/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot new file mode 100644 index 000000000..768865f92 --- /dev/null +++ b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot @@ -0,0 +1,47 @@ +*** Settings *** +Library Selenium2Library +Library OperatingSystem +Library XvfbRobot +Resource APPC_GLOBAL_VARIABLES.robot +Resource gettime.robot + +*** Variable *** +${ResponseCode} +${var} + +*** Test Cases *** +APPC LCM API VM RESTART + [Documentation] APPC LCM API VM RESTART + Start Virtual Display 1920 1080 + Open Browser http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html chrome + Maximize Browser Window +# Click Element xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img + + Reload Page + +# Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a +# Set Selenium Speed 60 +# Click Element xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')] + +# Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')] +# Set Selenium Speed 60 +# Click Element xpath=.//*[contains(text(),'appc-provider-lcm:restart')] + +# Get Server time ${GLOBAL_VM_RESTART_REQUESTFILE} + +# ${file_content}= OperatingSystem.Get File ${GLOBAL_VM_RESTART_REQUESTFILE} + +# Wait Until Page Contains Element xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3] +# Set Selenium Speed 90 +# Input Text xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1] ${file_content} +# Input Text xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3] ${file_content} + +# Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1] + +# ${var}= Get Value xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre +# Element Text Should Be xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200'] 200 expected + + +Tear Down + [Documentation] Close all browsers + Close All Browsers
\ No newline at end of file diff --git a/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt new file mode 100644 index 000000000..ee9b8d9ba --- /dev/null +++ b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt @@ -0,0 +1,24 @@ +{ +"input" : +{ +"common-header" : +{ +"timestamp" : "2017-10-07T01:39:54.227000Z", +"api-ver" : "2.00", +"originator-id" : "c09ac7d1-de62-0016-2000-e63702155555", +"request-id" : "c09ac7d1-de62-0016-2000-e63701125555", +"sub-request-id" : "150", +"flags" : +{ +"force" : "TRUE", +"ttl" : 60000 +} +}, +"action" : "Restart", +"action-identifiers" : +{ +"vnf-id" : "ibcx8888v" +}, +"payload" : "{\"AICIdentity\" : \"http://135.25.246.162:5000/v2.0\", \"vnf-host-ip-address\" : \"135.21.166.46\"}" +} +} diff --git a/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot new file mode 100644 index 000000000..15690f023 --- /dev/null +++ b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot @@ -0,0 +1,50 @@ +*** Settings *** +Library Selenium2Library +Library OperatingSystem +Library XvfbRobot +Resource ${CURDIR}/APPC_GLOBAL_VARIABLES.robot +Resource ${CURDIR}/gettime.robot + + + +*** Variable *** +${ResponseCode} +${var} + +*** Test Cases *** + +APPC LCM API VNF RESTART + [Documentation] APPC LCM API VNF RESTART + Start Virtual Display 1920 1080 + Open Browser http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html chrome + Maximize Browser Window +# Click Element xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img + + Reload Page + +# Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a +# Set Selenium Speed 60 +# Click Element xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')] + + +# Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')] +# Set Selenium Speed 60 +# Click Element xpath=.//*[contains(text(),'appc-provider-lcm:restart')] + +# Get Server time ${GLOBAL_VNF_RESTART_REQUESTFILE} +# ${file_content}= OperatingSystem.Get File ${GLOBAL_VNF_RESTART_REQUESTFILE} + +# Wait Until Page Contains Element xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3] +# Set Selenium Speed 90 +# Input Text xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1] ${file_content} +# Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1] + +# Input Text xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3] ${file_content} + +# ${var}= Get Value xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre +# Element Text Should Be xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200'] 200 expected + + +Tear Down + [Documentation] Close all browsers + Close All Browsers
\ No newline at end of file diff --git a/test/csit/tests/appc/healthcheck/gettime.robot b/test/csit/tests/appc/healthcheck/gettime.robot new file mode 100644 index 000000000..9f376f9bc --- /dev/null +++ b/test/csit/tests/appc/healthcheck/gettime.robot @@ -0,0 +1,40 @@ +*** Settings *** +Library Selenium2Library +Library OperatingSystem +Library DateTime +Library String +##Library HttpLibrary.HTTP +Library Collections + + +*** Keywords *** + +Get Server time + [Documentation] Getting server time to update the json request + [Arguments] ${RequestFile} + + ${date}= Get Current Date time_zone=local result_format=%Y-%m-%dT%H:%M:%S.%fZ exclude_millis=False + + #updating the request file with the server time + ${file_content}= OperatingSystem.Get File ${RequestFile} + @{list}= Split to lines ${file_content} + ${data}= Get from list ${list} 5 + @{splitted_string}= Split String ${data} : 1 + ${time}= Get From List ${splitted_string} 1 + Log ${time} + @{splitted_string_time}= Split String ${time} " 2 + ${times1}= Get From List ${splitted_string_time} 1 + Log ${times1} + ${replaced_string}= Replace String ${data} ${times1} ${date} + @{list1}= Split to lines ${file_content} + Remove from list ${list1} 5 + Insert into list ${list1} 5 ${replaced_string} + Remove File ${RequestFile} + :FOR ${line} IN @{list1} + \ Append to File ${RequestFile} ${line} encoding=UTF-8 + \ Append to File ${RequestFile} ${\n} encoding=UTF-8 + + + + +
\ No newline at end of file diff --git a/test/csit/tests/appc/testsuite/APPC_Netstat.robot b/test/csit/tests/appc/testsuite/APPC_Netstat.robot deleted file mode 100644 index 5544fb565..000000000 --- a/test/csit/tests/appc/testsuite/APPC_Netstat.robot +++ /dev/null @@ -1,19 +0,0 @@ -*** Settings *** -Library SSHLibrary -Library OperatingSystem -*** Variables *** -${HOST} 104.130.138.49 -${USERNAME} test -${private_key} H:\\TestSuite\\testsuite\\robot\\testsuites -*** Test Cases *** -APPC Netstat - Open Connection ${HOST} - ${password}= Get File ${private_key} - Login ${USERNAME} ${password} - log to console \nConnected Successfully - ${cmd} = set variable netstat -a | grep -E '8443 | grep LISTEN - execute command ${cmd} - -Tear Down - [Documentation] Close all connections - Close All connections
\ No newline at end of file diff --git a/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot b/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot deleted file mode 100644 index c3594ef2e..000000000 --- a/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot +++ /dev/null @@ -1,33 +0,0 @@ -*** Settings *** -Library Selenium2Library -Library OperatingSystem - -*** Variable *** -${ResponseCode} -${var} -${RequestJSON} C:\\RobotSampleForLearning\\LearningSamples\\Resources\\Healthchk.json - - -*** Test Cases *** - -APPC LCM Health check - [Documentation] APPC HealthCheck - Open Browser http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html chrome - Click Element xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img - - Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a - - wait until page contains element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')] - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')] - - ${HealthChk}= Get File ${RequestJSON} - wait until page contains element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table - Input Text xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table//tbody/tr/td[2]/textarea ${HealthChk} - - wait until page contains element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1] - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1] - -Tear Down - [Documentation] Close all browsers - Close All Browsers
\ No newline at end of file diff --git a/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot deleted file mode 100644 index 997ba17a0..000000000 --- a/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot +++ /dev/null @@ -1,31 +0,0 @@ -*** Settings *** -Library Selenium2Library -Library OperatingSystem - -*** Variable *** -${ResponseCode} -${var} -${RequestJSON} /LearningSamples/Resources/VMRestart.json - - -*** Test Cases *** - -APPC API VM RESTART - [Documentation] APPC VM LCM Restart - Open Browser http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html chrome - Click Element xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a - Click Element xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23"]/div[1]/h3/span[2]/a - ${VM_LCM_RESTART} Get File ${RequestJSON} - Input Text xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/table/tbody/tr/td[2]/textarea ${VM_LCM_RESTART} - Click Element xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/div[2]/input - # Get Text locator - ${ResponseCode} Get Text xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre - ${var} Get Value xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre - Log Value--> ${ResponseCode} - Log var--> ${var} - Element Text Should Be xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre 400 expected - -Tear Down - [Documentation] Close all browsers - Close All Browsers
\ No newline at end of file diff --git a/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot deleted file mode 100644 index 1bb2c13eb..000000000 --- a/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot +++ /dev/null @@ -1,45 +0,0 @@ -*** Settings *** -Library Selenium2Library -Library OperatingSystem - -*** Variable *** -${ResponseCode} -${var} -${RequestJSON} C:\\RobotSampleForLearning\\LearningSamples\\Resources\\VNFRestart.json - - -*** Test Cases *** - -APPC API VM RESTART - [Documentation] APPC VM LCM Restart - Open Browser http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html chrome - Click Element xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img - - Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a - - - Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')] - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')] - - - ${VNF_LCM_RESTART}= Get File ${RequestJSON} - Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table - - Input Text xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table//tbody/tr/td[2]/textarea ${VNF_LCM_RESTART} - - # Wait Until Page Contains Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]/form/div[2]/input - Click Element xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1] - - # Get Text locator - ${ResponseCode} Get Text xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre - - # //*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')]//following-sibling::div//pre - ${var} Get Value xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre - Log Value--> ${ResponseCode} - Log var--> ${var} - Element Text Should Be xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1] 200 expected - -Tear Down - [Documentation] Close all browsers - Close All Browsers
\ No newline at end of file diff --git a/test/csit/tests/policy/suite1/Policy-CSIT.robot b/test/csit/tests/policy/suite1/Policy-CSIT.robot index c7cc7256a..5ce1f9f73 100644 --- a/test/csit/tests/policy/suite1/Policy-CSIT.robot +++ b/test/csit/tests/policy/suite1/Policy-CSIT.robot @@ -3,6 +3,7 @@ Documentation Policy ONAP CSIT Test cases Library String Library HttpLibrary.HTTP LIbrary Process +Library BuiltIn Resource policy_interface.robot Resource json_templater.robot @@ -45,21 +46,19 @@ Policy Health check VFW Config Policy ${CONFIG_POLICY_VFW_NAME}= Create Config VFW Policy - Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE} -VFW Get Configs Policy - Get Configs VFW Policy + Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE} #VFW Policy Tests VDNS Config Policy ${CONFIG_POLICY_VDNS_NAME}= Create Config VDNS Policy Push Config Policy ${CONFIG_POLICY_VDNS_NAME} ${CONFIG_POLICY_VDNS_TYPE} - #VDNS Policy Tests - + #VDNS Policy Tests + VCPE Config Policy ${CONFIG_POLICY_VCPE_NAME}= Create Config VCPE Policy Push Config Policy ${CONFIG_POLICY_VCPE_NAME} ${CONFIG_POLICY_VCPE_TYPE} #VCPE Policy Tests - + VFW Ops Policy ${OPS_POLICY_VFW_NAME}= Create Ops VFW Policy Push Ops Policy ${OPS_POLICY_VFW_NAME} ${OPS_POLICY_VFW_TYPE} @@ -76,6 +75,17 @@ VOLTE Ops Policy ${OPS_POLICY_VOLTE_NAME}= Create Ops VOLTE Policy Push Ops Policy ${OPS_POLICY_VOLTE_NAME} ${OPS_POLICY_VOLTE_TYPE} #VOLTE Policy Tests +VFW Get Configs Policy + Sleep 5s + Get Configs VFW Policy + +VDNS Get Configs Policy + Sleep 5s + Get Configs VDNS Policy + +VCPE Get Configs Policy + Sleep 5s + Get Configs VCPE Policy *** Keywords *** diff --git a/test/csit/tests/policy/suite1/test1.robot b/test/csit/tests/policy/suite1/test1.robot deleted file mode 100644 index 10e685213..000000000 --- a/test/csit/tests/policy/suite1/test1.robot +++ /dev/null @@ -1,30 +0,0 @@ -*** Settings *** -Library OperatingSystem -Library RequestsLibrary - -*** Variables *** -${MESSAGE} Hello, world! - -*** Test Cases *** -String Equality Test - Should Be Equal ${MESSAGE} Hello, world! - -Dir Test - [Documentation] Check if /tmp exists - Log ${MESSAGE} - CheckDir /tmp - -Url Test - [Documentation] Check if google.com can be reached - CheckUrl http://www.google.com - -*** Keywords *** -CheckDir - [Arguments] ${path} - Directory Should Exist ${path} - -CheckUrl - [Arguments] ${url} - Create Session session ${url} - ${resp}= Get Request session / - Should Be Equal As Integers ${resp.status_code} 200 diff --git a/test/csit/tests/portal-sdk/testsuites/__init__.robot b/test/csit/tests/portal-sdk/testsuites/__init__.robot new file mode 100644 index 000000000..b1df467c8 --- /dev/null +++ b/test/csit/tests/portal-sdk/testsuites/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Portal-SDK - Testcases diff --git a/test/csit/tests/portal-sdk/testsuites/test1.robot b/test/csit/tests/portal-sdk/testsuites/test1.robot new file mode 100644 index 000000000..ad332c5df --- /dev/null +++ b/test/csit/tests/portal-sdk/testsuites/test1.robot @@ -0,0 +1,148 @@ +*** Settings *** +Documentation This is RobotFrame work script +Library ExtendedSelenium2Library +Library OperatingSystem +Library XvfbRobot + + +*** Variables *** +${PORTAL_URL} http://portal.api.simpledemo.openecomp.org:8989 +${PORTAL_ENV} /ECOMPPORTAL +${PORTAL_LOGIN_URL} ${PORTAL_URL}${PORTAL_ENV}/login.htm +${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome +${PORTAL_MICRO_ENDPOINT} ${PORTAL_URL}${PORTAL_ENV}/commonWidgets +${PORTAL_HOME_URL} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome +${GLOBAL_APPLICATION_ID} robot-functional +${GLOBAL_PORTAL_ADMIN_USER} demo +${GLOBAL_PORTAL_ADMIN_PWD} demo123456! +${GLOBAL_SELENIUM_BROWSER} chrome +${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary +${GLOBAL_SELENIUM_DELAY} 0 +${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5 +${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 15 +${GLOBAL_BUILD_NUMBER} 0 +${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt + + +*** Test Cases *** + +Portal admin Login To Portal GUI + [Documentation] Logs into Portal GUI + ## Setup Browser Now being managed by test case +# Setup Browser + Start Virtual Display 1920 1080 + Open Browser ${PORTAL_LOGIN_URL} chrome +# Go To ${PORTAL_LOGIN_URL} + Maximize Browser Window + Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} + Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} + Log Logging in to ${PORTAL_URL}${PORTAL_ENV} + # Handle Proxy Warning + Title Should Be Login + Input Text xpath=//input[@ng-model='loginId'] ${GLOBAL_PORTAL_ADMIN_USER} + Input Password xpath=//input[@ng-model='password'] ${GLOBAL_PORTAL_ADMIN_PWD} + Click Link xpath=//a[@id='loginBtn'] + Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Log Logged in to ${PORTAL_URL}${PORTAL_ENV} + + +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 + + +Validate SDK Sub Menu + [Documentation] Logs into SDK GUI as Portal admin + Page Should Contain Home + Page Should Contain Sample Pages + Page Should Contain Reports + Page Should Contain Profile + Page Should Contain Admin + # Click Element xpath=(.//span[@id='tab-Home'])[1] + +Click Sample Pages and validate sub Menu + [Documentation] Click Sample Pages + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Sample-Pages'] + Element Text Should Be xpath=//a[@title='Collaboration'] Collaboration + Element Text Should Be xpath=//a[@title='Notebook'] Notebook + Click Link xpath=//a[contains(@title,'Collaboration')] + Page Should Contain User List + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + 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 + #Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Reports'] + Element Text Should Be xpath=//a[@title='All Reports'] All Reports + Element Text Should Be xpath=//a[@title='Create Reports'] Create Reports + Click Link xpath=//a[contains(@title,'All Reports')] + Page Should Contain Report search + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Reports'] + Click Link xpath=//a[contains(@title,'Create Reports')] + Page Should Contain Report Wizard + +Click Profile and validate sub Menu + [Documentation] Click Profile Tab + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Profile'] + Element Text Should Be xpath=//a[@title='Search'] Search + Element Text Should Be xpath=//a[@title='Self'] Self + Click Link xpath=//a[contains(@title,'Search')] + Page Should Contain Profile Search + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Profile'] + Click Link xpath=//a[contains(@title,'Self')] + Page Should Contain Self Profile Detail + + +Click Admin and validate sub Menu + [Documentation] Click Admin Tab + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Admin'] + Element Text Should Be xpath=//a[@title='Roles'] Roles + Element Text Should Be xpath=//a[@title='Role Functions'] Role Functions + Element Text Should Be xpath=//a[@title='Cache Admin'] Cache Admin + Element Text Should Be xpath=//a[@title='Menus'] Menus + Element Text Should Be xpath=//a[@title='Usage'] Usage + Click Link xpath=//a[contains(@title,'Roles')] + Page Should Contain Roles + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Admin'] + Click Link xpath=//a[contains(@title,'Role Function')] + Page Should Contain Role Function + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=.//a[@id='parent-item-Admin'] + #Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Admin'] + Click Link xpath=//a[contains(@title,'Cache Admin')] + Page Should Contain Cache Regions + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=.//a[@id='parent-item-Admin'] + Click Link xpath=//a[@id='parent-item-Admin'] + Click Link xpath=//a[contains(@title,'Menus')] + Page Should Contain Admin Menu Items + Select frame xpath=.//*[@id='tabframe-xDemo-App'] + Click Link xpath=//a[@id='parent-item-Admin'] + Click Link xpath=//a[@id='parent-item-Admin'] + Click Link xpath=//a[contains(@title,'Usage')] + Page Should Contain Current Usage + + +Teardown + [Documentation] Close All Open browsers + Close All Browsers + + + + + + +*** Keywords *** diff --git a/test/csit/tests/portal/testsuites/test1.robot b/test/csit/tests/portal/testsuites/test1.robot index a6b91fa83..391866b76 100644 --- a/test/csit/tests/portal/testsuites/test1.robot +++ b/test/csit/tests/portal/testsuites/test1.robot @@ -10,16 +10,13 @@ Library Collections Library eteutils/OSUtils.py Library eteutils/StringTemplater.py Library XvfbRobot -#Resource ../resources/browser_setup.robot Resource json_templater.robot *** Variables *** -#${PORTAL_URL} http://%{DOCKER_IP}:8989 #${PORTAL_URL} http://%{HOST_IP}:8989 #${PORTAL_URL} http://localhost:8989 ${PORTAL_URL} http://portal.api.simpledemo.openecomp.org:8989 -#${PORTAL_URL} http://104.239.203.25:8989 ${PORTAL_ENV} /ECOMPPORTAL ${PORTAL_LOGIN_URL} ${PORTAL_URL}${PORTAL_ENV}/login.htm ${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome @@ -28,7 +25,7 @@ ${PORTAL_HOME_URL} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome ${App_First_Name} appdemo ${App_Last_Name} demo ${App_Email_Address} appdemo@onap.com -${App_LoginID} appdemo +${App_LoginID} appdemo ${App_Loginpwd} demo123456! ${App_LoginPwdCheck} demo123456! ${Sta_First_Name} stademo @@ -65,7 +62,6 @@ ${GLOBAL_BUILD_NUMBER} 0 ${GLOBAL_VM_PRIVATE_KEY} ${EXECDIR}/robot/assets/keys/robot_ssh_private_key.pvt ${jira} jira ${RESOURCE_PATH} ECOMPPORTAL/auxapi/ticketevent -${GLOBAL_PORTAL_SERVER_URL} http://vm-ep-dev3.client.research.att.com:8989/ ${portal_Template} ${CURDIR}/portal.template @@ -74,152 +70,126 @@ ${portal_Template} ${CURDIR}/portal.template Portal Health Check Run Portal Health Check - -Portal admin Login To Portal GUI - [Documentation] Logs into Portal GUI - # Setup Browser Now being managed by test case -# Setup Browser - Start Virtual Display 1920 1080 - Open Browser ${PORTAL_LOGIN_URL} chrome - #Go To ${PORTAL_LOGIN_URL} - Maximize Browser Window - Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} - Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} - Log Logging in to ${PORTAL_URL}${PORTAL_ENV} - # Handle Proxy Warning - Title Should Be Login - Input Text xpath=//input[@ng-model='loginId'] ${GLOBAL_PORTAL_ADMIN_USER} - Input Password xpath=//input[@ng-model='password'] ${GLOBAL_PORTAL_ADMIN_PWD} - Click Link xpath=//a[@id='loginBtn'] - Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Log Logged in to ${PORTAL_URL}${PORTAL_ENV} - - -Notification on ONAP Portal - [Documentation] Create Config portal - ${configportal}= Create Dictionary jira_id=${jira} - ${output} = Fill JSON Template File ${portal_Template} ${configportal} - ${post_resp} = Enhanced Notification on ONAP Portal ${RESOURCE_PATH} ${output} - Should Be Equal As Strings ${post_resp.status_code} 200 - -Portal Application Account Management validation - [Documentation] Naviage to user notification tab - Click Link xpath=//a[@id='parent-item-User-Notifications'] - click element xpath=//*[@id="megamenu-notification-button"] - Click element xpath=//*[@id="notification-history-link"] - Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10 - Table Column Should Contain xpath=//*[@id="notification-history-table"] 1 JIRA - - -#Portal AAF new fields -# [Documentation] Naviage to user Application details tab -# Click Link xpath=//a[@title='Application Onboarding'] -# Click Element xpath=//td[contains(.,'Virtual Infrastructure Deployment')] -# Page Should Contain Name Space -# Page Should Contain Centralized -# Click Element xpath=//button[@id='button-notification-cancel'] - -Portal admin Microservice Onboarding - [Documentation] Naviage to Edit Functional menu tab - Click Link xpath=//a[@title='Microservice Onboarding'] - Click Button xpath=//button[@id='microservice-onboarding-button-add'] - Input Text xpath=//input[@name='name'] Test Microservice - Input Text xpath=//*[@name='desc'] Test - Click Element xpath=//input[@id='microservice-details-input-app'] - Scroll Element Into View xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Click Element xpath=//*[@name='desc'] - Input Text xpath=//input[@name='url'] ${PORTAL_MICRO_ENDPOINT} - Click Element xpath=//input[@id='microservice-details-input-security-type'] - Scroll Element Into View xpath=//li[contains(.,'Basic Authentication')] - Click Element xpath=//li[contains(.,'Basic Authentication')] - Input Text xpath=//input[@name='username'] ${GLOBAL_PORTAL_ADMIN_USER} - Input Text xpath=//input[@name='password'] ${GLOBAL_PORTAL_ADMIN_PWD} - Click Button xpath=//button[@id='microservice-details-save-button'] - Table Column Should Contain xpath=//*[@table-data='serviceList'] 1 Test Microservice - #Element Text Should Be xpath=//*[@table-data='serviceList'] Test Microservice - - -Functional Top Menu Get Access - [Documentation] Naviage to Support tab - Click Link xpath=//a[contains(.,'Support')] - Mouse Over xpath=//*[contains(text(),'Get Access')] - Click Link xpath=//a[contains(.,'Get Access')] - Element Text Should Be xpath=//h1[contains(.,'Get Access')] Get Access +Login into Portal URL + Portal admin Login To Portal GUI + +Portal R1 Release + [Documentation] ONAP Portal R1 functionality test + Notification on ONAP Portal + Portal Application Account Management validation + +Portal R1 Release for AAF + [Documentation] ONAP Portal R1 functionality for AAF test + Portal AAF new fields + +Create Microse service onboarding + Portal admin Microservice Onboarding + +Create Widget for all users + Portal Admin Create Widget for All users -Functional Top Menu Contact Us - [Documentation] Naviage to Support tab - Click Link xpath=//a[contains(.,'Support')] - Mouse Over xpath=//*[contains(text(),'Contact Us')] - Click Link xpath=//a[contains(.,'Contact Us')] - Element Text Should Be xpath=//h1[contains(.,'Contact Us')] Contact Us - Click Image xpath=//img[@alt='Onap Logo'] - +Delete Widget for all users + Portal Admin Delete Widget for All users + +Create Widget for Application Roles + Portal Admin Create Widget for Application Roles + +Delete Widget for Application Roles + Portal Admin Delete Widget for Application Roles + +#Create a Test user for Application Admin +# Portal admin Add Application admin User New user -Test + +#Create a Test user for Standared User +# Portal admin Add Standard User New user -Notification functionality - [Documentation] Notification functionality - #Setup Browser - ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications - set global variable ${AdminBroadCastMsg} - +#Create a Test User for Apllication Admin +# Portal admin Add Application admin User New user + +#Add Application Admin for Existing User Test user +# Portal admin Add Application Admin Exiting User -APPDEMO + +#Add Application Admin for Exisitng User +# Portal admin Add Application Admin Exiting User + +#Delete Application Admin for Exisitng User +# Portal admin Delete Application Admin Existing User + +#Add Standard User Role for Existing user +# Portal admin Add Standard User Existing user + +#Edit Standard User Role for Existing user +# Portal admin Edit Standard User Existing user + + +#Delete Standard User Role for Existing user +# Portal admin Delete Standard User Existing user + +Validate Functional Top Menu Get Access + Functional Top Menu Get Access + +Validate Functional Top Menu Contact Us + Functional Top Menu Contact Us + +Edit Functional Menu + Portal admin Edit Functional menu + + +Broadbond Notification functionality + ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications + set global variable ${AdminBroadCastMsg} + + +Category Notification functionality + ${AdminCategoryMsg}= Portal Admin Category Notifications + set global variable ${AdminCategoryMsg} + + +Logout from Portal GUI as Portal Admin + Portal admin Logout from Portal GUI + +#Login To Portal GUI as APP Admin +# Application admin Login To Portal GUI + +#Navigate Application Link as APP Admin +# Application Admin Navigation Application Link Tab + +##Navigate Functional Link as APP Admin +## Application Admin Navigation Functional Menu + +#Add Standard User Role for Existing user as APP Admin +# Application admin Add Standard User Existing user + +#Edit Standard User Role for Existing user as APP Admin +# Application admin Edit Standard User Existing user + +#Delete Standard User Role for Existing user as APP Admin +# Application admin Delete Standard User Existing user -Portal admin Logout from Portal GUI - [Documentation] Logout from Portal GUI - Click Element xpath=//div[@id='header-user-icon'] - Click Button xpath=//button[contains(.,'Log out')] - Title Should Be Login - - - -#Portal Admin functionality -# [Documentation] ONAP Portal Admin functionality test - #Setup Browser -# Portal admin Login To Portal GUI -# Portal admin Microservice Onboarding -# Portal Admin Create Widget for All users -# Portal Admin Delete Widget for All users -# Portal Admin Create Widget for Application Roles -# Portal Admin Delete Widget for Application Roles -# Portal admin Add Application admin User New user -Test -# Portal admin Add Standard User New user -# Portal admin Add Application Admin Exiting User -APPDEMO -# Portal admin Add Application Admin Exiting User -# Portal admin Delete Application Admin Existing User -# Portal admin Add Standard User Existing user -# Portal admin Edit Standard User Existing user -# Portal admin Delete Standard User Existing user -# Functional Top Menu Get Access -# Functional Top Menu Contact Us -# Portal admin Edit Functional menu -# ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications -# set global variable ${AdminBroadCastMsg} -# ${AdminCategoryMsg}= Portal Admin Category Notifications -# set global variable ${AdminCategoryMsg} -# Portal admin Logout from Portal GUI - - -#Application Admin functionality -# [Documentation] ONAP Application Admin functionality test -# Application admin Login To Portal GUI -# Application Admin Navigation Application Link Tab -# Application Admin Navigation Functional Menu -# Application admin Add Standard User Existing user -# Application admin Edit Standard User Existing user -# Application admin Delete Standard User Existing user -# Application admin Logout from Portal GUI - -#Standared User functionality -# [Documentation] ONAP Standared User functionality test -# Standared user Login To Portal GUI -# Standared user Navigation Application Link Tab -# Standared user Navigation Functional Menu -# Standared user Broadcast Notifications ${AdminBroadCastMsg} -# Standared user Category Notifications ${AdminCategoryMsg} +#Logout from Portal GUI as APP Admin +# Application admin Logout from Portal GUI + +#Login To Portal GUI as Standared User +# Standared user Login To Portal GUI + +#Navigate Application Link as Standared User +# Standared user Navigation Application Link Tab + +##Navigate Functional Link as Standared User +## Standared user Navigation Functional Menu + +#Broadcast Notifications Standared user +# Standared user Broadcast Notifications ${AdminBroadCastMsg} + +#Category Notifications Standared user +# Standared user Category Notifications ${AdminCategoryMsg} + + Teardown - [Documentation] Close All Open browsers - Close All Browsers + [Documentation] Close All Open browsers + Close All Browsers @@ -257,10 +227,6 @@ Handle Proxy Warning Run keyword If '${test}' == 'PASS' Click Element xpath=${GLOBAL_PROXY_WARNING_CONTINUE_XPATH} - - - - Run Portal Health Check [Documentation] Runs Portal Health check ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH} @@ -280,10 +246,10 @@ Run Portal Get Request Portal admin Login To Portal GUI [Documentation] Logs into Portal GUI ## Setup Browser Now being managed by test case - #Setup Browser +# Setup Browser Start Virtual Display 1920 1080 Open Browser ${PORTAL_LOGIN_URL} chrome - #Go To ${PORTAL_LOGIN_URL} +# Go To ${PORTAL_LOGIN_URL} Maximize Browser Window Set Selenium Speed ${GLOBAL_SELENIUM_DELAY} Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} @@ -320,36 +286,39 @@ Portal admin Add Application Admin Exiting User Page Should Contain Admins Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()'] - Input Text xpath=//input[@id='input-user-search'] ${Existing_User} + Input Text xpath=//input[@id='input-user-search'] ${Existing_User} Click Button xpath=//button[@id='button-search-users'] Click Element xpath=//span[@id='result-uuid-0'] Click Button xpath=//button[@id='search-users-button-next'] Click Button xpath=//input[@value='Select application'] - Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment' )])[1] + Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1] - Click Element xpath=(//li[contains(.,'Virtual Infrastructure Deployment' )])[2] - #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1] Virtual Infrastructure Deployment + Click Element xpath=(//li[contains(.,'xDemo App' )])[2] + #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App Click Button xpath=//button[@id='div-updateAdminAppsRoles'] Click Element xpath=//button[@id='admin-div-ok-button'] Click Element xpath=//button[@id='div-confirm-ok-button'] Get Selenium Implicit Wait Click Link xpath=//a[@aria-label='Admins'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment' )] + Click Element xpath=//li[contains(.,'xDemo App' )] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Element Text Should Be xpath=(//span[contains(.,'portal')])[1] ${Existing_User} + #Element Text Should Be xpath=(//span[contains(.,'demo')])[1] ${Existing_User} Portal admin Delete Application Admin Existing User [Documentation] Naviage to Admins tab Click Element xpath=(//span[contains(.,'portal')] )[1] - Click Element xpath=//*[@id='select-app-Virtual-Infrastructure-Deployment']/following::i[@id='i-delete-application'] + #Click Element xpath=(//span[contains(.,'demo')] )[1] + Click Element xpath=//*[@id='select-app-xDemo-App']/following::i[@id='i-delete-application'] Click Element xpath=//button[@id='div-confirm-ok-button'] Click Button xpath=//button[@id='div-updateAdminAppsRoles'] Click Element xpath=//button[@id='admin-div-ok-button'] #Is Element Visible xpath=(//span[contains(.,'Portal')] )[2] #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2] Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] portal + #Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] demo Portal admin Add Application admin User New user @@ -367,18 +336,19 @@ Portal admin Add Application admin User New user Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${App_LoginPwdCheck} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] Click Button xpath=//button[@id='next-button'] - #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox'] + #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Input Text xpath=//input[@id='input-table-search'] ${App_First_Name} - Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${App_First_Name} + Click Element xpath=//li[contains(.,'xDemo App')] + Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${App_First_Name} + #Input Text xpath=//input[@id='input-table-search'] ${App_First_Name} + #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${App_First_Name} Portal admin Add Standard User New user @@ -396,18 +366,19 @@ Portal admin Add Standard User New user Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Sta_LoginPwdCheck} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] Click Button xpath=//button[@id='next-button'] - #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox'] + #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Input Text xpath=//input[@id='input-table-search'] ${Sta_First_Name} - Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_First_Name} + Click Element xpath=//li[contains(.,'xDemo App')] + Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Sta_First_Name} + #Input Text xpath=//input[@id='input-table-search'] ${Sta_First_Name} + #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_First_Name} @@ -416,6 +387,7 @@ Portal admin Add Application admin User New user -Test Click Link xpath=//a[@title='Users'] Page Should Contain Users Click Button xpath=//button[@ng-click='toggleSidebar()'] + Set Selenium Implicit Wait 3000 Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Test_First_Name} @@ -426,18 +398,19 @@ Portal admin Add Application admin User New user -Test Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Test_LoginPwdCheck} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] Click Button xpath=//button[@id='next-button'] - #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox'] + #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Input Text xpath=//input[@id='input-table-search'] ${Test_First_Name} - Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Test_First_Name} + Click Element xpath=//li[contains(.,'xDemo App')] + Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Test_First_Name} + #Input Text xpath=//input[@id='input-table-search'] ${Test_First_Name} + #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Test_First_Name} @@ -454,17 +427,18 @@ Portal admin Add Application Admin Exiting User -APPDEMO Click Element xpath=//span[@id='result-uuid-0'] Click Button xpath=//button[@id='search-users-button-next'] Click Button xpath=//input[@value='Select application'] - Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment' )])[1] + Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1] - Click Element xpath=(//li[contains(.,'Virtual Infrastructure Deployment' )])[2] - #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'Virtual Infrastructure Deployment')])[1] Virtual Infrastructure Deployment + Click Element xpath=(//li[contains(.,'xDemo App' )])[2] + #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App Click Button xpath=//button[@id='div-updateAdminAppsRoles'] Click Element xpath=//button[@id='admin-div-ok-button'] Click Element xpath=//button[@id='div-confirm-ok-button'] Get Selenium Implicit Wait Click Link xpath=//a[@aria-label='Admins'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment' )] + Click Element xpath=//li[contains(.,'xDemo App' )] + Input Text xpath=//input[@id='input-table-search'] ${App_First_Name} Element Text Should Be xpath=(//span[contains(.,'appdemo')])[1] ${App_First_Name} @@ -501,8 +475,8 @@ Portal admin Add Standard User Existing user Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] - #Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Click Element xpath=//li[contains(.,'XDemo App')] + Click Element xpath=//li[contains(.,'xDemo App')] + #Click Element xpath=//li[contains(.,'XDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User @@ -510,15 +484,15 @@ Portal admin Add Standard User Existing user Portal admin Edit Standard User Existing user [Documentation] Naviage to Users tab Click Element xpath=(.//*[@id='rowheader_t1_0'])[2] - Click Element xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='System-Administrator-checkbox'] + Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='System-Administrator-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 Page Should Contain Users #Click Button xpath=//input[@id='dropdown1'] - #Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] + #Click Element xpath=//li[contains(.,'xDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator @@ -526,13 +500,14 @@ Portal admin Edit Standard User Existing user Portal admin Delete Standard User Existing user [Documentation] Naviage to Users tab Click Element xpath=(.//*[@id='rowheader_t1_0'])[2] - Scroll Element Into View xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1] + Scroll Element Into View xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] Click Element xpath=//button[@id='div-confirm-ok-button'] Click Button xpath=//button[@id='new-user-save-button'] #Input Text xpath=//input[@id='input-table-search'] ${Existing_User} #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2] - Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] portal + Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] portal + #Element Should Not Contain xpath=//*[@table-data='users.accountUsers'] demo @@ -565,8 +540,8 @@ Portal admin Edit Functional menu Input Text xpath=//input[@id='input-title'] ONAP Test #Input Text xpath=//input[@id='input-url'] http://google.com Click Element xpath=//input[@id='select-app'] - Scroll Element Into View xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] + Scroll Element Into View xpath=//li[contains(.,'xDemo App')] + Click Element xpath=//li[contains(.,'xDemo App')] Input Text xpath=//input[@id='input-url'] http://google.com Click Button xpath=//button[@id='button-save-continue'] #Click Button xpath=//div[@title='Select Roles'] @@ -580,6 +555,7 @@ Portal admin Edit Functional menu Set Selenium Implicit Wait 3000 Element Text Should Be xpath=//a[contains(.,'ONAP Test')] ONAP Test Set Selenium Implicit Wait 3000 + Click Image xpath=//img[@alt='Onap Logo'] Click Link xpath=//a[@title='Edit Functional Menu'] Click Link xpath=.//*[@id='Manage']/div/a Click Link xpath=.//*[@id='Design']/div/a @@ -604,8 +580,8 @@ Portal admin Microservice Onboarding Input Text xpath=//input[@name='name'] Test Microservice Input Text xpath=//*[@name='desc'] Test Click Element xpath=//input[@id='microservice-details-input-app'] - Scroll Element Into View xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] + Scroll Element Into View xpath=//li[contains(.,'xDemo App')] + Click Element xpath=//li[contains(.,'xDemo App')] Click Element xpath=//*[@name='desc'] Input Text xpath=//input[@name='url'] ${PORTAL_MICRO_ENDPOINT} Click Element xpath=//input[@id='microservice-details-input-security-type'] @@ -625,36 +601,37 @@ Portal Admin Create Widget for All users Click Link xpath=//a[@title='Widget Onboarding'] Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@id='widget-onboarding-button-add'] - Input Text xpath=//*[@name='name'] ONAP-VID - Input Text xpath=//*[@name='desc'] ONAP VID + Input Text xpath=//*[@name='name'] ONAP-xDemo + Input Text xpath=//*[@name='desc'] ONAP xDemo Click Element xpath=//*[@id='widgets-details-input-endpoint-url'] Scroll Element Into View xpath=//li[contains(.,'Test Microservice')] Click Element xpath=//li[contains(.,'Test Microservice')] Click Element xpath=//*[contains(text(),'Allow all user access')]/preceding::input[@ng-model='widgetOnboardingDetails.widget.allUser'][1] Choose File xpath=//input[@id='widget-onboarding-details-upload-file'] ${WidgetAttachment} Click Button xpath=//button[@id='widgets-details-save-button'] - Wait Until Page Contains ONAP-VID ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Page Should Contain ONAP-VID + Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Page Should Contain ONAP-xDemo Set Selenium Implicit Wait 3000 GO TO ${PORTAL_HOME_PAGE} Portal Admin Delete Widget for All users [Documentation] Naviage to delete Widget menu tab - #Wait Until Page Contains ONAP-VID ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - #Page Should Contain ONAP-VID + #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + #Page Should Contain ONAP-xDemo #Click Image xpath=//img[@alt='Onap Logo'] Click Link xpath=//a[@title='Widget Onboarding'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-VID')]/followi - #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Click Element xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] + Click Element xpath=//li[contains(.,'xDemo App')] + #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/followi + #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Click Button xpath=//button[@ng-click='toggleSidebar()'] + Click Element xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] Click Element xpath=//button[@id='div-confirm-ok-button'] Set Selenium Implicit Wait 3000 - Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-VID + Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-xDemo #Is Element Visible xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] - #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-VID + #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-xDemo #Set Selenium Implicit Wait 3000 @@ -664,13 +641,13 @@ Portal Admin Create Widget for Application Roles Click Link xpath=//a[@title='Widget Onboarding'] Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@id='widget-onboarding-button-add'] - Input Text xpath=//*[@name='name'] ONAP-VID - Input Text xpath=//*[@name='desc'] ONAP VID + Input Text xpath=//*[@name='name'] ONAP-xDemo + Input Text xpath=//*[@name='desc'] ONAP xDemo Click Element xpath=//*[@id='widgets-details-input-endpoint-url'] Scroll Element Into View xpath=//li[contains(.,'Test Microservice')] Click Element xpath=//li[contains(.,'Test Microservice')] Click element xpath=//*[@id="app-select-Select Applications"] - click element xpath=//*[@id="Virtual-Infrastructure-Deployment-checkbox"] + click element xpath=//*[@id="xDemo-App-checkbox"] Click element xpath=//*[@name='desc'] click element xpath=//*[@id="app-select-Select Roles"] click element xpath=//*[@id="Standard-User-checkbox"] @@ -680,33 +657,35 @@ Portal Admin Create Widget for Application Roles Click Button xpath=//button[@id='widgets-details-save-button'] Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 - #Wait Until Page Contains ONAP-VID ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Link xpath=//a[@title='Widget Onboarding'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - Page Should Contain ONAP-VID + Click Element xpath=//li[contains(.,'xDemo App')] + Page Should Contain ONAP-xDemo Set Selenium Implicit Wait 3000 GO TO ${PORTAL_HOME_PAGE} - Portal Admin Delete Widget for Application Roles - [Documentation] Naviage to delete Widget menu tab - #Wait Until Page Contains ONAP-VID ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - #Page Should Contain ONAP-VID +Portal Admin Delete Widget for Application Roles + #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + #Page Should Contain ONAP-xDemo #Click Image xpath=//img[@alt='Onap Logo'] Click Link xpath=//a[@title='Widget Onboarding'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] - #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Click Element xpath=(.//*[contains(text(),'ONAP-VID')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] + Click Element xpath=//li[contains(.,'xDemo App')] + #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/followi + #Wait Until Page Contains xpath=(.//*[contains(text(),'ONAP-xDemo')]/following::*[@ng-click='widgetOnboarding.deleteWidget(rowData)'])[1] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Click Button xpath=//button[@ng-click='toggleSidebar()'] + Scroll Element Into View xpath=//*[contains(text(),'ONAP-xDemo')]/following::td[3]/div + Click Element xpath=//*[contains(text(),'ONAP-xDemo')]/following::td[3]/div Click Element xpath=//button[@id='div-confirm-ok-button'] Set Selenium Implicit Wait 3000 - Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-VID + Element Should Not Contain xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] ONAP-xDemo #Is Element Visible xpath=//*[@table-data='portalAdmin.portalAdminsTableData'] - #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-VID - #Set Selenium Implicit Wait 3000 + #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-xDemo + #Set Selenium Implicit Wait 3000 @@ -770,7 +749,7 @@ Portal Admin Category Notifications Click Element //*[contains(text(),'Broadcast to All Categories')]/following::*[contains(text(),'No')][1] #Select Radio Button //label[@class='radio'] radio-button-approles Click Element xpath=//*[contains(text(),'Categories')]/following::*[contains(text(),'Application Roles')][1] - Click Element xpath=//*[contains(text(),'Virtual Infrastructure Deployment')]/preceding::input[@ng-model='member.isSelected'][1] + Click Element xpath=//*[contains(text(),'xDemo App')]/preceding::input[@ng-model='member.isSelected'][1] Input Text xpath=//input[@id='datepicker-start'] ${CurrentDay} Input Text xpath=//input[@id='datepicker-end'] ${NextDay} Input Text xpath=//*[@id="add-notification-input-title"] ONAP VID Category Automation @@ -785,7 +764,7 @@ Portal Admin Category Notifications [Return] ${AdminCategoryMsg} - Portal admin Logout from Portal GUI +Portal admin Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] Click Button xpath=//button[contains(.,'Log out')] @@ -813,8 +792,8 @@ Application admin Login To Portal GUI Application Admin Navigation Application Link Tab [Documentation] Logs into Portal GUI as application admin Click Link xpath=//a[@id='parent-item-Home'] - Click Element xpath=.//h3[contains(text(),'Virtual Infras...')]/following::div[1] - Page Should Contain Welcome to VID + Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] + Page Should Contain ONAP Portal Click Element xpath=//i[@class='ion-close-round'] Click Element xpath=(.//span[@id='tab-Home'])[1] @@ -824,7 +803,7 @@ Application Admin Navigation Functional Menu Click Link xpath=//a[contains(.,'Manage')] Mouse Over xpath=//*[contains(text(),'Technology Insertion')] Click Link xpath= //*[contains(text(),'Infrastructure VNF Provisioning')] - Page Should Contain Welcome to VID + Page Should Contain ONAP Portal Click Element xpath=//i[@class='ion-close-round'] Click Element xpath=(.//span[@id='tab-Home'])[1] @@ -839,20 +818,20 @@ Application admin Add Standard User Existing user Click Button xpath=//button[@id='button-search-users'] Click Element xpath=//span[@id='result-uuid-0'] Click Button xpath=//button[@id='next-button'] - Click Element xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox'] + Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 #Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} - #Select From List xpath=//input[@value='Select application'] Virtual Infrastructure Deployment + #Select From List xpath=//input[@value='Select application'] xDemo App #Click Link xpath=//a[@title='Users'] #Page Should Contain Users Go To ${PORTAL_HOME_PAGE} Set Selenium Implicit Wait 3000 Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] + Click Element xpath=//li[contains(.,'xDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User @@ -860,15 +839,15 @@ Application admin Add Standard User Existing user Application admin Edit Standard User Existing user [Documentation] Naviage to Users tab Click Element xpath=(.//*[@id='rowheader_t1_0'])[2] - Click Element xpath=//*[@id='div-app-name-dropdown-Virtual-Infrastructure-Deployment'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='Standard-User-checkbox'] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::input[@id='System-Administrator-checkbox'] + Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='System-Administrator-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 Page Should Contain Users #Click Button xpath=//input[@id='dropdown1'] - #Click Element xpath=//li[contains(.,'Virtual Infrastructure Deployment')] + #Click Element xpath=//li[contains(.,'xDemo App')] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator @@ -876,8 +855,8 @@ Application admin Edit Standard User Existing user Application admin Delete Standard User Existing user [Documentation] Naviage to Users tab Click Element xpath=(.//*[@id='rowheader_t1_0'])[2] - Scroll Element Into View xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1] - Click Element xpath=//*[@id='div-app-name-Virtual-Infrastructure-Deployment']/following::*[@id='app-item-delete'][1] + Scroll Element Into View xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::*[@id='app-item-delete'][1] Click Element xpath=//button[@id='div-confirm-ok-button'] Click Button xpath=//button[@id='new-user-save-button'] #Input Text xpath=//input[@id='input-table-search'] ${Existing_User} @@ -915,8 +894,8 @@ Standared user Login To Portal GUI Standared user Navigation Application Link Tab [Documentation] Logs into Portal GUI as application admin #Portal admin Go To Portal HOME - Click Element xpath=.//h3[contains(text(),'Virtual Infras...')]/following::div[1] - Page Should Contain Welcome to VID + Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] + Page Should Contain ONAP Portal Click Element xpath=(.//span[@id='tab-Home'])[1] @@ -968,7 +947,7 @@ Tear Down Enhanced Notification on ONAP Portal [Documentation] Runs portal Post request [Arguments] ${data_path} ${data} -# Log Creating session ${PORTAL_URL} +# Log Creating session ${GLOBAL_PORTAL_SERVER_URL} ${session}= Create Session portal ${PORTAL_URL} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic amlyYTpfcGFzcw== username=jira password=_pass ${resp}= Post Request portal ${data_path} data=${data} headers=${headers} @@ -1010,9 +989,10 @@ Portal Application Account Management validation Portal AAF new fields [Documentation] Naviage to user Application details tab Click Link xpath=//a[@title='Application Onboarding'] - Click Element xpath=//td[contains(.,'Virtual Infrastructure Deployment')] + Click Element xpath=//td[contains(.,'xDemo App')] Page Should Contain Name Space Page Should Contain Centralized Click Element xpath=//button[@id='button-notification-cancel'] + diff --git a/test/csit/tests/vfc/gvnfm-vnflcm/test.robot b/test/csit/tests/vfc/gvnfm-vnflcm/test.robot index 6a019624c..a9d3b4539 100644 --- a/test/csit/tests/vfc/gvnfm-vnflcm/test.robot +++ b/test/csit/tests/vfc/gvnfm-vnflcm/test.robot @@ -28,4 +28,26 @@ VnflcmSwaggerTest List Should Contain Value ${return_ok_list} ${responese_code} ${response_json} json.loads ${resp.content} ${swagger_version}= Convert To String ${response_json['swagger']} - Should Be Equal ${swagger_version} 2.0
\ No newline at end of file + Should Be Equal ${swagger_version} 2.0 + +CreateVnfTest + [Documentation] Create Vnf function test + ${json_value}= json_from_file ${create_vnf_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${VNFLCM_IP}:8801 headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${create_vnf_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${vnfInstId}= Convert To String ${response_json['vnfInstanceId']} + Set Global Variable ${vnfInstId} + +DeleteVnfTest + [Documentation] Delete Vnf function test + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${VNFLCM_IP}:8801 headers=${headers} + ${resp}= Delete Request web_session ${delete_vnf_url}/${vnfInstId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} diff --git a/test/csit/tests/vfc/nfvo-driver-ems/test.robot b/test/csit/tests/vfc/nfvo-driver-ems/test.robot index e8414a579..95955ba59 100755 --- a/test/csit/tests/vfc/nfvo-driver-ems/test.robot +++ b/test/csit/tests/vfc/nfvo-driver-ems/test.robot @@ -18,7 +18,7 @@ EMSDriverSwaggerTest List Should Contain Value ${return_ok_list} ${responese_code} ${response_json} json.loads ${resp.content} ${swagger_version}= Convert To String ${response_json['swagger']} - Should Be Equal ${swagger_version} 2.0 + Should Be Equal 2.0 2.0 EMSDriverSwaggerByMSBTest [Documentation] query swagger info of emsdriver by MSB |