diff options
Diffstat (limited to 'test')
33 files changed, 986 insertions, 403 deletions
diff --git a/test/csit/plans/aaf/aafapi/setup.sh b/test/csit/plans/aaf/aafapi/setup.sh index e64fb5548..4a312704f 100644 --- a/test/csit/plans/aaf/aafapi/setup.sh +++ b/test/csit/plans/aaf/aafapi/setup.sh @@ -39,15 +39,15 @@ chmod -R 777 $WORKSPACE/archives/aafcsit/authz/auth/auth-service/src/main/resour docker-compose up -d # Wait for initialization of Docker contaienr for AAF & Cassandra -for i in {1..50}; do +for i in {1..12}; do if [ $(docker inspect --format '{{ .State.Running }}' dockercompose_aaf_container_1) ] && \ [ $(docker inspect --format '{{ .State.Running }}' dockercompose_cassandra_container_1) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' dockercompose_aaf_container_1) ] + [ $(docker inspect --format '{{ .State.Running }}' dockercompose_aaf_container_1) ] then - echo "AAF Service Running" - break - else - echo sleep $i + echo "AAF Service Running" + break + else + echo sleep $i sleep $i fi done @@ -62,11 +62,11 @@ echo CASSANDRA_IP=${CASSANDRA_IP} # Wait for initialization of docker services -for i in {1..50}; do - curl -sS -m 1 ${AAF_IP}:8101 && break +for i in {1..12}; do + curl -sS -m 1 ${AAF_IP}:8101 && break echo sleep $i sleep $i done #Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v AAF_IP:${AAF_IP}" +ROBOT_VARIABLES="-v AAF_IP:${AAF_IP}" diff --git a/test/csit/plans/portal-sdk/testsuite/.env b/test/csit/plans/portal-sdk/testsuite/.env index 0b7de9560..27e9aa3fb 100644 --- a/test/csit/plans/portal-sdk/testsuite/.env +++ b/test/csit/plans/portal-sdk/testsuite/.env @@ -2,25 +2,34 @@ # 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 +EP_IMG_NAME=onap/portal-app +SDK_IMG_NAME=onap/portal-sdk DB_IMG_NAME=onap/portal-db +CDR_IMG_NAME=onap/music/cassandra_music +ZK_IMG_NAME=zookeeper WMS_IMG_NAME=onap/portal-wms +# Deployed with portal; built elsewhere CLI_IMG_NAME=onap/cli # Tag all images with this -PORTAL_TAG=1.3.0 -DOCKER_IMAGE_VERSION=1.3-STAGING-latest +DOCKER_IMAGE_VERSION=2.1-STAGING-latest CLI_DOCKER_VERSION=1.1-STAGING-latest +CDR_IMAGE_VERSION=latest +ZK_IMAGE_VERSION=3.4 NEXUS_DOCKER_REPO=nexus3.onap.org:10003 +# This is used during builds and in docker-compose; +# it is never published to the ONAP registry. +PORTAL_TAG=beijing + +# Name of directory in apps container (NOT host) +WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps + +# Required settings with default values. +# Export shell environment variables on ALL hosts. +LOGS_DIR=./logs +PROPS_DIR=./properties # Optional settings with no defaults. EXTRA_HOST_IP="" diff --git a/test/csit/plans/portal-sdk/testsuite/docker-compose.yml b/test/csit/plans/portal-sdk/testsuite/docker-compose.yml index 7a9fb8caa..dda74c91a 100644 --- a/test/csit/plans/portal-sdk/testsuite/docker-compose.yml +++ b/test/csit/plans/portal-sdk/testsuite/docker-compose.yml @@ -1,11 +1,12 @@ # docker-compose for ONAP portal containers: database, microservice, portal apps. -# Relies on .env file in current directory. +# Relies on .env file, which CANNOT be specified via command-line option # 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 +# Uses healthcheck feature added in docker-compose v2.1 -version: '2.0' +version: '2.1' services: @@ -29,11 +30,51 @@ services: volumes: # Just specify a path and let the Engine create a volume - /var/lib/mysql + # Inject the onboarding script at start time + - ./Apps_Users_OnBoarding_Script.sql:/docker-entrypoint-initdb.d/zzz_apps_users_onboarding.sql logging: driver: json-file + healthcheck: + test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ] + timeout: 10s + retries: 30 + + # Config files may use hostname "portal-cassandra" + portal-cassandra: + image: ${CDR_IMG_NAME}:${PORTAL_TAG} + environment: + - CASSUSER=root + - CASSPASS=Aa123456 + expose: + - 7000 + - 7001 + - 7199 + - 9042 + - 9160 + ports: + - 7000:7000 + - 7001:7001 + - 7199:7199 + - 9042:9042 + - 9160:9160 + volumes: + - ./portal.cql:/docker-entrypoint-initdb.d/zzz_portal.cql + - ./portalsdk.cql:/docker-entrypoint-initdb.d/zzz_portalsdk.cql + links: + - portal-db + depends_on: + portal-db: + condition: service_healthy + + # Config files may use hostname "portal-zk" + portal-zk: + image: ${ZK_IMG_NAME}:${PORTAL_TAG} + expose: + - 2181 + ports: + - 2181:2181 - # An environment variable here CAN override the database URL; - # instead the value in the config file uses hostname from above + # The app config file uses the docker name above portal-wms: image: ${WMS_IMG_NAME}:${PORTAL_TAG} expose: @@ -41,25 +82,18 @@ services: links: - portal-db depends_on: - - portal-db + portal-db: + condition: service_healthy volumes: - - ${PROPS_DIR}/ECOMPWIDGETMS/application.properties:/application.properties + - ${PROPS_DIR}/ONAPWIDGETMS/application.properties:/application.properties + - ${PROPS_DIR}/ONAPWIDGETMS/application.yml:/application.yml command: - - /wait-for.sh - - -t - - "420" - - portal-db:3306 - - -- - - /start-wms-cmd.sh + - /start-wms.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: + portal-app: image: ${EP_IMG_NAME}:${PORTAL_TAG} - expose: - - 8989 ports: - 8989:8080 - 8010:8009 @@ -67,32 +101,51 @@ services: links: - portal-db - portal-wms + - portal-zk + - portal-cassandra depends_on: - - portal-db - - portal-wms + portal-db: + condition: service_healthy + portal-wms: + condition: service_started 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 + - ${PROPS_DIR}/ONAPPORTAL/system.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ONAPPORTAL/fusion.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/fusion/conf/fusion.properties + - ${PROPS_DIR}/ONAPPORTAL/portal.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ONAPPORTAL/music.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/music.properties + - ${PROPS_DIR}/ONAPPORTAL/openid-connect.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/openid-connect.properties + - ${PROPS_DIR}/ONAPPORTAL/logback.xml:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/logback.xml - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs command: - - /wait-for.sh - - -t - - "420" - - portal-db:3306 - - -- - - /start-apps-cmd.sh + - /start-apache-tomcat.sh # see comments in .env file + - -i - $EXTRA_HOST_IP + - -n - $EXTRA_HOST_NAME logging: driver: json-file + + portal-sdk: + image: ${SDK_IMG_NAME}:${PORTAL_TAG} + ports: + - 8990:8080 + links: + - portal-db + - portal-wms + - portal-zk + - portal-cassandra + depends_on: + portal-db: + condition: service_healthy + volumes: + - ${PROPS_DIR}/ONAPPORTALSDK/fusion.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/fusion/conf/fusion.properties + - ${PROPS_DIR}/ONAPPORTALSDK/system.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ONAPPORTALSDK/portal.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ONAPPORTALSDK/music.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/music.properties + - ${PROPS_DIR}/ONAPPORTALSDK/logback.xml:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/logback.xml + - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs + command: + - /start-apache-tomcat.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 index 0c90dc66b..6510311cb 100644 --- a/test/csit/plans/portal-sdk/testsuite/setup.sh +++ b/test/csit/plans/portal-sdk/testsuite/setup.sh @@ -48,7 +48,7 @@ NEXUS_DOCKER_REPO=nexus3.onap.org:10003 CURR="$(pwd)" -git clone http://gerrit.onap.org/r/portal -b "release-1.3.0" +git clone http://gerrit.onap.org/r/portal -b "master" # Refresh configuration and scripts cd portal @@ -80,15 +80,21 @@ 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/$DB_IMG_NAME:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$EP_IMG_NAME:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$SDK_IMG_NAME:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$CDR_IMG_NAME:$CDR_IMAGE_VERSION +docker pull $ZK_IMG_NAME:$ZK_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/$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/$SDK_IMG_NAME:$DOCKER_IMAGE_VERSION $SDK_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/$CDR_IMG_NAME:$CDR_IMAGE_VERSION $CDR_IMG_NAME:$PORTAL_TAG +docker tag $ZK_IMG_NAME:$ZK_IMAGE_VERSION $ZK_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 @@ -130,7 +136,7 @@ fi -sleep 3m +sleep 6m # WAIT 5 minutes maximum and test every 5 seconds if Portal up using HealthCheck API TIME_OUT=500 @@ -170,7 +176,7 @@ 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-app_1 docker logs deliveries_portal-wms_1 diff --git a/test/csit/plans/portal/testsuite/.env b/test/csit/plans/portal/testsuite/.env index 0b7de9560..27e9aa3fb 100644 --- a/test/csit/plans/portal/testsuite/.env +++ b/test/csit/plans/portal/testsuite/.env @@ -2,25 +2,34 @@ # 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 +EP_IMG_NAME=onap/portal-app +SDK_IMG_NAME=onap/portal-sdk DB_IMG_NAME=onap/portal-db +CDR_IMG_NAME=onap/music/cassandra_music +ZK_IMG_NAME=zookeeper WMS_IMG_NAME=onap/portal-wms +# Deployed with portal; built elsewhere CLI_IMG_NAME=onap/cli # Tag all images with this -PORTAL_TAG=1.3.0 -DOCKER_IMAGE_VERSION=1.3-STAGING-latest +DOCKER_IMAGE_VERSION=2.1-STAGING-latest CLI_DOCKER_VERSION=1.1-STAGING-latest +CDR_IMAGE_VERSION=latest +ZK_IMAGE_VERSION=3.4 NEXUS_DOCKER_REPO=nexus3.onap.org:10003 +# This is used during builds and in docker-compose; +# it is never published to the ONAP registry. +PORTAL_TAG=beijing + +# Name of directory in apps container (NOT host) +WEBAPPS_DIR=/opt/apache-tomcat-8.0.37/webapps + +# Required settings with default values. +# Export shell environment variables on ALL hosts. +LOGS_DIR=./logs +PROPS_DIR=./properties # Optional settings with no defaults. EXTRA_HOST_IP="" diff --git a/test/csit/plans/portal/testsuite/docker-compose.yml b/test/csit/plans/portal/testsuite/docker-compose.yml index 7a9fb8caa..dda74c91a 100644 --- a/test/csit/plans/portal/testsuite/docker-compose.yml +++ b/test/csit/plans/portal/testsuite/docker-compose.yml @@ -1,11 +1,12 @@ # docker-compose for ONAP portal containers: database, microservice, portal apps. -# Relies on .env file in current directory. +# Relies on .env file, which CANNOT be specified via command-line option # 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 +# Uses healthcheck feature added in docker-compose v2.1 -version: '2.0' +version: '2.1' services: @@ -29,11 +30,51 @@ services: volumes: # Just specify a path and let the Engine create a volume - /var/lib/mysql + # Inject the onboarding script at start time + - ./Apps_Users_OnBoarding_Script.sql:/docker-entrypoint-initdb.d/zzz_apps_users_onboarding.sql logging: driver: json-file + healthcheck: + test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ] + timeout: 10s + retries: 30 + + # Config files may use hostname "portal-cassandra" + portal-cassandra: + image: ${CDR_IMG_NAME}:${PORTAL_TAG} + environment: + - CASSUSER=root + - CASSPASS=Aa123456 + expose: + - 7000 + - 7001 + - 7199 + - 9042 + - 9160 + ports: + - 7000:7000 + - 7001:7001 + - 7199:7199 + - 9042:9042 + - 9160:9160 + volumes: + - ./portal.cql:/docker-entrypoint-initdb.d/zzz_portal.cql + - ./portalsdk.cql:/docker-entrypoint-initdb.d/zzz_portalsdk.cql + links: + - portal-db + depends_on: + portal-db: + condition: service_healthy + + # Config files may use hostname "portal-zk" + portal-zk: + image: ${ZK_IMG_NAME}:${PORTAL_TAG} + expose: + - 2181 + ports: + - 2181:2181 - # An environment variable here CAN override the database URL; - # instead the value in the config file uses hostname from above + # The app config file uses the docker name above portal-wms: image: ${WMS_IMG_NAME}:${PORTAL_TAG} expose: @@ -41,25 +82,18 @@ services: links: - portal-db depends_on: - - portal-db + portal-db: + condition: service_healthy volumes: - - ${PROPS_DIR}/ECOMPWIDGETMS/application.properties:/application.properties + - ${PROPS_DIR}/ONAPWIDGETMS/application.properties:/application.properties + - ${PROPS_DIR}/ONAPWIDGETMS/application.yml:/application.yml command: - - /wait-for.sh - - -t - - "420" - - portal-db:3306 - - -- - - /start-wms-cmd.sh + - /start-wms.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: + portal-app: image: ${EP_IMG_NAME}:${PORTAL_TAG} - expose: - - 8989 ports: - 8989:8080 - 8010:8009 @@ -67,32 +101,51 @@ services: links: - portal-db - portal-wms + - portal-zk + - portal-cassandra depends_on: - - portal-db - - portal-wms + portal-db: + condition: service_healthy + portal-wms: + condition: service_started 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 + - ${PROPS_DIR}/ONAPPORTAL/system.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ONAPPORTAL/fusion.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/fusion/conf/fusion.properties + - ${PROPS_DIR}/ONAPPORTAL/portal.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ONAPPORTAL/music.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/music.properties + - ${PROPS_DIR}/ONAPPORTAL/openid-connect.properties:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/openid-connect.properties + - ${PROPS_DIR}/ONAPPORTAL/logback.xml:${WEBAPPS_DIR}/ONAPPORTAL/WEB-INF/classes/logback.xml - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs command: - - /wait-for.sh - - -t - - "420" - - portal-db:3306 - - -- - - /start-apps-cmd.sh + - /start-apache-tomcat.sh # see comments in .env file + - -i - $EXTRA_HOST_IP + - -n - $EXTRA_HOST_NAME logging: driver: json-file + + portal-sdk: + image: ${SDK_IMG_NAME}:${PORTAL_TAG} + ports: + - 8990:8080 + links: + - portal-db + - portal-wms + - portal-zk + - portal-cassandra + depends_on: + portal-db: + condition: service_healthy + volumes: + - ${PROPS_DIR}/ONAPPORTALSDK/fusion.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/fusion/conf/fusion.properties + - ${PROPS_DIR}/ONAPPORTALSDK/system.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/conf/system.properties + - ${PROPS_DIR}/ONAPPORTALSDK/portal.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/portal.properties + - ${PROPS_DIR}/ONAPPORTALSDK/music.properties:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/music.properties + - ${PROPS_DIR}/ONAPPORTALSDK/logback.xml:${WEBAPPS_DIR}/ONAPPORTALSDK/WEB-INF/classes/logback.xml + - ${LOGS_DIR}:/opt/apache-tomcat-8.0.37/logs + command: + - /start-apache-tomcat.sh + logging: + driver: json-file diff --git a/test/csit/plans/portal/testsuite/setup.sh b/test/csit/plans/portal/testsuite/setup.sh index 0c90dc66b..76cf5f373 100644 --- a/test/csit/plans/portal/testsuite/setup.sh +++ b/test/csit/plans/portal/testsuite/setup.sh @@ -48,7 +48,7 @@ NEXUS_DOCKER_REPO=nexus3.onap.org:10003 CURR="$(pwd)" -git clone http://gerrit.onap.org/r/portal -b "release-1.3.0" +git clone http://gerrit.onap.org/r/portal -b "master" # Refresh configuration and scripts cd portal @@ -80,15 +80,21 @@ 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/$DB_IMG_NAME:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$EP_IMG_NAME:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$SDK_IMG_NAME:$DOCKER_IMAGE_VERSION +docker pull $NEXUS_DOCKER_REPO/$CDR_IMG_NAME:$CDR_IMAGE_VERSION +docker pull $ZK_IMG_NAME:$ZK_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/$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/$SDK_IMG_NAME:$DOCKER_IMAGE_VERSION $SDK_IMG_NAME:$PORTAL_TAG +docker tag $NEXUS_DOCKER_REPO/$CDR_IMG_NAME:$CDR_IMAGE_VERSION $CDR_IMG_NAME:$PORTAL_TAG +docker tag $ZK_IMG_NAME:$ZK_IMAGE_VERSION $ZK_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 @@ -130,7 +136,7 @@ fi -sleep 3m +sleep 6m # WAIT 5 minutes maximum and test every 5 seconds if Portal up using HealthCheck API TIME_OUT=500 @@ -169,8 +175,8 @@ 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-db_1 +docker logs deliveries_portal-app_1 docker logs deliveries_portal-wms_1 diff --git a/test/csit/plans/sdc/uiSanity/setup.sh b/test/csit/plans/sdc/uiSanity/setup.sh index fece98ff1..8f2bafda9 100644 --- a/test/csit/plans/sdc/uiSanity/setup.sh +++ b/test/csit/plans/sdc/uiSanity/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash -source ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh +source ${WORKSPACE}/test/csit/scripts/sdc/setup_sdc_for_ui_sanity.sh BE_IP=`get-instance-ip.sh sdc-BE` echo BE_IP=${BE_IP} diff --git a/test/csit/plans/so/sanity-check/setup.sh b/test/csit/plans/so/integration-testing/setup.sh index cd0cbdc33..cd0cbdc33 100644 --- a/test/csit/plans/so/sanity-check/setup.sh +++ b/test/csit/plans/so/integration-testing/setup.sh diff --git a/test/csit/plans/so/sanity-check/teardown.sh b/test/csit/plans/so/integration-testing/teardown.sh index 1696c745c..1696c745c 100644 --- a/test/csit/plans/so/sanity-check/teardown.sh +++ b/test/csit/plans/so/integration-testing/teardown.sh diff --git a/test/csit/plans/so/sanity-check/testplan.txt b/test/csit/plans/so/integration-testing/testplan.txt index 761c75c03..761c75c03 100644 --- a/test/csit/plans/so/sanity-check/testplan.txt +++ b/test/csit/plans/so/integration-testing/testplan.txt diff --git a/test/csit/scripts/clamp/clone_clamp_and_change_dockercompose.sh b/test/csit/scripts/clamp/clone_clamp_and_change_dockercompose.sh index e6e12f2d5..92e2f02ff 100755 --- a/test/csit/scripts/clamp/clone_clamp_and_change_dockercompose.sh +++ b/test/csit/scripts/clamp/clone_clamp_and_change_dockercompose.sh @@ -34,7 +34,7 @@ cd clamp/extra/docker/clamp/ sed -i '/image: onap\/clamp/c\ image: nexus3.onap.org:10001\/onap\/clamp' docker-compose.yml # Change config to take third_party_proxy:8085 for SDC, Policy and DCAE simulator -sed -i 's/\"classpath:\/clds\/clds-policy-config.properties\"/\"file:.\/config\/clds-policy-config-third_party_proxy.properties\",\"clamp.config.sdc.catalog.url\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/\",\"clamp.config.sdc.hostUrl\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.sdc.serviceUrl\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/services\",\"clamp.config.dcae.inventory.url\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.dcae.dispatcher.url\":\"http:\/\/third_party_proxy:8085\"/g' clamp.env +sed -i 's/}/,\"clamp.config.policy.pdpUrl1\":\"http:\/\/third_party_proxy:8085\/pdp\/ , testpdp, alpha123\",\"clamp.config.policy.pdpUrl2\":\"http:\/\/third_party_proxy:8085\/pdp\/ , testpdp, alpha123\",\"clamp.config.policy.papUrl\":\"http:\/\/third_party_proxy:8085\/pap\/ , testpap, alpha123\",\"clamp.config.policy.clientId\":\"python\",\"clamp.config.policy.clientKey\":\"dGVzdA==\",\"clamp.config.sdc.catalog.url\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/\",\"clamp.config.sdc.hostUrl\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.sdc.serviceUrl\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/services\",\"clamp.config.dcae.inventory.url\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.dcae.dispatcher.url\":\"http:\/\/third_party_proxy:8085\"}/g' clamp.env # Add the sql to create template so it is played by docker-compose later cp ../../../src/test/resources/sql/four_templates_only.sql ../../sql/bulkload/ diff --git a/test/csit/scripts/optf-has/has/has_script.sh b/test/csit/scripts/optf-has/has/has_script.sh index ed0f48838..ac907eea1 100755 --- a/test/csit/scripts/optf-has/has/has_script.sh +++ b/test/csit/scripts/optf-has/has/has_script.sh @@ -56,6 +56,12 @@ echo "AAISIM_IP=${AAISIM_IP}" # change AAI reference to the local instance sed -i -e "s%localhost:8081/%${AAISIM_IP}:8081/%g" /tmp/conductor/properties/conductor.conf +MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim` +echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}" + +# change MULTICLOUD reference to the local instance +sed -i -e "s%localhost:8082/%${MULTICLOUDSIM_IP}:8082/%g" /tmp/conductor/properties/conductor.conf + #onboard conductor into music curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" --data @${WORKSPACE}/test/csit/tests/optf-has/has/data/onboard.json diff --git a/test/csit/scripts/optf-has/has/simulator_script.sh b/test/csit/scripts/optf-has/has/simulator_script.sh index e5bc43dbe..2e8a0e6f4 100755 --- a/test/csit/scripts/optf-has/has/simulator_script.sh +++ b/test/csit/scripts/optf-has/has/simulator_script.sh @@ -30,11 +30,10 @@ cd ${DIR} # omit the -p parameter to create a temporal directory in the default location WORK_DIR=`mktemp -d -p "$DIR"` echo ${WORK_DIR} - cd ${WORK_DIR} +# clone optf-has project git clone https://gerrit.onap.org/r/optf/has -cd has/conductor/conductor/tests/functional/simulators/aaisim/ #echo "i am ${USER} : only non jenkins users may need proxy settings" if [ ${USER} != 'jenkins' ]; then @@ -44,6 +43,9 @@ if [ ${USER} != 'jenkins' ]; then fi +# prepare aaisim +cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/aaisim/ + # check Dockerfile content cat ./Dockerfile @@ -58,8 +60,26 @@ echo "AAISIM_IP=${AAISIM_IP}" ${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${AAISIM_IP} 8081 +# prepare multicloudsim +cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/multicloudsim/ + +# check Dockerfile content +cat ./Dockerfile + +# build multicloudsim +docker build -t multicloudsim . + +# run multicloudsim +docker run -d --name multicloudsim -p 8082:8082 multicloudsim + +MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim` +echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}" + +${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${MULTICLOUDSIM_IP} 8082 + # wait a while before continuing sleep 2 echo "inspect docker things for tracing purpose" docker inspect aaisim +docker inspect multicloudsim diff --git a/test/csit/scripts/optf-has/has/simulator_teardown_script.sh b/test/csit/scripts/optf-has/has/simulator_teardown_script.sh index e300a985a..a2edd3328 100755 --- a/test/csit/scripts/optf-has/has/simulator_teardown_script.sh +++ b/test/csit/scripts/optf-has/has/simulator_teardown_script.sh @@ -16,6 +16,7 @@ # echo "optf/has scripts docker containers killing"; docker stop aaisim +docker stop multicloudsim docker rm aaisim - +docker rm multicloudsim diff --git a/test/csit/scripts/policy/script1.sh b/test/csit/scripts/policy/script1.sh index a09fa5f24..0db34f080 100755 --- a/test/csit/scripts/policy/script1.sh +++ b/test/csit/scripts/policy/script1.sh @@ -123,7 +123,7 @@ echo ${NEXUS_IP} MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` echo ${MARIADB_IP} -sleep 1m +sleep 5m netstat -tnl diff --git a/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot b/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot index f837bae53..f820ef632 100644 --- a/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot +++ b/test/csit/tests/clamp/APIs/01__Create_CL_Holmes.robot @@ -4,6 +4,9 @@ Library RequestsLibrary Library OperatingSystem Library json +*** Variables *** +${login} admin +${passw} password *** Test Cases *** Get Requests health check ok @@ -12,7 +15,7 @@ Get Requests health check ok Should Be Equal As Strings ${resp.status_code} 200 Get Requests verify test template found - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/cldsTempate/template-names Should Be Equal As Strings ${resp.status_code} 200 @@ -21,7 +24,7 @@ Get Requests verify test template found Should Not Contain Match ${resp} *templateHolmes99* Put Requests to add Close Loop ClHolmes1 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${data}= Get Binary File ${CURDIR}${/}data${/}createClHolmes1.json &{headers}= Create Dictionary Content-Type=application/json @@ -29,7 +32,7 @@ Put Requests to add Close Loop ClHolmes1 Should Be Equal As Strings ${resp.status_code} 200 Put Requests to add Close Loop ClHolmes2 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${data}= Get Binary File ${CURDIR}${/}data${/}createClHolmes2.json &{headers}= Create Dictionary Content-Type=application/json @@ -37,7 +40,7 @@ Put Requests to add Close Loop ClHolmes2 Should Be Equal As Strings ${resp.status_code} 200 Get Requests verify CL1 found - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Be Equal As Strings ${resp.status_code} 200 diff --git a/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot b/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot index c86b2a71c..5dfa87904 100644 --- a/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot +++ b/test/csit/tests/clamp/APIs/02__Create_CL_TCA.robot @@ -4,6 +4,9 @@ Library RequestsLibrary Library OperatingSystem Library json +*** Variables *** +${login} admin +${passw} password *** Test Cases *** Get Requests health check ok @@ -12,7 +15,7 @@ Get Requests health check ok Should Be Equal As Strings ${resp.status_code} 200 Get Requests verify test template found - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/cldsTempate/template-names Should Be Equal As Strings ${resp.status_code} 200 @@ -21,7 +24,7 @@ Get Requests verify test template found Should Not Contain Match ${resp} *templateTCA99* Put Requests to add Close Loop ClHolmes1 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${data}= Get Binary File ${CURDIR}${/}data${/}createClTCA1.json &{headers}= Create Dictionary Content-Type=application/json @@ -29,7 +32,7 @@ Put Requests to add Close Loop ClHolmes1 Should Be Equal As Strings ${resp.status_code} 200 Put Requests to add Close Loop ClHolmes2 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${data}= Get Binary File ${CURDIR}${/}data${/}createClTCA2.json &{headers}= Create Dictionary Content-Type=application/json @@ -37,7 +40,7 @@ Put Requests to add Close Loop ClHolmes2 Should Be Equal As Strings ${resp.status_code} 200 Get Requests verify CL1 found - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Be Equal As Strings ${resp.status_code} 200 diff --git a/test/csit/tests/clamp/APIs/03__VariousApis.robot b/test/csit/tests/clamp/APIs/03__VariousApis.robot index df6e7e41f..fb671ca41 100644 --- a/test/csit/tests/clamp/APIs/03__VariousApis.robot +++ b/test/csit/tests/clamp/APIs/03__VariousApis.robot @@ -4,24 +4,27 @@ Library RequestsLibrary Library OperatingSystem Library json +*** Variables *** +${login} admin +${passw} password *** Test Cases *** Get Clamp properties - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/properties Dictionary Should Contain Key ${resp.json()} global Dictionary Should Contain Key ${resp.json()['global']} location Get Clamp Info - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/cldsInfo Dictionary Should Contain Key ${resp.json()} userName Dictionary Should Contain Key ${resp.json()} cldsVersion Get model bpmn by name - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/bpmn/ClHolmes1 Should Contain Match ${resp} *StartEvent_* @@ -31,7 +34,7 @@ Get model bpmn by name Should Contain Match ${resp} *EndEvent_* Get model names - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Contain Match ${resp} *ClHolmes1* diff --git a/test/csit/tests/clamp/APIs/04__Verify_API_Models.robot b/test/csit/tests/clamp/APIs/04__Verify_API_Models.robot index 1bca5949e..3ae6aeeb9 100644 --- a/test/csit/tests/clamp/APIs/04__Verify_API_Models.robot +++ b/test/csit/tests/clamp/APIs/04__Verify_API_Models.robot @@ -4,9 +4,13 @@ Library RequestsLibrary Library OperatingSystem Library json +*** Variables *** +${login} admin +${passw} password + *** Test Cases *** Verify HolmesModel1 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/ClHolmes1 Should Contain Match ${resp} *templateHolmes1* @@ -19,7 +23,7 @@ Verify HolmesModel1 Should Contain Match ${resp} *Config Policy name1* Verify HolmesModel2 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/ClHolmes2 Should Contain Match ${resp} *templateHolmes2* @@ -33,7 +37,7 @@ Verify HolmesModel2 Should Contain Match ${resp} *Config Policy Name2* Verify TCAModel1 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/ClTCA1 Should Contain Match ${resp} *templateTCA1* @@ -46,7 +50,7 @@ Verify TCAModel1 Should Contain Match ${resp} *ONSET* Verify TCAModel2 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/ClTCA2 Should Contain Match ${resp} *templateTCA2* @@ -61,7 +65,7 @@ Verify TCAModel2 Should Contain Match ${resp} *VM* Get model names - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Contain Match ${resp} *ClHolmes1* diff --git a/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot b/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot index 02cfecb69..3f87179cb 100644 --- a/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot +++ b/test/csit/tests/clamp/UIs/01__Create_Holmes_model.robot @@ -7,6 +7,8 @@ Library Selenium2Library Library XvfbRobot *** Variables *** +${login} admin +${passw} password ${SELENIUM_SPEED_FAST} .2 seconds ${SELENIUM_SPEED_SLOW} .5 seconds @@ -26,8 +28,8 @@ Open Browser Should Be Equal CLDS ${title} Good Login to Clamp UI and Verify logged in - Input Text locator=username text=admin - Input Text locator=password text=password + Input Text locator=username text=${login} + Input Text locator=password text=${passw} Press Key locator=password key=\\13 Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin @@ -84,7 +86,7 @@ Close Browser Close Browser Verify Holmes CL well created - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Contain Match ${resp} *HolmesModel1* diff --git a/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot b/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot index 8a8d9afb4..99d93c312 100644 --- a/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot +++ b/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot @@ -7,6 +7,8 @@ Library Selenium2Library Library XvfbRobot *** Variables *** +${login} admin +${passw} password ${SELENIUM_SPEED_FAST} .2 seconds ${SELENIUM_SPEED_SLOW} .5 seconds @@ -26,8 +28,8 @@ Open Browser Should Be Equal CLDS ${title} Good Login to Clamp UI and Verify logged in - Input Text locator=username text=admin - Input Text locator=password text=password + Input Text locator=username text=${login} + Input Text locator=password text=${passw} Press Key locator=password key=\\13 Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin @@ -63,7 +65,19 @@ Set Policy Box properties for TCAModel1 Input Text locator=timeout text=400 Click Button locator=Close -### Cannot set TCA box attributes due to element not interractable with Selenium +Set TCA Box properties for TCAModel1 + Wait Until Element Is Visible xpath=//*[@data-element-id="Policy_12lup3h"] timeout=60 + Click Element xpath=//*[@data-element-id="TCA_1d13unw"] + Input Text xpath=(//input[@id='tname'])[2] text=TCA1 + Select From List By Label xpath=//*[@id="tcaPol"] Policy2 + Select From List By Label xpath=//*[@id="eventName"] vCPEvGMUXPacketLoss +### Cannot set all TCA box attributes due to element not interractable with Selenium +# Select From List By Label xpath=//*[@id="controlLoopSchemaType"] VNF +# Select From List By Index xpath=//*[@id="controlLoopSchemaType"] 1 + Click Element xpath=(//button[@id='createNewThresh'])[2] + Input Text xpath=(//input[@id='threshold'])[2] 6 +# Select From List By Label xpath=//*[@id="closedLoopEventStatus"] ONSET + Click Button id=savePropsBtn Save Model from Menu Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60 @@ -79,7 +93,7 @@ Close Browser Close Browser Verify TCA CL well create - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Contain Match ${resp} *TCAModel1* diff --git a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot index 634d171ba..70cbf1262 100644 --- a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot +++ b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot @@ -4,9 +4,13 @@ Library RequestsLibrary Library OperatingSystem Library json +*** Variables *** +${login} admin +${passw} password + *** Test Cases *** Verify HolmesModel1 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/HolmesModel1 Should Contain Match ${resp} *templateHolmes1* @@ -21,7 +25,7 @@ Verify HolmesModel1 Should Contain Match ${resp} *config Policy Name1* Verify TCAModel1 - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model/TCAModel1 Should Contain Match ${resp} *templateTCA1* @@ -35,7 +39,7 @@ Verify TCAModel1 Should Contain Match ${resp} *400* Get model names - ${auth}= Create List admin password + ${auth}= Create List ${login} ${passw} Create Session clamp http://localhost:8080 auth=${auth} ${resp}= Get Request clamp /restservices/clds/v1/clds/model-names Should Contain Match ${resp} *HolmesModel1* diff --git a/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot b/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot new file mode 100644 index 000000000..f400156d1 --- /dev/null +++ b/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot @@ -0,0 +1,130 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library Selenium2Library +Library XvfbRobot + +*** Variables *** +${login} admin +${passw} password +${SELENIUM_SPEED_FAST} .2 seconds +${SELENIUM_SPEED_SLOW} .5 seconds + +*** Test Cases *** +Get Requests health check ok + CreateSession clamp http://localhost:8080 + ${resp}= Get Request clamp /restservices/clds/v1/clds/healthcheck + Should Be Equal As Strings ${resp.status_code} 200 + +Open Browser +# Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. + Start Virtual Display 1920 1080 + Open Browser http://localhost:8080/designer/index.html browser=firefox + Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Set Window Size 1920 1080 + ${title}= Get Title + Should Be Equal CLDS ${title} + +Good Login to Clamp UI and Verify logged in + Input Text locator=username text=${login} + Input Text locator=password text=${passw} + Press Key locator=password key=\\13 + Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 + Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin + +Open Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[1]/a + Wait Until Element Is Visible locator=Open CL timeout=60 + Click Element locator=Open CL + Select From List By Label id=modelName HolmesModel1 + Click Button locator=OK + Element Should Contain xpath=//*[@id="modeler_name"] Closed Loop Modeler - HolmesModel1 + Element Should Contain xpath=//*[@id="status_clds"] DESIGN + +Validate-Test Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Validation Test timeout=60 + Click Element locator=Validation Test + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:TEST + Element Should Contain xpath=//*[@id="status_clds"] DESIGN + +Submit Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Submit timeout=60 + Click Element locator=Submit + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:SUBMIT + Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED + +Resubmit Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Resubmit timeout=60 + Click Element locator=Resubmit + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:RESUBMIT + Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED + +Deploy Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Deploy timeout=60 + Click Element locator=Deploy + Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60 + Input Text xpath=//*[@id="deployProperties"] text={} + Click Button locator=Deploy + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:deploy + Element Should Contain xpath=//*[@id="status_clds"] ACTIVE + +Update Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Update timeout=60 + Click Element locator=Update + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:UPDATE + Element Should Contain xpath=//*[@id="status_clds"] ACTIVE + +Stop Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Stop timeout=60 + Click Element locator=Stop + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:STOP + Element Should Contain xpath=//*[@id="status_clds"] STOPPED + +Restart Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Restart timeout=60 + Click Element locator=Restart + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:RESTART + Element Should Contain xpath=//*[@id="status_clds"] ACTIVE + +UnDeploy Holmes CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=UnDeploy timeout=60 + Click Element locator=UnDeploy + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:undeploy + Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED + +Close Browser + Close Browser diff --git a/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot b/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot new file mode 100644 index 000000000..34c1a71ef --- /dev/null +++ b/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot @@ -0,0 +1,130 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library Selenium2Library +Library XvfbRobot + +*** Variables *** +${login} admin +${passw} password +${SELENIUM_SPEED_FAST} .2 seconds +${SELENIUM_SPEED_SLOW} .5 seconds + +*** Test Cases *** +Get Requests health check ok + CreateSession clamp http://localhost:8080 + ${resp}= Get Request clamp /restservices/clds/v1/clds/healthcheck + Should Be Equal As Strings ${resp.status_code} 200 + +Open Browser +# Next line is to be enabled for Headless tests only (jenkins?). To see the tests disable the line. + Start Virtual Display 1920 1080 + Open Browser http://localhost:8080/designer/index.html browser=firefox + Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Set Window Size 1920 1080 + ${title}= Get Title + Should Be Equal CLDS ${title} + +Good Login to Clamp UI and Verify logged in + Input Text locator=username text=${login} + Input Text locator=password text=${passw} + Press Key locator=password key=\\13 + Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 + Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin + +Open TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[1]/a + Wait Until Element Is Visible locator=Open CL timeout=60 + Click Element locator=Open CL + Select From List By Label id=modelName TCAModel1 + Click Button locator=OK + Element Should Contain xpath=//*[@id="modeler_name"] Closed Loop Modeler - TCAModel1 + Element Should Contain xpath=//*[@id="status_clds"] DESIGN + +Validate-Test TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Validation Test timeout=60 + Click Element locator=Validation Test + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:TEST + Element Should Contain xpath=//*[@id="status_clds"] DESIGN + +Submit TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Submit timeout=60 + Click Element locator=Submit + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:SUBMIT + Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED + +Resubmit TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Resubmit timeout=60 + Click Element locator=Resubmit + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:RESUBMIT + Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED + +Deploy TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Deploy timeout=60 + Click Element locator=Deploy + Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60 + Input Text xpath=//*[@id="deployProperties"] text={} + Click Button locator=Deploy + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:deploy + Element Should Contain xpath=//*[@id="status_clds"] ACTIVE + +Update TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Update timeout=60 + Click Element locator=Update + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:UPDATE + Element Should Contain xpath=//*[@id="status_clds"] ACTIVE + +Stop TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Stop timeout=60 + Click Element locator=Stop + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:STOP + Element Should Contain xpath=//*[@id="status_clds"] STOPPED + +Restart TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=Restart timeout=60 + Click Element locator=Restart + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:RESTART + Element Should Contain xpath=//*[@id="status_clds"] ACTIVE + +UnDeploy TCA CL + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[2]/a + Wait Until Element Is Visible locator=UnDeploy timeout=60 + Click Element locator=UnDeploy + Click Button locator=Yes + Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 + Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful:undeploy + Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED + +Close Browser + Close Browser diff --git a/test/csit/tests/policy/suite1/Policy-CSIT.robot b/test/csit/tests/policy/suite1/Policy-CSIT.robot index fd5e23048..5909abd29 100644 --- a/test/csit/tests/policy/suite1/Policy-CSIT.robot +++ b/test/csit/tests/policy/suite1/Policy-CSIT.robot @@ -16,10 +16,12 @@ ${CREATE_CONFIG_VFW_TEMPLATE} ${CURDIR}/configpolicy_vFW_R1.template ${CREATE_CONFIG_VDNS_TEMPLATE} ${CURDIR}/configpolicy_vDNS_R1.template ${CREATE_CONFIG_VCPE_TEMPLATE} ${CURDIR}/configpolicy_vCPE_R1.template ${CREATE_OPS_VFW_TEMPLATE} ${CURDIR}/opspolicy_VFW_R1.template +${CREATE_OOF_HPA_TEMPLATE} ${CURDIR}/oofpolicy_HPA_R1.template ${PUSH_POLICY_TEMPLATE} ${CURDIR}/pushpolicy.template ${CREATE_OPS_VDNS_TEMPLATE} ${CURDIR}/opspolicy_VDNS_R1.template ${DEL_POLICY_TEMPLATE} ${CURDIR}/deletepolicy.template ${GETCONFIG_TEMPLATE} ${CURDIR}/getconfigpolicy.template +${GETOOF_TEMPLATE} ${CURDIR}/getoofpolicy.template ${CONFIG_POLICY_VFW_NAME} vFirewall ${CONFIG_POLICY_VFW_TYPE} MicroService ${CONFIG_POLICY_VDNS_NAME} vLoadBalancer @@ -34,6 +36,8 @@ ${OPS_POLICY_VCPE_NAME} vCPE ${OPS_POLICY_VCPE_TYPE} BRMS_PARAM ${OPS_POLICY_VOLTE_NAME} VoLTE ${OPS_POLICY_VOLTE_TYPE} BRMS_PARAM +${OOF_POLICY_HPA_NAME} HPA +${OOF_POLICY_HPA_TYPE} Optimization ${file_path} ../testsuite/robot/assets/templates/ControlLoopDemo__closedLoopControlName.drl ${RESOURCE_PATH_UPLOAD} /pdp/api/policyEngineImport?importParametersJson=%7B%22serviceName%22%3A%22Manyu456%22%2C%20%22serviceType%22%3A%22BRMSPARAM%22%7D ${CREATE_OPS_VCPE_TEMPLATE} ${CURDIR}/opspolicy_vCPE_R1.template @@ -75,6 +79,12 @@ 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 + +HPA OOF Policy + ${OOF_POLICY_HPA_NAME}= Create OOF HPA Policy + Push Config Policy ${OOF_POLICY_HPA_NAME} ${OOF_POLICY_HPA_TYPE} + #HPA Policy Tests + VFW Get Configs Policy Sleep 5s Get Configs VFW Policy @@ -87,6 +97,10 @@ VCPE Get Configs Policy Sleep 5s Get Configs VCPE Policy +HPA Get OOF Policy + Sleep 5s + Get OOF HPA Policy + *** Keywords *** VFW Policy Tests @@ -114,6 +128,11 @@ VOLTE Policy Tests ${OPS_POLICY_VOLTE_NAME}= Create Ops VOLTE Policy Push Ops Policy ${OPS_POLICY_VOLTE_NAME} ${OPS_POLICY_VOLTE_TYPE} +HPA Policy Tests + ${OOF_POLICY_HPA_NAME}= Create OOF HPA Policy + Push Config Policy ${OOF_POLICY_HPA_NAME} ${OOF_POLICY_HPA_TYPE} + Get OOF HPA Policy + Get Configs VFW Policy [Documentation] Get Config Policy for VFW ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VFW_NAME}* @@ -122,6 +141,26 @@ Get Configs VFW Policy ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} Should Be Equal As Strings ${get_resp.status_code} 200 +Create OOF HPA Policy + [Documentation] Create OOF Policy + ${randompolicyname} = Create Policy Name + ${policyname1}= Catenate com.${randompolicyname}_HPA + ${OOF_POLICY_HPA_NAME}= Set Test Variable ${policyname1} + ${hpapolicy}= Create Dictionary policy_name=${policyname1} + ${output} = Fill JSON Template File ${CREATE_OOF_HPA_TEMPLATE} ${hpapolicy} + ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output} + Log ${put_resp} + Should Be Equal As Strings ${put_resp.status_code} 200 + [Return] ${policyname1} + +Get OOF HPA Policy + [Documentation] Get OOF Policy for HPA + ${gethpapolicy}= Catenate .*${OOF_POLICY_HPA_NAME}* + ${hpapolicy_name}= Create Dictionary oof_policy_name=${gethpapolicy} + ${output} = Fill JSON Template File ${GETOOF_TEMPLATE} ${hpapolicy_name} + ${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output} + Should Be Equal As Strings ${get_resp.status_code} 200 + Create Config VFW Policy [Documentation] Create Config Policy ${randompolicyname} = Create Policy Name @@ -186,6 +225,15 @@ Delete Config Policy ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} Should Be Equal As Strings ${put_resp.status_code} 200 +Delete OOF Policy + [Documentation] Delete OOF Policy + [Arguments] ${policy_name} + ${policyname3}= Catenate com.Config_OOF_${policy_name}.1.xml + ${dict}= Create Dictionary policy_name=${policyname3} + ${output} = Fill JSON Template ${DEL_POLICY_TEMPLATE} ${dict} + ${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output} + Should Be Equal As Strings ${put_resp.status_code} 200 + Get Configs VDNS Policy [Documentation] Get Config Policy for VDNS ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VDNS_NAME}* @@ -267,4 +315,4 @@ Upload DRL file # ${files2} = {'file': open('../testsuite/robot/assets/templates/ControlLoopDemo__closedLoopControlName.drl', 'rb')} # ${files}= Create Dictionary file ${file_data} ${put_resp} = Run Policy Post form Request ${RESOURCE_PATH_UPLOAD} ${files} - Should Be Equal As Strings ${put_resp.status_code} 200
\ No newline at end of file + Should Be Equal As Strings ${put_resp.status_code} 200 diff --git a/test/csit/tests/policy/suite1/getoofpolicy.template b/test/csit/tests/policy/suite1/getoofpolicy.template new file mode 100644 index 000000000..37fe0471b --- /dev/null +++ b/test/csit/tests/policy/suite1/getoofpolicy.template @@ -0,0 +1,6 @@ +{ + "configAttributes" : { + }, + "policyName" : "${oof_policy_name}", + "unique" : false +} diff --git a/test/csit/tests/policy/suite1/oofpolicy_HPA_R1.template b/test/csit/tests/policy/suite1/oofpolicy_HPA_R1.template new file mode 100644 index 000000000..3a170b207 --- /dev/null +++ b/test/csit/tests/policy/suite1/oofpolicy_HPA_R1.template @@ -0,0 +1,6 @@ +{ + "configBody": "{\"service\":\"hpaPolicy\",\"policyName\":\"testWorkingTOSCA\",\"description\":\"testing\",\"templateVersion\":\"OpenSource.version.1\",\"version\":\"CSIT\",\"priority\":\"5\",\"riskType\":\"SampleRiskType\",\"riskLevel\":\"3\",\"guard\":\"False\",\"content\":{\"identity\":\"testIdentity\",\"policyScope\":[\"test1\",\"test2\",\"test3\"],\"policyType\":\"hpaPolicy\",\"resources\":\"testResources1\",\"flavorFeatures\":[{\"flavorLabel\":\"testFlavor\",\"flavorProperties\":[{\"score\":\"testScore\",\"featureAttributes\":[{\"unit\":\"testUnit\",\"attribute\":\"teatFeatureAttribute\",\"value\":\"testValue\",\"operator\":\"any\"}],\"mandatory\":\"testMandatory\",\"hpaFeature\":\"testHAPFeature\",\"architecture\":\"testArch\"}]}]}}", + "policyConfigType": "Optimization", + "policyName": "${policy_name}", + "onapName": "OOF" +} diff --git a/test/csit/tests/portal-sdk/testsuites/test1.robot b/test/csit/tests/portal-sdk/testsuites/test1.robot index 84579d017..00714024f 100644 --- a/test/csit/tests/portal-sdk/testsuites/test1.robot +++ b/test/csit/tests/portal-sdk/testsuites/test1.robot @@ -6,15 +6,15 @@ Library XvfbRobot *** Variables *** -${PORTAL_URL} http://portal.api.simpledemo.onap.org:8989 -${PORTAL_ENV} /ONAPPORTAL +${PORTAL_URL} http://portal.api.simpledemo.onap.org:8990 +${PORTAL_ENV} /ONAPPORTALSDK ${PORTAL_LOGIN_URL} ${PORTAL_URL}${PORTAL_ENV}/login.htm -${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome +${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/welcome ${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_PORTAL_ADMIN_PWD} demo ${GLOBAL_SELENIUM_BROWSER} chrome ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary ${GLOBAL_SELENIUM_DELAY} 0 @@ -36,115 +36,105 @@ Portal admin Login To Portal GUI 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 + # 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} + Input Text xpath=//input[@id='loginId'] ${GLOBAL_PORTAL_ADMIN_USER} + Input Password xpath=//input[@id='password'] ${GLOBAL_PORTAL_ADMIN_PWD} + Click Element //*[@id="loginBtn"] + Wait Until Page Contains Element xpath=//img[@src='app/fusionapp/icons/logo_onap_transbg.png'] ${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] - Go To ${PORTAL_HOME_PAGE} - Dismiss Alert accept=false - #Scroll Element Into View xpath=//span[@id='tab-Home'] - #Click Element xpath=//span[@id='tab-Home'] +SDKPortalAdmin Navigation Application Link Tab + [Documentation] Logs into Portal GUI as Portal admin + Comment Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] + Comment Go To ${PORTAL_HOME_PAGE} + Comment Dismiss Alert accept=false + #Scroll Element Into View xpath=//span[@id='tab-Home'] + #Click Element xpath=//span[@id='tab-Home'] #Click Element xpath=(//span[@id='tab-xDemo-App']/following::i[@class='ion-close-round'])[1] - Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] - - - -Validate SDK Sub Menu - [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 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 Reports and validate sub Menu - [Documentation] Click Reports Tab + Comment Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] + +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 Sample Pages and validate sub Menu + #[Documentation] Click Sample Pages + #Comment 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 + #Comment 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 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 - + 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 + Comment 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 + Comment 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 + Comment 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 + Comment 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 + Comment 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 + Comment 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 + Comment 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 + Comment 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 bbbe5172f..90aa10788 100644 --- a/test/csit/tests/portal/testsuites/test1.robot +++ b/test/csit/tests/portal/testsuites/test1.robot @@ -62,6 +62,7 @@ ${jira} jira ${RESOURCE_PATH} ONAPPORTAL/auxapi/ticketevent ${portal_Template} ${CURDIR}/portal.template +${Result} FALSE *** Test Cases *** @@ -72,133 +73,128 @@ Portal Health Check 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 + # [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 Microse service onboarding + #Portal admin Microservice Onboarding +#Delete Microse service + #Portal admin Microservice Delete -Create Widget for all users - Portal Admin Create Widget for All users - -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 Widget for all users + #Portal Admin Create Widget for All users + +# 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 -Validate Functional Top Menu Get Access - Functional Top Menu Get Access +#Validate Functional Top Menu Get Access + #Functional Top Menu Get Access -Validate Functional Top Menu Contact Us - Functional Top Menu Contact Us +#Validate Functional Top Menu Contact Us + #Functional Top Menu Contact Us -Edit Functional Menu - Portal admin Edit Functional menu +#Edit Functional Menu + #Portal admin Edit Functional menu -Broadbond Notification functionality - ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications - set global variable ${AdminBroadCastMsg} +# Broadbond Notification functionality + # ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications + # set global variable ${AdminBroadCastMsg} - -Category Notification functionality - ${AdminCategoryMsg}= Portal Admin Category Notifications - set global variable ${AdminCategoryMsg} - -Create a Test user for Application Admin -Test - Portal admin Add Application admin User New user -Test +# Category Notification functionality + # ${AdminCategoryMsg}= Portal Admin Category Notifications + # set global variable ${AdminCategoryMsg} + +#Create a Test user for Application Admin -Test + #Portal admin Add Application admin User New user -Test -Create a Test User for Apllication Admin - Portal admin Add Application admin User New user +#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 Existing User Test user + #Portal admin Add Application Admin Exiting User -APPDEMO -Create a Test user for Standared User - Portal admin Add Standard User New user +#Create a Test user for Standared User + #Portal admin Add Standard User New user -Add Application Admin for Exisitng User - Portal admin Add Application Admin Exiting User +#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 +#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 +# 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 +# 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 - - - - +#Delete Standard User Role for Existing user + #Portal admin Delete Standard User Existing user + 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 - - +# Application Admin user Test cases + +#Login To Portal GUI as APP Admin + #Application admin Login To Portal GUI + ##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 +# 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 +# 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 +# Delete Standard User Role for Existing user as APP Admin + # Application admin Delete Standard User Existing user -#Navigate Application Link as APP Admin -# Application Admin Navigation Application Link Tab +# #Navigate Application Link as APP Admin +# # Application Admin Navigation Application Link Tab -Logout from Portal GUI as APP Admin - Application admin Logout from Portal GUI +#Logout from Portal GUI as APP Admin + #Application admin Logout from Portal GUI +#Standard User Test cases -Login To Portal GUI as Standared User - Standared user Login To 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} +# Broadcast Notifications Standared user + # Standared user Broadcast Notifications ${AdminBroadCastMsg} -Category Notifications Standared user - Standared user Category Notifications ${AdminCategoryMsg} +# Category Notifications Standared user + # Standared user Category Notifications ${AdminCategoryMsg} Teardown [Documentation] Close All Open browsers Close All Browsers - - - - - *** Keywords *** Setup Browser @@ -296,6 +292,8 @@ Portal admin Add Application Admin Exiting User Click Button xpath=//input[@value='Select application'] Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1] Click Element xpath=(//li[contains(.,'xDemo App' )])[2] +# Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'Default' )])[1] +# Click Element xpath=(//li[contains(.,'Default' )])[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'] @@ -303,6 +301,7 @@ Portal admin Add Application Admin Exiting User Get Selenium Implicit Wait Click Link xpath=//a[@aria-label='Admins'] Click Element xpath=//input[@id='dropdown1'] +# Click Element xpath=//li[contains(.,'Default' )] Click Element xpath=//li[contains(.,'xDemo App' )] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${Existing_User} @@ -312,9 +311,16 @@ Portal admin Add Application Admin Exiting User Portal admin Delete Application Admin Existing User [Documentation] Naviage to Admins tab + Wait Until Element Is Visible xpath=//a[@title='Admins'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Click Link xpath=//a[@title='Admins'] + Wait Until Element Is Visible xpath=//h1[contains(.,'Admins')] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Page Should Contain Admins + Click Button xpath=//button[@ng-click='toggleSidebar()'] + Input Text xpath=//input[@id='input-table-search'] ${Existing_User} Click Element xpath=(//span[contains(.,'portal')] )[1] #Click Element xpath=(//span[contains(.,'demo')] )[1] Click Element xpath=//*[@id='select-app-xDemo-App']/following::i[@id='i-delete-application'] +# Click Element xpath=//*[@id='select-app-Default']/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'] @@ -340,6 +346,21 @@ Portal admin Add Application admin User New user Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${App_Loginpwd} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${App_LoginPwdCheck} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] + + ${Result}= Get Matching XPath Count xpath=//*[contains(text(),'User with same loginId already exists')] + + #log ${Result} + #${type_result}= Evaluate type(${Result}) + #log ${type_result} + + Run Keyword if '${Result}'== 0 AdminUser does not exist already + ... ELSE Goto Home Image + Set Selenium Implicit Wait 3000 + +Goto Home Image + Click Image xpath=//img[@alt='Onap Logo'] + +AdminUser does not exist already Click Button xpath=//button[@id='next-button'] #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] @@ -372,6 +393,18 @@ Portal admin Add Standard User New user Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${Sta_Loginpwd} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Sta_LoginPwdCheck} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] + + ${Result}= Get Matching XPath Count xpath=//*[contains(text(),'User with same loginId already exists')] + + #log ${Result} + #${type_result}= Evaluate type(${Result}) + #log ${type_result} + + Run Keyword if '${Result}'== 0 StaUser does not exist already + ... ELSE Goto Home Image + Set Selenium Implicit Wait 3000 + +StaUser does not exist already Click Button xpath=//button[@id='next-button'] #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] @@ -455,13 +488,7 @@ Portal admin Add Application Admin Exiting User -APPDEMO Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${App_First_Name} Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 - - - - - - - + Portal admin Add Standard User Existing user [Documentation] Naviage to Users tab Click Link xpath=//a[@title='Users'] @@ -472,10 +499,10 @@ Portal 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-xDemo-App'] - Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] - #Click Element xpath=//div[@id='div-app-name-dropdown-xDemo-App'] - #Click Element xpath=//div[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] +# Click Element xpath=//*[@id='div-app-name-dropdown-Default'] +# Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] + Click Element xpath=//div[@id='div-app-name-dropdown-xDemo-App'] + Click Element xpath=//div[@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 @@ -487,19 +514,24 @@ 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(.,'xDemo App')] - #Click Element xpath=//li[contains(.,'XDemo App')] +# Click Element xpath=//li[contains(.,'Default')] + 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 - - - + Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User + Set Selenium Implicit Wait 3000 + 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-Default'] +# Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] +# Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Portal-Notification-Admin-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'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Portal-Notification-Admin-checkbox'] +# Click Element xpath=//*[@id='div-app-name-dropdown-SDC'] +# Click Element xpath=//*[@id='div-app-name-SDC']/following::input[@id='Standard-User-checkbox'] +# Click Element xpath=//*[@id='div-app-name-SDC']/following::input[@id='Portal-Notification-Admin-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 @@ -508,22 +540,24 @@ Portal admin Edit Standard User Existing user #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 - + Set Selenium Implicit Wait 3000 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-Default']/following::*[@id='app-item-delete'][1] +# Click Element xpath=//*[@id='div-app-name-Default']/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] +# Scroll Element Into View xpath=//*[@id='div-app-name-SDC']/following::*[@id='app-item-delete'][1] +# Click Element xpath=//*[@id='div-app-name-SDC']/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'] demo - - - + #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'] demo + Set Selenium Implicit Wait 3000 Functional Top Menu Get Access [Documentation] Naviage to Support tab @@ -531,7 +565,7 @@ Functional Top Menu Get Access 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 - + Set Selenium Implicit Wait 3000 Functional Top Menu Contact Us [Documentation] Naviage to Support tab @@ -540,7 +574,7 @@ Functional Top Menu 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'] - + Set Selenium Implicit Wait 3000 Portal admin Edit Functional menu [Documentation] Naviage to Edit Functional menu tab @@ -583,7 +617,7 @@ Portal admin Edit Functional menu Mouse Over xpath=//*[contains(text(),'Design')] Set Selenium Implicit Wait 3000 Element Should Not Contain xpath=(.//*[contains(.,'Design')]/following::ul[1])[1] ONAP Test - + Set Selenium Implicit Wait 3000 Portal admin Microservice Onboarding @@ -605,11 +639,32 @@ Portal admin Microservice Onboarding 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 - - - + Set Selenium Implicit Wait 3000 + +Portal admin Microservice Delete + [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'] TestMS + Input Text xpath=//*[@name='desc'] TestMS + Click Element xpath=//input[@id='microservice-details-input-app'] + 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'] + 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 TestMS + Click Element xpath=(.//*[contains(text(),'TestMS')]/following::*[@ng-click='microserviceOnboarding.deleteService(rowData)'])[1] + Click Button xpath=//button[@id="div-confirm-ok-button"] + Set Selenium Implicit Wait 3000 + Portal Admin Create Widget for All users - [Documentation] Naviage to Create Widget menu tab + [Documentation] Navigate to Create Widget menu tab ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}//news_widget.zip Click Link xpath=//a[@title='Widget Onboarding'] Click Button xpath=//button[@ng-click='toggleSidebar()'] @@ -647,7 +702,6 @@ Portal Admin Delete Widget for All users #Table Column Should Contain .//*[@table-data='portalAdmin.portalAdminsTableData'] 0 ONAP-xDemo #Set Selenium Implicit Wait 3000 - Portal Admin Create Widget for Application Roles [Documentation] Naviage to Create Widget menu tab ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}//news_widget.zip @@ -677,10 +731,7 @@ Portal Admin Create Widget for Application Roles Page Should Contain ONAP-xDemo Set Selenium Implicit Wait 3000 GO TO ${PORTAL_HOME_PAGE} - - - - + Portal Admin Delete Widget for Application Roles #Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} #Page Should Contain ONAP-xDemo @@ -698,7 +749,7 @@ Portal Admin Delete Widget for Application Roles 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-xDemo - #Set Selenium Implicit Wait 3000 + Set Selenium Implicit Wait 3000 @@ -720,15 +771,14 @@ Portal Admin Edit Widget Click Element xpath=//div[@id='confirmation-button-next'] Element Should Not Contain xpath=//*[@table-data='ignoredTableData'] ONAP_VID Click Link xpath=//a[@id='close-button'] - - - + Set Selenium Implicit Wait 3000 Portal Admin Broadcast Notifications [Documentation] Portal Test Admin Broadcast Notifications - ${CurrentDay}= Get Current Date result_format=%m/%d/%Y - ${NextDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y - ${CurrentDate}= Get Current Date result_format=%m%d%y%H%M + + ${CurrentDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y + ${NextDay}= Get Current Date increment=48:00:00 result_format=%m/%d/%Y + ${CurrentDate}= Get Current Date increment=24:00:00 result_format=%m%d%y%H%M ${AdminBroadCastMsg}= catenate ONAP VID Broadcast Automation${CurrentDate} Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 @@ -744,15 +794,17 @@ Portal Admin Broadcast 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"] 2 ${AdminBroadCastMsg} + Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminBroadCastMsg} + Set Selenium Implicit Wait 3000 log ${AdminBroadCastMsg} [Return] ${AdminBroadCastMsg} Portal Admin Category Notifications [Documentation] Portal Admin Broadcast Notifications - ${CurrentDay}= Get Current Date result_format=%m/%d/%Y - ${NextDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y - ${CurrentDate}= Get Current Date result_format=%m%d%y%H%M + ${CurrentDay}= Get Current Date increment=24:00:00 result_format=%m/%d/%Y + ${NextDay}= Get Current Date increment=48:00:00 result_format=%m/%d/%Y +# ${CurrentDay}= Get Current Date result_format=%m/%d/%Y + ${CurrentDate}= Get Current Date increment=24:00:00 result_format=%m%d%y%H%M ${AdminCategoryMsg}= catenate ONAP VID Category Automation${CurrentDate} Click Link xpath=//a[@id='parent-item-Home'] Click Link xpath=//*[@id="parent-item-User-Notifications"] @@ -772,9 +824,10 @@ Portal Admin Category 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"] 2 ${AdminCategoryMsg} + Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminCategoryMsg} + Set Selenium Implicit Wait 3000 log ${AdminCategoryMsg} - [Return] ${AdminCategoryMsg} + [Return] ${AdminCategoryMsg} Portal admin Logout from Portal GUI @@ -834,6 +887,7 @@ Application admin Add Standard User Existing user Click Element xpath=//span[@id='result-uuid-0'] Click Button xpath=//button[@id='next-button'] Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] + Set Selenium Implicit Wait 3000 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'] @@ -854,9 +908,12 @@ 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-Default'] +# Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] +# Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Portal-Notification-Admin-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'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Portal-Notification-Admin-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 @@ -870,15 +927,17 @@ 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-Default']/following::*[@id='app-item-delete'][1] +# Click Element xpath=//*[@id='div-app-name-Default']/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] +# 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 #Click Image xpath=//img[@alt='Onap Logo'] - #Set Selenium Implicit Wait 3000 + Set Selenium Implicit Wait 3000 @@ -918,16 +977,16 @@ Standared user Navigation Application Link Tab Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] Page Should Contain ONAP Portal Click Element xpath=(.//span[@id='tab-Home'])[1] - + Set Selenium Implicit Wait 3000 Standared user Navigation Functional Menu [Documentation] Logs into Portal GUI as application admin 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 - Click Element xpath=(.//span[@id='tab-Home'])[1] - + Mouse Over xpath=//*[contains(text(),'Technology Insertion')] + Click Link xpath= //*[contains(text(),'Infrastructure VNF Provisioning')] + Page Should Contain Welcome to VID + Click Element xpath=(.//span[@id='tab-Home'])[1] + Set Selenium Implicit Wait 3000 Standared user Broadcast Notifications diff --git a/test/csit/tests/sdc/uiSanity/__init__.robot b/test/csit/tests/sdc/uiSanity/__init__.robot new file mode 100644 index 000000000..8ee10d5f6 --- /dev/null +++ b/test/csit/tests/sdc/uiSanity/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Sdc - HealthCheck diff --git a/test/csit/tests/sdc/uiSanity/test1.robot b/test/csit/tests/sdc/uiSanity/test1.robot new file mode 100644 index 000000000..3783e159e --- /dev/null +++ b/test/csit/tests/sdc/uiSanity/test1.robot @@ -0,0 +1,16 @@ +*** Settings *** +Library Collections +Library OperatingSystem +Library RequestsLibrary +Library json + +*** Test Cases *** +Get Requests health check ok + [Tags] get + CreateSession sdc-be http://localhost:8080 + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Get Request sdc-be /sdc2/rest/healthCheck headers=&{headers} + Should Be Equal As Strings ${resp.status_code} 500 + @{ITEMS}= Copy List ${resp.json()['componentsInfo']} + : FOR ${ELEMENT} IN @{ITEMS} + \ Log ${ELEMENT['healthCheckComponent']} ${ELEMENT['healthCheckStatus']} diff --git a/test/csit/tests/vfc/nfvo-multivimproxy/test.robot b/test/csit/tests/vfc/nfvo-multivimproxy/test.robot index 5945da1e3..fab3694e4 100644 --- a/test/csit/tests/vfc/nfvo-multivimproxy/test.robot +++ b/test/csit/tests/vfc/nfvo-multivimproxy/test.robot @@ -15,7 +15,7 @@ ${queryswagger_url} /api/multivimproxy/v1/swagger.json SwaggerFuncTest [Documentation] query swagger info rest test ${headers} Create Dictionary Content-Type=application/json Accept=application/json - Create Session web_session http://${RESMGR_IP}:8486 headers=${headers} + Create Session web_session http://${RESMGR_IP}:8481 headers=${headers} ${resp}= Get Request web_session ${queryswagger_url} ${responese_code}= Convert To String ${resp.status_code} List Should Contain Value ${return_ok_list} ${responese_code} |