diff options
-rwxr-xr-x | bootstrap/vagrant-onap/lib/aai | 5 | ||||
-rw-r--r-- | bootstrap/vagrant-onap/tests/test_aai | 18 | ||||
-rw-r--r-- | pom.xml | 33 | ||||
-rw-r--r-- | test/csit/plans/portal-sdk/testsuite/.env | 11 | ||||
-rw-r--r-- | test/csit/plans/portal-sdk/testsuite/docker-compose.yml | 3 | ||||
-rw-r--r-- | test/csit/plans/portal-sdk/testsuite/setup.sh | 18 | ||||
-rw-r--r-- | test/csit/plans/portal/testsuite/setup.sh | 4 | ||||
-rw-r--r-- | test/csit/scripts/sdc/clone_and_setup_sdc_data.sh | 4 | ||||
-rw-r--r-- | test/csit/scripts/sdc/start_sdc_containers.sh | 2 | ||||
-rw-r--r-- | test/csit/scripts/sdc/start_sdc_sanity.sh | 4 | ||||
-rw-r--r-- | test/csit/tests/portal/testsuites/test1.robot | 192 | ||||
-rwxr-xr-x | test/csit/tests/vfc/nfvo-driver-ems/test.robot | 9 | ||||
-rw-r--r-- | test/ete/labs/windriver/Integration-Stable-openrc.sh | 52 | ||||
-rw-r--r-- | test/ete/labs/windriver/onap.env | 185 | ||||
-rwxr-xr-x | test/ete/scripts/deploy-onap.sh | 53 | ||||
-rw-r--r-- | version-manifest/pom.xml | 6 |
16 files changed, 458 insertions, 141 deletions
diff --git a/bootstrap/vagrant-onap/lib/aai b/bootstrap/vagrant-onap/lib/aai index bd72ae0f3..4da5763ca 100755 --- a/bootstrap/vagrant-onap/lib/aai +++ b/bootstrap/vagrant-onap/lib/aai @@ -6,7 +6,10 @@ source /var/onap/functions hbase_version=1.2.3 aai_src_folder=$git_src_folder/aai -aai_repos=("aai-common" "aai-config" "aai-data" "aai-service" "data-router" "logging-service" "model-loader" "resources" "rest-client" "router-core" "search-data-service" "test-config" "traversal" "sparky-fe" "sparky-be") +aai_repos=("aai-common" "aai-config" "aai-data" "aai-service" "babel" "champ" \ +"data-router" "esr-gui" "esr-server" "gizmo" "logging-service" "model-loader" \ +"resources" "rest-client" "router-core" "search-data-service" "test-config" \ +"traversal" "sparky-fe" "sparky-be") # install_hadoop() - Function that installs Hadoop function install_hadoop { diff --git a/bootstrap/vagrant-onap/tests/test_aai b/bootstrap/vagrant-onap/tests/test_aai index 5ff62c156..79d26c83d 100644 --- a/bootstrap/vagrant-onap/tests/test_aai +++ b/bootstrap/vagrant-onap/tests/test_aai @@ -39,7 +39,12 @@ function test_clone_all_aai_repos { asserts_file_exist $aai_src_folder/aai-config/cookbooks/aai-resources/runlist-aai-resources.json asserts_file_exist $aai_src_folder/aai-data/environments/solo.json asserts_file_exist $aai_src_folder/aai-service/pom.xml + asserts_file_exist $aai_src_folder/babel/README.md + asserts_file_exist $aai_src_folder/champ/pom.xml asserts_file_exist $aai_src_folder/data-router/pom.xml + asserts_file_exist $aai_src_folder/esr-gui/pom.xml + asserts_file_exist $aai_src_folder/esr-server/pom.xml + asserts_file_exist $aai_src_folder/gizmo/pom.xml asserts_file_exist $aai_src_folder/logging-service/pom.xml asserts_file_exist $aai_src_folder/model-loader/pom.xml asserts_file_exist $aai_src_folder/resources/pom.xml @@ -57,14 +62,13 @@ function test_compile_aai_repos { clone_all_aai_repos compile_aai_repos - asserts_file_exist $aai_src_folder/aai-common/aai-annotations/target/aai-annotations-1.1.0-SNAPSHOT.jar - asserts_file_exist $aai_src_folder/aai-common/aai-auth/target/aai-auth-1.1.0-SNAPSHOT.jar - asserts_file_exist $aai_src_folder/aai-common/aai-core/target/aai-core-1.1.0-SNAPSHOT.jar - asserts_file_exist $aai_src_folder/aai-common/aai-schema/target/aai-schema-1.1.0-SNAPSHOT.jar + for common in annotations auth core schema utils; do + asserts_file_exist $aai_src_folder/aai-common/aai-$common/target/aai-$common-1.1.0-SNAPSHOT.jar + done - asserts_file_exist $aai_src_folder/logging-service/common-logging/target/common-logging-1.1.0-SNAPSHOT.jar - asserts_file_exist $aai_src_folder/logging-service/eelf-logging/target/eelf-logging-1.1.0-SNAPSHOT.jar - asserts_file_exist $aai_src_folder/logging-service/logging-api/target/logging-api-1.1.0-SNAPSHOT.jar + for service in common-logging eelf-logging logging-api; do + asserts_file_exist $aai_src_folder/logging-service/$service/target/$service-1.1.0-SNAPSHOT.jar + done asserts_file_exist $aai_src_folder/resources/aai-resources/target/aai-resources.jar asserts_file_exist $aai_src_folder/traversal/aai-traversal/target/traversal.jar diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 3e0aea311..000000000 --- a/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Copyright (c) 2016-2017 Huawei Technologies Co., Ltd. - Modifications copyright (C) 2017 AT&T Intellectual Property - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onap.oparent</groupId> - <artifactId>oparent</artifactId> - <version>0.1.1</version> - </parent> - <name>integration</name> - <groupId>org.onap.integration</groupId> - <artifactId>root</artifactId> - <version>0.1.0-SNAPSHOT</version> - <packaging>pom</packaging> - <modules> - <module>version-manifest</module> - </modules> -</project> diff --git a/test/csit/plans/portal-sdk/testsuite/.env b/test/csit/plans/portal-sdk/testsuite/.env index 1e882a0b3..0b7de9560 100644 --- a/test/csit/plans/portal-sdk/testsuite/.env +++ b/test/csit/plans/portal-sdk/testsuite/.env @@ -20,3 +20,14 @@ PORTAL_TAG=1.3.0 DOCKER_IMAGE_VERSION=1.3-STAGING-latest CLI_DOCKER_VERSION=1.1-STAGING-latest NEXUS_DOCKER_REPO=nexus3.onap.org:10003 + + +# Optional settings with no defaults. +EXTRA_HOST_IP="" +EXTRA_HOST_NAME="" +# Export shell environment variables on hosts with no DNS; +# a line is added to docker container's /etc/hosts. +# For example: +#EXTRA_HOST_IP="-i ${HOST_IP}" +#EXTRA_HOST_NAME="-n portal.api.simpledemo.openecomp.org" + diff --git a/test/csit/plans/portal-sdk/testsuite/docker-compose.yml b/test/csit/plans/portal-sdk/testsuite/docker-compose.yml index b92766f5b..7a9fb8caa 100644 --- a/test/csit/plans/portal-sdk/testsuite/docker-compose.yml +++ b/test/csit/plans/portal-sdk/testsuite/docker-compose.yml @@ -91,5 +91,8 @@ services: - portal-db:3306 - -- - /start-apps-cmd.sh + # see comments in .env file + - $EXTRA_HOST_IP + - $EXTRA_HOST_NAME logging: driver: json-file diff --git a/test/csit/plans/portal-sdk/testsuite/setup.sh b/test/csit/plans/portal-sdk/testsuite/setup.sh index 71d110521..2091d14e0 100644 --- a/test/csit/plans/portal-sdk/testsuite/setup.sh +++ b/test/csit/plans/portal-sdk/testsuite/setup.sh @@ -14,6 +14,8 @@ XVFBPID=$! HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') export HOST_IP=${HOST_IP} + + if ! ifconfig docker0; then if ! ifconfig ens3; then echo "Could not determine IP address" @@ -33,6 +35,8 @@ ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP} -v IP:${IP} -v DOCKER_IP:${DOCKER_IP}" export DOCKER_IP=${DOCKER_IP} + + # be verbose set -x @@ -54,16 +58,22 @@ rm .env rm docker-compose.yml cp $CURR/.env . cp $CURR/docker-compose.yml . -#cd properties_rackspace/ECOMPPORTALAPP +#cd properties_simpledemo/ECOMPPORTALAPP #rm system.properties #cp $CURR/system.properties . #cd ../.. # Get image names used below from docker-compose environment file source $CURR/.env +#source .env + +# Make inter-app communication work in CSIT +export EXTRA_HOST_IP="-i ${HOST_IP}" +export EXTRA_HOST_NAME="-n portal.api.simpledemo.openecomp.org" + # Copy property files to new directory mkdir -p $PROPS_DIR -cp -r properties_rackspace/* $PROPS_DIR +cp -r properties_simpledemo/* $PROPS_DIR # Also create logs directory mkdir -p $LOGS_DIR @@ -118,6 +128,8 @@ echo "Adding new hosts entry." echo "$host_entry" | sudo tee -a /etc/hosts > /dev/null fi + + sleep 3m # WAIT 5 minutes maximum and test every 5 seconds if Portal up using HealthCheck API @@ -157,7 +169,7 @@ fi HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') export HOST_IP=${HOST_IP} -docker logs deliveries_portal-db_1 +#docker logs deliveries_portal-db_1 docker logs deliveries_portal-apps_1 docker logs deliveries_portal-wms_1 diff --git a/test/csit/plans/portal/testsuite/setup.sh b/test/csit/plans/portal/testsuite/setup.sh index 2091d14e0..ff21142af 100644 --- a/test/csit/plans/portal/testsuite/setup.sh +++ b/test/csit/plans/portal/testsuite/setup.sh @@ -55,9 +55,9 @@ cd portal git pull cd deliveries rm .env -rm docker-compose.yml +#rm docker-compose.yml cp $CURR/.env . -cp $CURR/docker-compose.yml . +#cp $CURR/docker-compose.yml . #cd properties_simpledemo/ECOMPPORTALAPP #rm system.properties #cp $CURR/system.properties . diff --git a/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh b/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh index 97f767381..a88981299 100644 --- a/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh +++ b/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh @@ -27,6 +27,10 @@ echo "This is ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh" # Clone sdc enviroment template mkdir -p ${WORKSPACE}/data/environments/ mkdir -p ${WORKSPACE}/data/clone/ +mkdir -p ${WORKSPACE}/data/logs/BE/SDC/SDC-BE +mkdir -p ${WORKSPACE}/data/logs/FE/SDC/SDC-FE +chmod -R 777 ${WORKSPACE}/data/logs + cd ${WORKSPACE}/data/clone git clone --depth 1 http://gerrit.onap.org/r/sdc -b master diff --git a/test/csit/scripts/sdc/start_sdc_containers.sh b/test/csit/scripts/sdc/start_sdc_containers.sh index bccea70bb..a1ac28b14 100644 --- a/test/csit/scripts/sdc/start_sdc_containers.sh +++ b/test/csit/scripts/sdc/start_sdc_containers.sh @@ -105,5 +105,5 @@ done if [ "$TIME" -ge "$TIME_OUT" ]; then echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... - +fi diff --git a/test/csit/scripts/sdc/start_sdc_sanity.sh b/test/csit/scripts/sdc/start_sdc_sanity.sh index 7f2de0ef9..e9e92148b 100644 --- a/test/csit/scripts/sdc/start_sdc_sanity.sh +++ b/test/csit/scripts/sdc/start_sdc_sanity.sh @@ -26,7 +26,7 @@ #start Sanity docker -docker run --detach --name sdc-sanity --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 512m --memory-swap=512m --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/sdc-sanity/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-sanity/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-sanity:${RELEASE} +docker run --detach --name sdc-sanity --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 1g --memory-swap=1g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/sdc-sanity/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-sanity/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-sanity:${RELEASE} #echo "please wait while Sanity Docker is starting..." echo "" @@ -66,3 +66,5 @@ if [ "$TIME" -ge "$TIME_OUT" ] echo TIME OUT: Sany was NOT completed in $TIME_OUT seconds... Could cause problems for tests... fi cp -rf ${WORKSPACE}/data/logs/sdc-sanity/ExtentReport/* ${WORKSPACE}/archives/ +cp -rf ${WORKSPACE}/data/logs/ ${WORKSPACE}/archives/ + diff --git a/test/csit/tests/portal/testsuites/test1.robot b/test/csit/tests/portal/testsuites/test1.robot index 391866b76..42f88bf39 100644 --- a/test/csit/tests/portal/testsuites/test1.robot +++ b/test/csit/tests/portal/testsuites/test1.robot @@ -14,7 +14,6 @@ Resource json_templater.robot *** Variables *** -#${PORTAL_URL} http://%{HOST_IP}:8989 #${PORTAL_URL} http://localhost:8989 ${PORTAL_URL} http://portal.api.simpledemo.openecomp.org:8989 ${PORTAL_ENV} /ECOMPPORTAL @@ -22,16 +21,16 @@ ${PORTAL_LOGIN_URL} ${PORTAL_URL}${PORTAL_ENV}/login.htm ${PORTAL_HOME_PAGE} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome ${PORTAL_MICRO_ENDPOINT} ${PORTAL_URL}${PORTAL_ENV}/commonWidgets ${PORTAL_HOME_URL} ${PORTAL_URL}${PORTAL_ENV}/applicationsHome -${App_First_Name} appdemo +${App_First_Name} demoapp ${App_Last_Name} demo -${App_Email_Address} appdemo@onap.com -${App_LoginID} appdemo +${App_Email_Address} demoapp@onap.com +${App_LoginID} demoapp ${App_Loginpwd} demo123456! ${App_LoginPwdCheck} demo123456! -${Sta_First_Name} stademo +${Sta_First_Name} demosta ${Sta_Last_Name} demo -${Sta_Email_Address} stademo@onap.com -${Sta_LoginID} stademo +${Sta_Email_Address} demosta@onap.com +${Sta_LoginID} demosta ${Sta_Loginpwd} demo123456! ${Sta_LoginPwdCheck} demo123456! ${Test_First_Name} portal @@ -85,47 +84,20 @@ Portal R1 Release for AAF Create Microse service onboarding Portal admin Microservice Onboarding - + + 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 + Portal Admin Create Widget for Application Roles Delete Widget for Application Roles - Portal Admin Delete Widget for Application Roles - -#Create a Test user for Application Admin -# Portal admin Add Application admin User New user -Test - -#Create a Test user for Standared User -# Portal admin Add Standard User New user - -#Create a Test User for Apllication Admin -# Portal admin Add Application admin User New user - -#Add Application Admin for Existing User Test user -# Portal admin Add Application Admin Exiting User -APPDEMO - -#Add Application Admin for Exisitng User -# Portal admin Add Application Admin Exiting User - -#Delete Application Admin for Exisitng User -# Portal admin Delete Application Admin Existing User - -#Add Standard User Role for Existing user -# Portal admin Add Standard User Existing user - -#Edit Standard User Role for Existing user -# Portal admin Edit Standard User Existing user - - -#Delete Standard User Role for Existing user -# Portal admin Delete Standard User Existing user - + Portal Admin Delete Widget for Application Roles + Validate Functional Top Menu Get Access Functional Top Menu Get Access @@ -143,36 +115,68 @@ Broadbond Notification functionality Category Notification functionality ${AdminCategoryMsg}= Portal Admin Category Notifications - set global variable ${AdminCategoryMsg} + 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 + +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 + +Add Application Admin for Exisitng User + Portal admin Add Application Admin Exiting User + +Delete Application Admin for Exisitng User + Portal admin Delete Application Admin Existing User + +Add Standard User Role for Existing user + Portal admin Add Standard User Existing user + +Edit Standard User Role for Existing user + Portal admin Edit Standard User Existing user + + +Delete Standard User Role for Existing user + Portal admin Delete Standard User Existing user + + 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 +Login To Portal GUI as APP Admin + Application admin Login To Portal GUI -#Navigate Application Link as APP Admin -# Application Admin Navigation Application Link Tab + ##Navigate Functional Link as APP Admin ## Application Admin Navigation Functional Menu -#Add Standard User Role for Existing user as APP Admin -# Application admin Add Standard User Existing user +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 -#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 -#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 @@ -180,11 +184,11 @@ Logout from Portal GUI as Portal Admin ##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 @@ -291,8 +295,7 @@ Portal admin Add Application Admin Exiting User Click Element xpath=//span[@id='result-uuid-0'] Click Button xpath=//button[@id='search-users-button-next'] Click Button xpath=//input[@value='Select application'] - Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1] - + Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1] Click Element xpath=(//li[contains(.,'xDemo App' )])[2] #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App Click Button xpath=//button[@id='div-updateAdminAppsRoles'] @@ -303,7 +306,8 @@ Portal admin Add Application Admin Exiting User Click Element xpath=//input[@id='dropdown1'] Click Element xpath=//li[contains(.,'xDemo App' )] Input Text xpath=//input[@id='input-table-search'] ${Existing_User} - Element Text Should Be xpath=(//span[contains(.,'portal')])[1] ${Existing_User} + Table Column Should Contain xpath=//*[@table-data='admins.adminsTableData'] 1 ${Existing_User} + #Element Text Should Be xpath=(//span[contains(.,'portal')])[1] ${Existing_User} #Element Text Should Be xpath=(//span[contains(.,'demo')])[1] ${Existing_User} @@ -319,6 +323,8 @@ Portal admin Delete Application Admin Existing User #Is Element Visible xpath=(//*[contains(.,'Portal')] )[2] Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] portal #Element Should Not Contain xpath=//*[@table-data='admins.adminsTableData'] demo + Click Image xpath=//img[@alt='Onap Logo'] + Set Selenium Implicit Wait 3000 Portal admin Add Application admin User New user @@ -326,7 +332,7 @@ Portal admin Add Application admin User New user Click Link xpath=//a[@title='Users'] Page Should Contain Users Click Button xpath=//button[@ng-click='toggleSidebar()'] - Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] + Click Button xpath=//button[@id='users-button-add'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${App_First_Name} Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${App_Last_Name} @@ -348,7 +354,9 @@ Portal admin Add Application admin User New user Click Element xpath=//li[contains(.,'xDemo App')] Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${App_First_Name} #Input Text xpath=//input[@id='input-table-search'] ${App_First_Name} - #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${App_First_Name} + #Element Text Should Be xpath=(//span[contains(.,'demoapp')] )[1] ${App_First_Name} + Click Image xpath=//img[@alt='Onap Logo'] + Set Selenium Implicit Wait 3000 Portal admin Add Standard User New user @@ -356,7 +364,7 @@ Portal admin Add Standard User New user Click Link xpath=//a[@title='Users'] Page Should Contain Users Click Button xpath=//button[@ng-click='toggleSidebar()'] - Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] + Click Button xpath=//button[@id='users-button-add'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Sta_First_Name} Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${Sta_Last_Name} @@ -378,7 +386,9 @@ Portal admin Add Standard User New user Click Element xpath=//li[contains(.,'xDemo App')] Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Sta_First_Name} #Input Text xpath=//input[@id='input-table-search'] ${Sta_First_Name} - #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_First_Name} + #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Sta_First_Name} + Click Image xpath=//img[@alt='Onap Logo'] + Set Selenium Implicit Wait 3000 @@ -387,8 +397,7 @@ Portal admin Add Application admin User New user -Test Click Link xpath=//a[@title='Users'] Page Should Contain Users Click Button xpath=//button[@ng-click='toggleSidebar()'] - Set Selenium Implicit Wait 3000 - Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] + Click Button xpath=//button[@id='users-button-add'] Click Button xpath=//button[@id='Create-New-User-button'] Input Text xpath=//input[@ng-model='searchUsers.newUser.firstName'] ${Test_First_Name} Input Text xpath=//input[@ng-model='searchUsers.newUser.lastName'] ${Test_Last_Name} @@ -397,18 +406,23 @@ Portal admin Add Application admin User New user -Test Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwd'] ${Test_Loginpwd} Input Text xpath=//input[@ng-model='searchUsers.newUser.loginPwdCheck'] ${Test_LoginPwdCheck} Click Button xpath=//button[@ng-click='searchUsers.addNewUserFun()'] - Click Button xpath=//button[@id='next-button'] - #Scroll Element Into View xpath=//div[@id='div-app-name-dropdown-xDemo-App'] - Click Element xpath=//*[@id='div-app-name-dropdown-xDemo-App'] - Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] + Click Button xpath=//button[@id='search-users-button-cancel'] + Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 - Click Button xpath=//button[@id='new-user-save-button'] - Set Selenium Implicit Wait 3000 - Go To ${PORTAL_HOME_PAGE} - Click Link xpath=//a[@title='Users'] - Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'xDemo App')] - Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Test_First_Name} + + + #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'] + #Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='Standard-User-checkbox'] + #Set Selenium Implicit Wait 3000 + #Click Button xpath=//button[@id='new-user-save-button'] + #Set Selenium Implicit Wait 3000 + #Go To ${PORTAL_HOME_PAGE} + #Click Link xpath=//a[@title='Users'] + #Click Element xpath=//input[@id='dropdown1'] + #Click Element xpath=//li[contains(.,'xDemo App')] + #Table Column Should Contain xpath=//*[@table-data='users.accountUsers'] 1 ${Test_First_Name} #Input Text xpath=//input[@id='input-table-search'] ${Test_First_Name} #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Test_First_Name} @@ -428,7 +442,6 @@ Portal admin Add Application Admin Exiting User -APPDEMO Click Button xpath=//button[@id='search-users-button-next'] Click Button xpath=//input[@value='Select application'] Scroll Element Into View xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App' )])[1] - Click Element xpath=(//li[contains(.,'xDemo App' )])[2] #Select From List xpath=(//input[@value='Select application']/following::*[contains(text(),'xDemo App')])[1] xDemo App Click Button xpath=//button[@id='div-updateAdminAppsRoles'] @@ -437,10 +450,12 @@ Portal admin Add Application Admin Exiting User -APPDEMO Get Selenium Implicit Wait Click Link xpath=//a[@aria-label='Admins'] Click Element xpath=//input[@id='dropdown1'] - Click Element xpath=//li[contains(.,'xDemo App' )] - + Click Element xpath=//li[contains(.,'xDemo App' )] Input Text xpath=//input[@id='input-table-search'] ${App_First_Name} - Element Text Should Be xpath=(//span[contains(.,'appdemo')])[1] ${App_First_Name} + #Element Text Should Be xpath=(//span[contains(.,'appdemo')])[1] ${App_First_Name} + 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 @@ -462,7 +477,6 @@ Portal admin Add Standard User Existing user 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'] - Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 @@ -471,7 +485,6 @@ Portal admin Add Standard User Existing user #Click Link xpath=//a[@title='Users'] #Page Should Contain Users #Focus xpath=//input[@name='dropdown1'] - Go To ${PORTAL_HOME_PAGE} Click Link xpath=//a[@title='Users'] Click Element xpath=//input[@id='dropdown1'] @@ -479,6 +492,7 @@ Portal admin Add 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] Standard User + Portal admin Edit Standard User Existing user @@ -794,8 +808,10 @@ Application Admin Navigation Application Link Tab Click Link xpath=//a[@id='parent-item-Home'] Click Element xpath=.//h3[contains(text(),'xDemo App')]/following::div[1] Page Should Contain ONAP Portal - Click Element xpath=//i[@class='ion-close-round'] - Click Element xpath=(.//span[@id='tab-Home'])[1] + Scroll Element Into View xpath=//i[@class='ion-close-round'] + Click Element xpath=//i[@class='ion-close-round'] + Set Selenium Implicit Wait 3000 + #Click Element xpath=(.//span[@id='tab-Home'])[1] Application Admin Navigation Functional Menu @@ -862,6 +878,8 @@ Application admin Delete Standard User Existing user #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 diff --git a/test/csit/tests/vfc/nfvo-driver-ems/test.robot b/test/csit/tests/vfc/nfvo-driver-ems/test.robot index ebbcf8a19..e1a57760d 100755 --- a/test/csit/tests/vfc/nfvo-driver-ems/test.robot +++ b/test/csit/tests/vfc/nfvo-driver-ems/test.robot @@ -6,16 +6,19 @@ Library json *** Variables *** @{return_ok_list}= 200 201 202 -${queryswagger_url} /api/emsdriver/v1/swagger +${queryswagger_url} /api/emsdriver/v1/swagger.json *** Test Cases *** EMSDriverSwaggerTest [Documentation] query swagger info of emsdriver ${headers} Create Dictionary Content-Type=application/json Accept=application/json - Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + Create Session web_session http://${EMS_DRV_IP}:8206 headers=${headers} ${resp}= Get Request web_session ${queryswagger_url} ${responese_code}= Convert To String ${resp.status_code} - Should Be Equal 2.0 2.0 + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${swagger_version}= Convert To String ${response_json['swagger']} + Should Be Equal ${swagger_version} 2.0 EMSDriverSwaggerByMSBTest [Documentation] query swagger info of emsdriver by MSB diff --git a/test/ete/labs/windriver/Integration-Stable-openrc.sh b/test/ete/labs/windriver/Integration-Stable-openrc.sh new file mode 100644 index 000000000..1d68adc25 --- /dev/null +++ b/test/ete/labs/windriver/Integration-Stable-openrc.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +# To use an OpenStack cloud you need to authenticate against the Identity +# service named keystone, which returns a **Token** and **Service Catalog**. +# The catalog contains the endpoints for all services the user/tenant has +# access to - such as Compute, Image Service, Identity, Object Storage, Block +# Storage, and Networking (code-named nova, glance, keystone, swift, +# cinder, and neutron). +# +# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other +# OpenStack API is version 3. For example, your cloud provider may implement +# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is +# only for the Identity API served through keystone. +export OS_AUTH_URL=http://10.12.25.2:5000/v3 + +# With the addition of Keystone we have standardized on the term **project** +# as the entity that owns the resources. +export OS_PROJECT_ID=3583253e932845a09cd4c8ca2f31d095 +export OS_PROJECT_NAME="Integration-Stable" +export OS_USER_DOMAIN_NAME="Default" +if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi + +# unset v2.0 items in case set +unset OS_TENANT_ID +unset OS_TENANT_NAME + +# In addition to the owning entity (tenant), OpenStack stores the entity +# performing the action as the **user**. +export OS_USERNAME="gary_wu" + +# Remote Openstack clients will need to set this environment if +# connecting to an HTTPS enabled endpoint +CERT_MSG="Please enter a path for your CA certificate pem file, \ +or press enter if you are not using HTTPS " +read -p "$CERT_MSG" OS_CACERT_INPUT +if [ ! -z "$OS_CACERT_INPUT" ] +then + export OS_CACERT=$(readlink -f $OS_CACERT_INPUT) +fi + +# With Keystone you pass the keystone password. +read -sp "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " OS_PASSWORD_INPUT +export OS_PASSWORD=$OS_PASSWORD_INPUT + +# If your configuration has multiple regions, we set that information here. +# OS_REGION_NAME is optional and only valid in certain environments. +export OS_REGION_NAME="RegionOne" +# Don't leave a blank variable, unset it if it was empty +if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi + +export OS_INTERFACE=public +export OS_IDENTITY_API_VERSION=3 diff --git a/test/ete/labs/windriver/onap.env b/test/ete/labs/windriver/onap.env new file mode 100644 index 000000000..5eb5d367f --- /dev/null +++ b/test/ete/labs/windriver/onap.env @@ -0,0 +1,185 @@ +parameters: + + ############################################## + # # + # Parameters used across all ONAP components # + # # + ############################################## + + public_net_id: 971040b2-7059-49dc-b220-4fab50cb2ad4 + + ubuntu_1404_image: ubuntu-14-04-cloud-amd64 + + ubuntu_1604_image: ubuntu-16-04-cloud-amd64 + + centos_7_image: CentOS-7 + + flavor_small: m1.small + + flavor_medium: m1.medium + + flavor_large: m1.large + + flavor_xlarge: m1.xlarge + + flavor_xxlarge: m1.xxlarge + + security_group: default + + vm_base_name: onap + + key_name: onap_key + + dcae_key_name: dcae_key + + pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh + + dcae_pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC94pcIva90rzXumORjMCf16qjVrn5+ykfW6uMcn+DPlifU+ihtqx4Up26v1gVZyCuY8BFmbhm4YGxnRykNfi71kYbWOasUFzY86dtptCuLVMRLsMYWwOA3sHQ5IcUYNbWmChh4LyOIfhy4p2atCmB1UUkQf7Icg8LokCIcdI3IohlNko50t9KOIhBvqC7Bnegnl6zpoYdtYQppdgp5xesdhYRrdIGmT86cH2QbImpcR3tMTty7SLsw5WdTSfUFwfm76s07ivUDfCRMCJoWcxQeh6my7P7BkfDYMVIYRyfWmoIf2iv3UrqahHTcCiL79SRiD0iCt0K2SEgGsVyCX2jf + + nexus_repo: https://nexus.onap.org/content/sites/raw + + nexus_docker_repo: nexus3.onap.org:10001 + + nexus_username: docker + + nexus_password: docker + + dmaap_topic: AUTO + + artifacts_version: 1.1.0-SNAPSHOT + + openstack_tenant_id: SAMPLE + + openstack_username: SAMPLE + + openstack_api_key: SAMPLE + + openstack_auth_method: password + + openstack_region: RegionOne + + horizon_url: http://10.12.25.2/horizon + + keystone_url: http://10.12.25.2:5000 + + cloud_env: openstack + + + ###################### + # # + # Network parameters # + # # + ###################### + + dns_list: 8.8.8.8 + external_dns: 8.8.8.8 + oam_network_cidr: 10.0.0.0/16 + + ### Private IP addresses ### + + aai1_ip_addr: 10.0.1.1 + aai2_ip_addr: 10.0.1.2 + appc_ip_addr: 10.0.2.1 + dcae_ip_addr: 10.0.4.1 + dcae_coll_ip_addr: 10.0.4.102 + dcae_db_ip_addr: 10.0.4.101 + dcae_hdp1_ip_addr: 10.0.4.103 + dcae_hdp2_ip_addr: 10.0.4.104 + dcae_hdp3_ip_addr: 10.0.4.105 + dns_ip_addr: 10.0.100.1 + so_ip_addr: 10.0.5.1 + mr_ip_addr: 10.0.11.1 + policy_ip_addr: 10.0.6.1 + portal_ip_addr: 10.0.9.1 + robot_ip_addr: 10.0.10.1 + sdc_ip_addr: 10.0.3.1 + sdnc_ip_addr: 10.0.7.1 + vid_ip_addr: 10.0.8.1 + clamp_ip_addr: 10.0.12.1 + openo_ip_addr: 10.0.14.1 + + dcae_coll_float_ip: 10.12.0.32 + dcae_db_float_ip: 10.12.0.24 + dcae_hdp1_float_ip: 10.12.0.30 + dcae_hdp2_float_ip: 10.12.0.33 + dcae_hdp3_float_ip: 10.12.0.15 + + ########################### + # # + # Parameters used by DCAE # + # # + ########################### + + dcae_base_environment: 1-NIC-FLOATING-IPS + + dcae_zone: ZONE + + dcae_state: STATE + + nexus_repo_root: https://nexus.onap.org + + nexus_url_snapshot: https://nexus.onap.org/content/repositories/snapshots + + gitlab_branch: master + + dcae_code_version: 1.1.0 + + + ################################ + # # + # Docker versions and branches # + # # + ################################ + + aai_branch: master + appc_branch: master + so_branch: master + mr_branch: master + dcae_branch: master + policy_branch: master + portal_branch: master + robot_branch: master + sdc_branch: master + sdnc_branch: master + vid_branch: master + clamp_branch: master + vnfsdk_branch: master + + aai_docker: 1.1-STAGING-latest + appc_docker: 1.1-STAGING-latest + so_docker: 1.1-STAGING-latest + mr_docker: 1.1-STAGING-latest + dcae_docker: 1.1-latest + policy_docker: 1.1-STAGING-latest + portal_docker: 1.3-STAGING-latest + robot_docker: 1.1-STAGING-latest + sdc_docker: 1.1-STAGING-latest + sdnc_docker: 1.2-STAGING-latest + vid_docker: 1.1-STAGING-latest + clamp_docker: 1.1-STAGING-latest + msb_docker: latest + mvim_docker: latest + vfc_docker: latest + uui_docker: latest + esr_docker: latest + dgbuilder_docker: 0.1-STAGING-latest + cli_docker: 1.1-STAGING-latest + + ##################### + # # + # ONAP repositories # + # # + ##################### + aai_repo: http://gerrit.onap.org/r/aai/test-config + appc_repo: http://gerrit.onap.org/r/appc/deployment.git + dcae_repo: http://gerrit.onap.org/r/dcae/demo/startup/controller.git + mr_repo: http://gerrit.onap.org/r/dcae/demo/startup/message-router.git + so_repo: http://gerrit.onap.org/r/so/docker-config.git + policy_repo: http://gerrit.onap.org/r/policy/docker.git + portal_repo: http://gerrit.onap.org/r/portal.git + robot_repo: http://gerrit.onap.org/r/testsuite/properties.git + sdc_repo: http://gerrit.onap.org/r/sdc.git + sdnc_repo: http://gerrit.onap.org/r/sdnc/oam.git + vid_repo: http://gerrit.onap.org/r/vid.git + clamp_repo: http://gerrit.onap.org/r/clamp.git + vnfsdk_repo: http://gerrit.onap.org/r/vnfsdk/refrepo.git diff --git a/test/ete/scripts/deploy-onap.sh b/test/ete/scripts/deploy-onap.sh new file mode 100755 index 000000000..3c69e15e8 --- /dev/null +++ b/test/ete/scripts/deploy-onap.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +if [ -z "$OS_AUTH_URL" ] || [ -z "$OS_USERNAME" ] +then + echo "ERROR: OpenStack environment variables not set. Please source your OpenStack RC script first." + exit 1 +fi + + +if [ -z "$WORKSPACE" ]; then + export WORKSPACE=`git rev-parse --show-toplevel` +fi + + + +# Assume that if ROBOT_VENV is set, we don't need to reinstall robot +if [ -f ${WORKSPACE}/env.properties ]; then + source ${WORKSPACE}/env.properties +fi + +if [ ! -z "$ONAP_VENV" ] && [ -f "$ONAP_VENV/bin/activate" ]; then + source ${ONAP_VENV}/bin/activate +else + ONAP_VENV=$(mktemp -d --suffix=_onap_venv) + virtualenv ${ONAP_VENV} + source ${ONAP_VENV}/bin/activate + + pip install --upgrade pip + pip install --upgrade python-openstackclient python-heatclient + + echo "ONAP_VENV=${ONAP_VENV}" >> $WORKSPACE/env.properties +fi +echo "ONAP_VENV=${ONAP_VENV}" + +if [ -z "$ONAP_WORKDIR" ]; then + ONAP_WORKDIR=$(mktemp -d --suffix=_onap_workdir) + echo "ONAP_WORKDIR=${ONAP_WORKDIR}" >> $WORKSPACE/env.properties +fi +echo "ONAP_WORKDIR=${ONAP_WORKDIR}" +if [ ! -d ${ONAP_WORKDIR}/demo ]; then + git clone http://gerrit.onap.org/r/demo ${ONAP_WORKDIR}/demo +else + pushd ${ONAP_WORKDIR}/demo + git pull + popd +fi + + + +STACK="ete-$(uuidgen | cut -c-8)" +echo "Stack Name: ${STACK}" +openstack stack create -t ${ONAP_WORKDIR}/demo/heat/ONAP/onap_openstack.yaml -e ${WORKSPACE}/test/ete/labs/windriver/onap.env $STACK + diff --git a/version-manifest/pom.xml b/version-manifest/pom.xml index 331f357ad..ace96a702 100644 --- a/version-manifest/pom.xml +++ b/version-manifest/pom.xml @@ -2,9 +2,9 @@ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> - <groupId>org.onap.integration</groupId> - <artifactId>root</artifactId> - <version>0.1.0-SNAPSHOT</version> + <groupId>org.onap.oparent</groupId> + <artifactId>oparent</artifactId> + <version>0.1.1</version> </parent> <artifactId>version-manifest</artifactId> <packaging>maven-plugin</packaging> |