summaryrefslogtreecommitdiffstats
path: root/test/csit
diff options
context:
space:
mode:
Diffstat (limited to 'test/csit')
-rw-r--r--test/csit/plans/aai/esr-server/setup.sh4
-rwxr-xr-xtest/csit/plans/policy/health/setup.sh4
-rwxr-xr-xtest/csit/plans/policy/health/teardown.sh1
-rw-r--r--test/csit/plans/portal-sdk/testsuite/.env22
-rw-r--r--test/csit/plans/portal-sdk/testsuite/docker-compose.yml95
-rw-r--r--test/csit/plans/portal-sdk/testsuite/setup.sh166
-rw-r--r--test/csit/plans/portal-sdk/testsuite/teardown.sh20
-rw-r--r--test/csit/plans/portal-sdk/testsuite/testplan.txt3
-rw-r--r--test/csit/plans/portal/testsuite/.env20
-rw-r--r--test/csit/plans/portal/testsuite/docker-compose.yml10
-rw-r--r--test/csit/plans/portal/testsuite/setup.sh36
-rwxr-xr-xtest/csit/scripts/policy/script1.sh49
-rwxr-xr-xtest/csit/scripts/policy/wait_for_port.sh18
-rw-r--r--test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot10
-rw-r--r--test/csit/tests/appc/healthcheck/APPC_Netstat.robot8
-rw-r--r--test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot52
-rw-r--r--test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt25
-rw-r--r--test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt24
-rw-r--r--test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot47
-rw-r--r--test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt24
-rw-r--r--test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot50
-rw-r--r--test/csit/tests/appc/healthcheck/gettime.robot40
-rw-r--r--test/csit/tests/appc/testsuite/APPC_Netstat.robot19
-rw-r--r--test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot33
-rw-r--r--test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot31
-rw-r--r--test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot45
-rw-r--r--test/csit/tests/policy/suite1/Policy-CSIT.robot22
-rw-r--r--test/csit/tests/policy/suite1/test1.robot30
-rw-r--r--test/csit/tests/portal-sdk/testsuites/__init__.robot2
-rw-r--r--test/csit/tests/portal-sdk/testsuites/test1.robot148
-rw-r--r--test/csit/tests/portal/testsuites/test1.robot458
-rw-r--r--test/csit/tests/vfc/gvnfm-vnflcm/test.robot24
-rwxr-xr-xtest/csit/tests/vfc/nfvo-driver-ems/test.robot2
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