diff options
Diffstat (limited to 'test')
17 files changed, 464 insertions, 219 deletions
diff --git a/test/csit/plans/aaf/aafapi/setup.sh b/test/csit/plans/aaf/aafapi/setup.sh index 4a312704f..add9ae17e 100644 --- a/test/csit/plans/aaf/aafapi/setup.sh +++ b/test/csit/plans/aaf/aafapi/setup.sh @@ -37,12 +37,15 @@ chmod -R 777 $WORKSPACE/archives/aafcsit/authz/auth/auth-service/src/main/resour # start aaf containers with docker compose and configuration from docker-compose.yml docker-compose up -d +export aaf_service=$(get_docker_compose_service aaf_container) +export cassandra_service=$(get_docker_compose_service cassandra_container) -# Wait for initialization of Docker contaienr for AAF & Cassandra +# Wait for initialization of Docker container for AAF & Cassandra 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) ] + + if [ $(docker inspect --format '{{ .State.Running }}' $aaf_service) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' $cassandra_service) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' $aaf_service) ] then echo "AAF Service Running" break @@ -53,9 +56,11 @@ for i in {1..12}; do done -AAF_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_aaf_container_1) -CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_cassandra_container_1) +AAF_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $aaf_service) +CASSANDRA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $cassandra_service) +bypass_ip_adress $AAF_IP +bypass_ip_adress $CASSANDRA_IP echo AAF_IP=${AAF_IP} echo CASSANDRA_IP=${CASSANDRA_IP} diff --git a/test/csit/plans/aaf/aafapi/teardown.sh b/test/csit/plans/aaf/aafapi/teardown.sh index 1f7b2853d..41e0b00ea 100644 --- a/test/csit/plans/aaf/aafapi/teardown.sh +++ b/test/csit/plans/aaf/aafapi/teardown.sh @@ -17,6 +17,8 @@ # Modifications copyright (c) 2017 AT&T Intellectual Property # -kill-instance.sh dockercompose_aaf_container_1 -kill-instance.sh dockercompose_cassandra_container_1 +kill-instance.sh $aaf_service +kill-instance.sh $cassandra_service +unset aaf_service +unset cassandra_service diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh index 014aa95dd..ef79483b4 100755 --- a/test/csit/plans/appc/healthcheck/setup.sh +++ b/test/csit/plans/appc/healthcheck/setup.sh @@ -21,7 +21,7 @@ SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source ${WORKSPACE}/test/csit/scripts/appc/script1.sh export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest -export CCSDK_DOCKER_IMAGE_VERSION=0.2.1 +export CCSDK_DOCKER_IMAGE_VERSION=0.2.1-SNAPSHOT export BRANCH=master export SOLUTION_NAME=onap @@ -48,8 +48,11 @@ sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="$DMAAP_TOPIC"/g" docker-compose.ym docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO docker pull $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/appc-image:$APPC_DOCKER_IMAGE_VERSION docker tag $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/appc-image:$APPC_DOCKER_IMAGE_VERSION ${SOLUTION_NAME}/appc-image:latest -docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest +docker pull $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION +docker tag $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION ${SOLUTION_NAME}/ccsdk-dgbuilder-image:latest +docker pull $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/appc-cdt-image:$APPC_DOCKER_IMAGE_VERSION +docker tag $NEXUS_DOCKER_REPO/${SOLUTION_NAME}/appc-cdt-image:$APPC_DOCKER_IMAGE_VERSION ${SOLUTION_NAME}/appc-cdt-image:latest + # start APPC containers with docker compose and configuration from docker-compose.yml docker-compose up -d # WAIT 5 minutes maximum and test every 5 seconds if APPC is up using HealthCheck API diff --git a/test/csit/plans/appc/healthcheck/teardown.sh b/test/csit/plans/appc/healthcheck/teardown.sh index 357ead8aa..94d1bc778 100755 --- a/test/csit/plans/appc/healthcheck/teardown.sh +++ b/test/csit/plans/appc/healthcheck/teardown.sh @@ -18,7 +18,8 @@ # kill-instance.sh appc_controller_container -kill-instance.sh sdnc_dgbuilder_container +kill-instance.sh ccsdk_dgbuilder_container +kill-instance.sh appc_cdt_container kill-instance.sh sdnc_db_container # $WORKSPACE/archives/appc deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/test/csit/scripts/common_functions.sh b/test/csit/scripts/common_functions.sh index 69856dab3..4293a526c 100755 --- a/test/csit/scripts/common_functions.sh +++ b/test/csit/scripts/common_functions.sh @@ -233,3 +233,20 @@ function run_simulator_docker () ROBOT_VARIABLES=${ROBOT_VARIABLES}" -v SIMULATOR_IP:${SIMULATOR_IP} -v SCRIPTS:${SCRIPTS}" echo ${ROBOT_VARIABLES} } + +function get_docker_compose_service () +{ + local service=$1 + local compose_file=${2:-docker-compose.yml} + + echo $(docker-compose --file ./${compose_file} ps | grep $service | cut -d " " -f1 ) +} + +function bypass_ip_adress () +{ + local ip_address=$1 + + if [[ $no_proxy && $no_proxy != *$ip_address* ]]; then + export no_proxy=$no_proxy,$ip_address + fi +} diff --git a/test/csit/scripts/so/chef-config/mso-docker.json b/test/csit/scripts/so/chef-config/mso-docker.json index 1827fa437..120db1176 100644 --- a/test/csit/scripts/so/chef-config/mso-docker.json +++ b/test/csit/scripts/so/chef-config/mso-docker.json @@ -204,6 +204,16 @@ "sdncTimeoutFirewall": "20", "callbackRetryAttempts": "30", "callbackRetrySleepTime": "1000", + "appcClientTopicRead": "APPC-LCM-READ", + "appcClientTopicWrite": "APPC-LCM-WRITE", + "appcClientTopicSdncRead": "SDNC-LCM-READ", + "appcClientTopicSdncWrite": "SDNC-LCM-WRITE", + "appcClientTopicReadTimeout": "360000", + "appcClientResponseTime": "360000", + "appcClientPoolMembers": "10.0.11.1:3904", + "appcClientKey": "VIlbtVl6YLhNUrtU", + "appcClientSecret": "64AG2hF4pYeG2pq7CT6XwUOT", + "appcClientService": "ueb", "workflowL3ToHigherLayerAddBondingModelName": "WAN Bonding", "workflowL3ToHigherLayerAddBondingModelVersion": "2.0" } diff --git a/test/csit/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-infra.sql b/test/csit/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-infra.sql new file mode 100644 index 000000000..15001050b --- /dev/null +++ b/test/csit/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-infra.sql @@ -0,0 +1,59 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID3','base_vfw.env','1.0','base_vfw ENV file','parameters:\n vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vfw_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n unprotected_private_net_id: zdfw1fwl01_unprotected\n protected_private_net_id: zdfw1fwl01_protected\n ecomp_private_net_id: oam_ecomp\n unprotected_private_net_cidr: 192.168.10.0/24\n protected_private_net_cidr: 192.168.20.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vfw_private_ip_0: 192.168.10.100\n vfw_private_ip_1: 192.168.20.100\n vfw_private_ip_2: 192.168.9.100\n vpg_private_ip_0: 192.168.10.200\n vpg_private_ip_1: 192.168.9.200\n vsn_private_ip_0: 192.168.20.250\n vsn_private_ip_1: 192.168.9.250\n vfw_name_0: zdfw1fwl01fwl01\n vpg_name_0: zdfw1fwl01pgn01\n vsn_name_0: zdfw1fwl01snk01\n vnf_id: vFirewall_demo_app\n vf_module_id: vFirewall\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vfw_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID3','base_vfw.yaml','1.0','Base VFW Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vFirewall demo app for OpenECOMP\n\nparameters:\n vfw_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vfw_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n unprotected_private_net_id:\n type: string\n label: Unprotected private network name or ID\n description: Private network that connects vPacketGenerator with vFirewall\n protected_private_net_id:\n type: string\n label: Protected private network name or ID\n description: Private network that connects vFirewall with vSink\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n unprotected_private_net_cidr:\n type: string\n label: Unprotected private network CIDR\n description: The CIDR of the unprotected private network\n protected_private_net_cidr:\n type: string\n label: Protected private network CIDR\n description: The CIDR of the protected private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vfw_private_ip_0:\n type: string\n label: vFirewall private IP address towards the unprotected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator\n vfw_private_ip_1:\n type: string\n label: vFirewall private IP address towards the protected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vSink\n vfw_private_ip_2:\n type: string\n label: vFirewall private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components\n vpg_private_ip_0:\n type: string\n label: vPacketGenerator private IP address towards the unprotected network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall\n vpg_private_ip_1:\n type: string\n label: vPacketGenerator private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components\n vsn_private_ip_0:\n type: string\n label: vSink private IP address towards the protected network\n description: Private IP address that is assigned to the vSink to communicate with the vFirewall\n vsn_private_ip_1:\n type: string\n label: vSink private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vSink to communicate with ECOMP components\n vfw_name_0:\n type: string\n label: vFirewall name\n description: Name of the vFirewall\n vpg_name_0:\n type: string\n label: vPacketGenerator name\n description: Name of the vPacketGenerator\n vsn_name_0:\n type: string\n label: vSink name\n description: Name of the vSink\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vFirewall Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n unprotected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: unprotected_private_net_id }\n\n protected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: protected_private_net_id }\n\n unprotected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: unprotected_private_network }\n cidr: { get_param: unprotected_private_net_cidr }\n\n protected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: protected_private_network }\n cidr: { get_param: protected_private_net_cidr }\n\n vfw_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vfw_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vfw_private_0_port }\n - port: { get_resource: vfw_private_1_port }\n - port: { get_resource: vfw_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__ : { get_param: dcae_collector_ip }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_firewall_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vfirewall.sh\n chmod +x v_firewall_init.sh\n chmod +x vfirewall.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo \"no\" > config/install.txt\n mv vfirewall.sh /etc/init.d\n sudo update-rc.d vfirewall.sh defaults\n ./v_firewall_init.sh\n\n vfw_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: unprotected_private_subnet }, \"ip_address\": { get_param: vfw_private_ip_0 }}]\n\n vfw_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: protected_private_subnet }, \"ip_address\": { get_param: vfw_private_ip_1 }}]\n\n vfw_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vfw_private_ip_2 }}]\n\n vpg_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vpg_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vpg_private_0_port }\n - port: { get_resource: vpg_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __fw_ipaddr__: { get_param: vfw_private_ip_0 }\n __protected_net_cidr__: { get_param: protected_private_net_cidr }\n __sink_ipaddr__: { get_param: vsn_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n FW_IPADDR=__fw_ipaddr__\n PROTECTED_NET_CIDR=__protected_net_cidr__\n SINK_IPADDR=__sink_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_packetgen_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vpacketgen.sh\n chmod +x v_packetgen_init.sh\n chmod +x vpacketgen.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $FW_IPADDR > config/fw_ipaddr.txt\n echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt\n echo $SINK_IPADDR > config/sink_ipaddr.txt\n echo \"no\" > config/install.txt\n mv vpacketgen.sh /etc/init.d\n sudo update-rc.d vpacketgen.sh defaults\n ./v_packetgen_init.sh\n\n vpg_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: unprotected_private_subnet }, \"ip_address\": { get_param: vpg_private_ip_0 }}]\n\n vpg_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vpg_private_ip_1 }}]\n\n vsn_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vsn_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vsn_private_0_port }\n - port: { get_resource: vsn_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __protected_net_gw__: { get_param: vfw_private_ip_1 }\n __unprotected_net__: { get_param: unprotected_private_net_cidr }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n PROTECTED_NET_GW=__protected_net_gw__\n UNPROTECTED_NET=__unprotected_net__\n UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d\'/\' -f1)\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_sink_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vsink.sh\n chmod +x v_sink_init.sh\n chmod +x vsink.sh\n echo $PROTECTED_NET_GW > config/protected_net_gw.txt\n echo $UNPROTECTED_NET > config/unprotected_net.txt\n echo \"no\" > config/install.txt\n mv vsink.sh /etc/init.d\n sudo update-rc.d vsink.sh defaults\n ./v_sink_init.sh\n\n vsn_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: protected_private_subnet }, \"ip_address\": { get_param: vsn_private_ip_0 }}]\n\n vsn_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vsn_private_ip_1 }}]\n \n',300,'MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','ecomp_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','ecomp_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','protected_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','protected_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','unprotected_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','unprotected_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_image_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_2','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','webserver_ip','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('2e34774e-715e-4fd5-bd09-7b654622f35i','vfw-service','585822c7-4027-4f84-ba50-e9248606f112','1.0','VFW service','2016-11-14 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID3',NULL,'2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID3',NULL,'2017-10-05 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VFW service1707MIGRATED','2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VFWResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2017-10-05 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/test/csit/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgw.sql b/test/csit/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgw.sql new file mode 100644 index 000000000..85173b440 --- /dev/null +++ b/test/csit/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgw.sql @@ -0,0 +1,67 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID4','base_vcpe_vgw.env','1.0','base_vgw ENV file','parameters:\nvcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED)\n vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)\n public_net_id: PUT THE PUBLIC NETWORK ID HERE\n mux_gw_private_net_id: zdfw1muxgw01_private\n mux_gw_private_subnet_id: zdfw1muxgw01_sub_private\n mux_gw_private_net_cidr: 10.5.0.0/24\n cpe_public_net_id: zdfw1cpe01_public\n cpe_public_subnet_id: zdfw1cpe01_sub_public\n cpe_public_net_cidr: 10.2.0.0/24\n onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE\n onap_private_subnet_id: PUT THE ONAP PRIVATE SUBNETWORK NAME HERE\n onap_private_net_cidr: 10.0.0.0/16\n vgw_private_ip_0: 10.5.0.21\n vgw_private_ip_1: 10.0.101.30\n vgw_private_ip_2: 10.2.0.3\n vgw_name_0: zdcpe1cpe01gw01\n vnf_id: vCPE_Infrastructure_GW_demo_app\n vf_module_id: vCPE_Customer_GW\n mux_ip_addr: 10.5.0.20\n vg_vgmux_tunnel_vni: 100\n dcae_collector_ip: 10.0.4.102\n dcae_collector_port: 8080\n repo_url_blob: https://nexus.onap.org/content/sites/raw\n repo_url_artifacts: https://nexus.onap.org/content/groups/staging\n demo_artifacts_version: 1.2.0\n install_script_version: 1.2.0-SNAPSHOT\n key_name: vgw_key\n pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\n cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace)\n vpp_source_repo_url: https://gerrit.fd.io/r/vpp\n vpp_source_repo_branch: stable/1704\n hc2vpp_source_repo_url: https://gerrit.fd.io/r/hc2vpp\n hc2vpp_source_repo_branch: stable/1704 ','MANUAL RECORD','2018-04-19 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID4','base_vcpe_vgw.yaml','1.0','Base VGW Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vCPE vGateway(vG) \n\n parameters:\n vcpe_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vcpe_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n mux_gw_private_net_id:\n type: string\n label: vGMUX private network name or ID\n description: Private network that connects vGMUX to vGWs\n mux_gw_private_subnet_id:\n type: string\n label: vGMUX private sub-network name or ID\n description: vGMUX private sub-network name or ID\n mux_gw_private_net_cidr:\n type: string\n label: vGMUX private network CIDR\n description: The CIDR of the vGMUX private network\n onap_private_net_id:\n type: string\n label: ONAP management network name or ID\n description: Private network that connects ONAP components and the VNF\n onap_private_subnet_id:\n type: string\n label: ONAP management sub-network name or ID\n description: Private sub-network that connects ONAP components and the VNF\n onap_private_net_cidr:\n type: string\n label: ONAP private network CIDR\n description: The CIDR of the protected private network\n cpe_public_net_id:\n type: string\n label: vCPE network that emulates internetmanagement name or ID\n description: Private network that connects vGW to emulated internet\n cpe_public_subnet_id:\n type: string\n label: vCPE Public subnet\n description: vCPE Public subnet\n cpe_public_net_cidr:\n type: string\n label: vCPE public network CIDR\n description: The CIDR of the vCPE public\n vgw_private_ip_0:\n type: string\n label: vGW private IP address towards the vGMUX\n description: Private IP address that is assigned to the vGW to communicate with vGMUX\n vgw_private_ip_1:\n type: string\n label: vGW private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vGW to communicate with ONAP components\n vgw_private_ip_2:\n type: string\n label: vGW private IP address towards the vCPE public network\n description: Private IP address that is assigned to the vGW to communicate with vCPE public network\n vgw_name_0:\n type: string\n label: vGW name\n description: Name of the vGW\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ONAP\n vf_module_id:\n type: string\n label: vCPE module ID\n description: The vCPE Module ID is provided by ONAP\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n dcae_collector_port:\n type: string\n label: DCAE collector port\n description: Port of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n repo_url_blob:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n repo_url_artifacts:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n install_script_version:\n type: string\n label: Installation script version number\n description: Version number of the scripts that install the vFW demo app\n demo_artifacts_version:\n type: string\n label: Artifacts version used in demo vnfs\n description: Artifacts (jar, tar.gz) version used in demo vnfs\n cloud_env:\n type: string\n label: Cloud environment\n description: Cloud environment (e.g., openstack, rackspace)\n vpp_source_repo_url:\n type: string\n label: VPP Source Git Repo\n description: URL for VPP source codes\n vpp_source_repo_branch:\n type: string\n label: VPP Source Git Branch\n description: Git Branch for the VPP source codes\n hc2vpp_source_repo_url:\n type: string\n label: Honeycomb Source Git Repo\n description: URL for Honeycomb source codes\n hc2vpp_source_repo_branch:\n type: string\n label: Honeycomb Source Git Branch\n description: Git Branch for the Honeycomb source codes\n mux_ip_addr:\n type: string\n label: vGMUX IP address\n description: IP address of vGMUX\n vg_vgmux_tunnel_vni:\n type: number\n label: vG-vGMUX tunnel vni\n description: vni value of vG-vGMUX vxlan tunnel\n\n#############\n# #\n# RESOURCES #\n# #\n#############\n\nresources:\n\n random-str:\n type: OS::Heat::RandomString\n properties:\n length: 4\n\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name:\n str_replace:\n template: base_rand\n params:\n base: { get_param: key_name }\n rand: { get_resource: random-str }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n # Virtual GW Instantiation\n vgw_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: mux_gw_private_net_id }\n fixed_ips: [{"subnet": { get_param: mux_gw_private_subnet_id }, "ip_address": { get_param: vgw_private_ip_0 }}]\n\n vgw_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vgw_private_ip_1 }}]\n\n vgw_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_public_net_id}\n fixed_ips: [{"subnet": { get_param: cpe_public_subnet_id }, "ip_address": { get_param: vgw_private_ip_2 }}]\n\n vgw_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vgw_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vgw_private_0_port }\n - port: { get_resource: vgw_private_1_port }\n - port: { get_resource: vgw_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __mux_gw_private_net_ipaddr__ : { get_param: vgw_private_ip_0 }\n __oam_ipaddr__ : { get_param: vgw_private_ip_1 }\n __oam_cidr__ : { get_param: onap_private_net_cidr }\n __cpe_public_net_cidr__ : { get_param: cpe_public_net_cidr }\n __mux_gw_private_net_cidr__ : { get_param: mux_gw_private_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n __vpp_source_repo_url__ : { get_param: vpp_source_repo_url }\n __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch }\n __hc2vpp_source_repo_url__ : { get_param: hc2vpp_source_repo_url }\n __hc2vpp_source_repo_branch__ : { get_param: hc2vpp_source_repo_branch }\n __mux_ip_addr__: { get_param: mux_ip_addr }\n __vg_vgmux_tunnel_vni__: { get_param: vg_vgmux_tunnel_vni }\n template: |\n #!/bin/bash\n\n # Create configuration files\n mkdir /opt/config\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt\n echo "__mux_gw_private_net_ipaddr__" > /opt/config/mux_gw_private_net_ipaddr.txt\n echo "__mux_gw_private_net_cidr__" > /opt/config/mux_gw_private_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n echo "__vpp_source_repo_url__" > /opt/config/vpp_source_repo_url.txt\n echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt\n echo "__hc2vpp_source_repo_url__" > /opt/config/hc2vpp_source_repo_url.txt\n echo "__hc2vpp_source_repo_branch__" > /opt/config/hc2vpp_source_repo_branch.txt\n echo "__mux_ip_addr__" > /opt/config/mux_ip_addr.txt\n echo "__vg_vgmux_tunnel_vni__" > /opt/config/vg_vgmux_tunnel_vni.txt\n\n # Download and run install script\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_gw_install.sh -o /opt/v_gw_install.sh\n cd /opt\n chmod +x v_gw_install.sh\n ./v_gw_install.sh\n\n', 300, 'MANUAL RECORD', '2018-04-19 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','hc2vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','hc2vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cloud_env','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','install_script_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','demo_artifacts_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','repo_url_artifacts','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','repo_url_blob','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','dcae_collector_port','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vg_vgmux_tunnel_vni','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_ip_addr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_private_ip_2','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','onap_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','onap_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','onap_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cpe_public_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cpe_public_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cpe_public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_gw_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_gw_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_gw_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vcpe_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vcpe_image_name','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('a94f8ff8-442d-11e8-8a14-0320c6d83cc0','vgw-service','fba765a0-442d-11e8-b89d-57dec24c6cba','1.0','VGW service','2018-04-19 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID4',NULL,'2018-04-19 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID4',NULL,'2018-04-19 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2018-04-19 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VGW service1707MIGRATED','2016-04-19 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VGWResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2018-04-19 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; 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 99d93c312..7349f63bb 100644 --- a/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot +++ b/test/csit/tests/clamp/UIs/02__Create_TCA_model.robot @@ -50,7 +50,7 @@ Set Properties for TCAModel1 Click Element locator=Properties CL Select From List By Label id=service vLoadBalancer Select From List By Label id=vf vLoadBalancer 0 - Select From List By Label id=actionSet eNodeB + Select From List By Label id=actionSet VNF Select From List By Label id=location Data Center 1 Data Center 3 Click Button locator=Save @@ -59,7 +59,7 @@ Set Policy Box properties for TCAModel1 Click Element xpath=//*[@data-element-id="Policy_12lup3h"] Click Button locator=New Policy Input Text locator=//*[@id="pname"] text=Policy2 - Select From List By Label id=recipe Reset + Select From List By Label id=recipe Restart Input Text locator=maxRetries text=6 Input Text locator=retryTimeLimit text=280 Input Text locator=timeout text=400 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 70cbf1262..a9cb78749 100644 --- a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot +++ b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot @@ -30,11 +30,11 @@ Verify TCAModel1 ${resp}= Get Request clamp /restservices/clds/v1/clds/model/TCAModel1 Should Contain Match ${resp} *templateTCA1* Should Contain Match ${resp} *c95b0e7c-c1f0-4287-9928-7964c5377a46* - Should Contain Match ${resp} *enbRecipe* + Should Contain Match ${resp} *vnfRecipe* Should Contain Match ${resp} *DC1* Should Contain Match ${resp} *DC3* Should Contain Match ${resp} *Policy2* - Should Contain Match ${resp} *reset* + Should Contain Match ${resp} *restart* Should Contain Match ${resp} *280* Should Contain Match ${resp} *400* diff --git a/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json b/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json new file mode 100644 index 000000000..49d77eb17 --- /dev/null +++ b/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json @@ -0,0 +1,34 @@ +{ + "event": { + "commonEventHeader": { + "domain": "other", + "eventName": "pnfRegistration_5GDU", + "eventId": "QTFCOC540002E-reg", + "eventType": "pnfRegistration", + "internalHeaderFields": {}, + "lastEpochMicrosec": 1519837825682, + "nfNamingCode": "5GRAN", + "nfcNamingCode": "5DU", + "priority": "Normal", + "reportingEntityName": "5GRAN_DU", + "sequence": 0, + "sourceId": "QTFCOC540002E", + "sourceName": "5GRAN_DU", + "startEpochMicrosec": 1519837825682, + "version": 3 + }, + "otherFields": { + "pnfVendorName": "Nokia", + "pnfOamIpv4Address": "10.16.123.234", + "pnfOamIpv6Address": "<<NONE>>", + "pnfFamily": "BBU", + "pnfType": "AirScale", + "pnfModelNumber": "AJ02", + "pnfSerialNumber": "QTFCOC540002E", + "pnfSoftwareVersion": "v4.5.0.1", + "pnfManufactureDate": 1516406400, + "pnfLastServiceDate": 1517206400, + "otherFieldsVersion": 1 + } + } +}
\ No newline at end of file diff --git a/test/csit/tests/dcaegen2/testcases/dcae_ves.robot b/test/csit/tests/dcaegen2/testcases/dcae_ves.robot index 47ce5f14d..393359f54 100644 --- a/test/csit/tests/dcaegen2/testcases/dcae_ves.robot +++ b/test/csit/tests/dcaegen2/testcases/dcae_ves.robot @@ -1,6 +1,5 @@ *** Settings *** Documentation Testing DCAE VES Listener with various event feeds from VoLTE, vDNS, vFW and cCPE use scenarios - Library RequestsLibrary Library OperatingSystem Library Collections @@ -10,9 +9,6 @@ Test Setup Cleanup VES Events Suite Setup VES Collector Suite Setup DMaaP Suite Teardown VES Collector Suite Shutdown DMaaP - - - *** Variables *** ${VESC_URL_HTTPS} https://%{VESC_IP}:8443 ${VESC_URL} http://%{VESC_IP}:8080 @@ -25,7 +21,7 @@ ${EVENT_MEASURE_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/t ${EVENT_DATA_FILE_BAD} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_single_fault_event_bad.json ${EVENT_BATCH_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_eventlist_batch.json ${EVENT_THROTTLING_STATE_DATA_FILE} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_volte_fault_provide_throttle_state.json - +${EVENT_PNF_REGISTRATION} %{WORKSPACE}/test/csit/tests/dcaegen2/testcases/assets/json_events/ves_pnf_registration_event.json #DCAE Health Check ${CONFIG_BINDING_URL} http://localhost:8443 @@ -34,9 +30,7 @@ ${CB_SERVICE_COMPONENT_PATH} /service_component/ ${VES_Service_Name1} dcae-controller-ves-collector ${VES_Service_Name2} ves-collector-not-exist - *** Test Cases *** - VES Collector Health Check [Tags] DCAE-VESC-R1 [Documentation] Ves Collector Health Check @@ -44,8 +38,7 @@ VES Collector Health Check ${session}= Create Session dcae ${VESC_URL} ${headers}= Create Dictionary Accept=*/* X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Get Request dcae /healthcheck headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - + Should Be Equal As Strings ${resp.status_code} 200 Publish Single VES VoLTE Fault Event [Tags] DCAE-VESC-R1 @@ -82,8 +75,7 @@ Publish VES VoLTE Fault Batch Events Should Be Equal As Strings ${resp.status_code} 200 #${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546016 ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546025 - Should Be Equal As Strings ${ret} true - + Should Be Equal As Strings ${ret} true Publish Single VES VoLTE Fault Event With Bad Data [Tags] DCAE-VESC-R1 @@ -105,8 +97,7 @@ Publish VES Event With Invalid Method Log Send HTTP Request with invalid method Put instead of Post ${resp}= Publish Event To VES Collector With Put Method No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 404 - + Should Be Equal As Strings ${resp.status_code} 404 Publish VES Event With Invalid URL Path [Tags] DCAE-VESC-R1 @@ -116,8 +107,7 @@ Publish VES Event With Invalid URL Path Log Send HTTP Request with invalid /listener/v5/ instead of /eventListener/v5 path ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} /listener/v5/ ${headers} ${evtdata} Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 404 - + Should Be Equal As Strings ${resp.status_code} 404 #Enable VESC HTTPS And Basic Auth #[Tags] DCAE-VESC-R1 @@ -142,8 +132,7 @@ Publish Single VES Fault Event Over HTTPS ${isEmpty}= Is Json Empty ${resp} Run Keyword If '${isEmpty}' == False Log ${resp.json()} ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546015 - Should Be Equal As Strings ${ret} true - + Should Be Equal As Strings ${ret} true Publish Single VES Measurement Event Over HTTPS [Tags] DCAE-VESC-R1 @@ -169,7 +158,6 @@ Publish VES Fault Batch Events Over HTTPS ${ret}= DMaaP Message Receive ab305d54-85b4-a31b-7db2-fb6b9e546025 Should Be Equal As Strings ${ret} true - Publish VES Event With Invalid URL Path HTTPS [Tags] DCAE-VESC-R1 [Documentation] Use invalid url path to expect 404 response @@ -180,22 +168,16 @@ Publish VES Event With Invalid URL Path HTTPS Log Receive HTTP Status code ${resp.status_code} Should Be Equal As Strings ${resp.status_code} 404 - - - - - - - - - - - - - - - - - - - +Publish PNF Registration Event + [Tags] DCAE-VESC-R1 + [Documentation] Post PNF registration event and expect 200 Response + ${evtdata}= Get Event Data From File ${EVENT_PNF_REGISTRATION} + ${headers}= Create Header From String ${HEADER_STRING} + ${resp}= Publish Event To VES Collector No Auth ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} + Log Receive HTTP Status code ${resp.status_code} + Should Be Equal As Strings ${resp.status_code} 200 + ${isEmpty}= Is Json Empty ${resp} + Run Keyword If '${isEmpty}' == False Log ${resp.json()} + ${ret}= DMaaP Message Receive QTFCOC540002E-reg + Should Be Equal As Strings ${ret} true +
\ No newline at end of file diff --git a/test/csit/tests/portal/testsuites/test1.robot b/test/csit/tests/portal/testsuites/test1.robot index 90aa10788..0b61807b2 100644 --- a/test/csit/tests/portal/testsuites/test1.robot +++ b/test/csit/tests/portal/testsuites/test1.robot @@ -1,17 +1,17 @@ *** Settings *** Documentation This is RobotFrame work script -Library ExtendedSelenium2Library -Library OperatingSystem -Library eteutils/RequestsClientCert.py -Library RequestsLibrary -Library eteutils/UUID.py -Library DateTime -Library Collections -Library eteutils/OSUtils.py -Library eteutils/StringTemplater.py -Library XvfbRobot -Resource json_templater.robot - +Library ExtendedSelenium2Library +Library OperatingSystem +Library eteutils/RequestsClientCert.py +Library RequestsLibrary +Library eteutils/UUID.py +Library DateTime +Library Collections +Library eteutils/OSUtils.py +Library eteutils/StringTemplater.py +Library String +Library XvfbRobot +Resource json_templater.robot *** Variables *** ${PORTAL_URL} http://portal.api.simpledemo.onap.org:8989 @@ -40,16 +40,20 @@ ${Test_Loginpwd} demo123456! ${Test_LoginPwdCheck} demo123456! ${Existing_User} portal ${PORTAL_HEALTH_CHECK_PATH} /ONAPPORTAL/portalApi/healthCheck +${PORTAL_XDEMPAPP_REST_URL} http://portal-sdk:8080/ONAPPORTALSDK/api/v2 ${PORTAL_ASSETS_DIRECTORY} ${CURDIR} ${GLOBAL_APPLICATION_ID} robot-functional ${GLOBAL_PORTAL_ADMIN_USER} demo ${GLOBAL_PORTAL_ADMIN_PWD} demo123456! +${AppAccountName} testApp +${AppUserName} testApp +${AppPassword} testApp123! ${GLOBAL_MSO_STATUS_PATH} /ecomp/mso/infra/orchestrationRequests/v2/ ${GLOBAL_SELENIUM_BROWSER} chrome ${GLOBAL_SELENIUM_BROWSER_CAPABILITIES} Create Dictionary ${GLOBAL_SELENIUM_DELAY} 0 ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} 5 -${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 15 +${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} 45 ${GLOBAL_OPENSTACK_HEAT_SERVICE_TYPE} orchestration ${GLOBAL_OPENSTACK_CINDER_SERVICE_TYPE} volume ${GLOBAL_OPENSTACK_NOVA_SERVICE_TYPE} compute @@ -63,7 +67,8 @@ ${RESOURCE_PATH} ONAPPORTAL/auxapi/ticketevent ${portal_Template} ${CURDIR}/portal.template ${Result} FALSE - +${td_id} 0 +${download_link_id} 0 *** Test Cases *** @@ -77,119 +82,134 @@ Login into Portal URL # [Documentation] ONAP Portal R1 functionality test # Notification on ONAP Portal # Portal Application Account Management validation + +Portal Change REST URL Of X-DemoApp + [Documentation] Portal Change REST URL Of X-DemoApp + Portal Change REST URL 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 +##Delete Microse service + ##Portal admin Microservice Delete -#Create Widget for all users - #Portal Admin Create Widget for All users +Create Widget for all users + Portal Admin Create Widget for All users -# Delete Widget for all users - # Portal Admin Delete 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 +Create Widget for Application Roles + Portal Admin Create Widget for Application Roles #Delete Widget for Application Roles - #Portal Admin Delete Widget for Application Roles + #Portal Admin Delete Widget for Application Roles -#Validate Functional Top Menu Get Access - #Functional Top Menu Get Access +##EP Admin widget download + ##Admin widget download -#Validate Functional Top Menu Contact Us - #Functional Top Menu Contact Us +EP Admin widget layout reset + Reset widget layout option + +Validate Functional Top Menu Get Access + Functional Top Menu Get Access -#Edit Functional Menu - #Portal admin Edit Functional menu +Validate Functional Top Menu Contact Us + Functional Top Menu Contact Us +Edit Functional Menu + Portal admin Edit Functional menu -# Broadbond Notification functionality - # ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications - # set global variable ${AdminBroadCastMsg} +Broadbond Notification functionality + ${AdminBroadCastMsg}= Portal Admin Broadcast Notifications + set global variable ${AdminBroadCastMsg} -# Category Notification functionality - # ${AdminCategoryMsg}= Portal Admin Category Notifications - # set global variable ${AdminCategoryMsg} +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 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 - + #Portal admin Delete Standard User Existing user + +#Add Account new account from App Account Management + #Portal admin Add New Account + +#Delete Account new account from App Account Management + #Portal admin Delete Account + Logout from Portal GUI as Portal Admin - Portal admin Logout from Portal GUI + Portal admin Logout from Portal GUI -# Application Admin user Test cases +## Application Admin user Test cases -#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 Functional Link as APP Admin -## Application Admin Navigation Functional Menu + ##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 +##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 + #Standared user Navigation Application Link Tab -##Navigate Functional Link as Standared User -## Standared user Navigation Functional Menu - +#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} +Logout from Portal GUI as Standared User + Standared User Logout from Portal GUI Teardown [Documentation] Close All Open browsers @@ -231,6 +251,7 @@ Run Portal Health Check ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH} Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.json()['statusCode']} 200 + Run Portal Get Request [Documentation] Runs Portal Get request [Arguments] ${data_path} @@ -259,7 +280,8 @@ Portal admin Login To Portal GUI Input Password xpath=//input[@ng-model='password'] ${GLOBAL_PORTAL_ADMIN_PWD} Click Link xpath=//a[@id='loginBtn'] Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} - Log Logged in to ${PORTAL_URL}${PORTAL_ENV} + #Execute Javascript document.getElementById('w-ecomp-footer').style.display = 'none' + Log Logged in to ${PORTAL_URL}${PORTAL_ENV} Portal admin Go To Portal HOME [Documentation] Naviage to Portal Home @@ -272,10 +294,7 @@ Portal admin User Notifications Wait Until Element Is Visible xpath=//h1[@class='heading-page'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Button xpath=//button[@id='button-openAddNewApp'] Click Button xpath=(//button[@id='undefined'])[1] - #Click Button xpath=//input[@id='datepicker-start'] - - - + #Click Button xpath=//input[@id='datepicker-start'] Portal admin Add Application Admin Exiting User [Documentation] Naviage to Admins tab @@ -458,8 +477,6 @@ Portal admin Add Application admin User New user -Test #Input Text xpath=//input[@id='input-table-search'] ${Test_First_Name} #Element Text Should Be xpath=(//span[contains(.,'appdemo')] )[1] ${Test_First_Name} - - Portal admin Add Application Admin Exiting User -APPDEMO [Documentation] Naviage to Admins tab Wait Until Element Is Visible xpath=//a[@title='Admins'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} @@ -501,8 +518,8 @@ Portal admin Add Standard User Existing user Click Button xpath=//button[@id='next-button'] # 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'] + Click Element xpath=//div[@id='app-select-Select roles1'] + Click Element xpath=//div[@id='app-select-Select roles1']/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 @@ -520,18 +537,41 @@ Portal admin Add Standard User Existing 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 +Portal admin Edit Standard User Existing user [Documentation] Naviage to Users tab + Click Link xpath=//a[@title='Users'] + Click Element xpath=//input[@id='dropdown1'] + # Click Element xpath=//li[contains(.,'Default')] +# Set Selenium Implicit Wait 3000 + Click Element xpath=//li[contains(.,'xDemo App')] +# Set Selenium Implicit Wait 3000 + Input Text xpath=//input[@id='input-table-search'] ${Existing_User} + Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User 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='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'] + # 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='app-select-Standard User1'] + Click Element xpath=//*[@id='app-select-Standard User1']/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 + + Page Should Contain Users + Click Button xpath=//button[@ng-click='toggleSidebar()'] + Click Button xpath=//button[@ng-click='users.openAddNewUserModal()'] + Input Text xpath=//input[@id='input-user-search'] ${Existing_User} + Click Button xpath=//button[@id='button-search-users'] + Click Element xpath=//span[@id='result-uuid-0'] + Click Button xpath=//button[@id='next-button'] + Click Element xpath=//div[@id='app-select-Select roles1'] + Click Element xpath=//div[@id='app-select-Select roles1']/following::input[@id='System-Administrator-checkbox'] + Set Selenium Implicit Wait 3000 +# Click Element xpath=//*[@id='app-select-Standard User1'] +# Click Element xpath=//*[@id='app-select-Standard User1']/following::input[@id='System-Administrator-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 @@ -539,6 +579,7 @@ Portal admin Edit Standard User Existing user #Click Button 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=(.//*[@id='rowheader_t1_0'])[2] Portal Notification Admin Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator Set Selenium Implicit Wait 3000 @@ -561,6 +602,7 @@ Portal admin Edit Standard User Existing user Functional Top Menu Get Access [Documentation] Naviage to Support tab + Go To ${PORTAL_HOME_URL} Click Link xpath=//a[contains(.,'Support')] Mouse Over xpath=//*[contains(text(),'Get Access')] Click Link xpath=//a[contains(.,'Get Access')] @@ -618,7 +660,8 @@ Portal admin Edit Functional menu Set Selenium Implicit Wait 3000 Element Should Not Contain xpath=(.//*[contains(.,'Design')]/following::ul[1])[1] ONAP Test Set Selenium Implicit Wait 3000 - + Click Image xpath=//img[@alt='Onap Logo'] + Set Selenium Implicit Wait 3000 Portal admin Microservice Onboarding [Documentation] Naviage to Edit Functional menu tab @@ -658,7 +701,7 @@ Portal admin Microservice Delete 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 + Execute Javascript window.scrollTo(0,document.body.scrollHeight); 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 @@ -666,20 +709,21 @@ Portal admin Microservice Delete Portal Admin Create Widget for All users [Documentation] Navigate to Create Widget menu tab ${WidgetAttachment}= Catenate ${PORTAL_ASSETS_DIRECTORY}//news_widget.zip + Wait until page contains Element xpath=//a[@title='Widget Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Click Link xpath=//a[@title='Widget Onboarding'] Click Button xpath=//button[@ng-click='toggleSidebar()'] Click Button xpath=//button[@id='widget-onboarding-button-add'] Input Text xpath=//*[@name='name'] ONAP-xDemo Input Text xpath=//*[@name='desc'] ONAP xDemo Click Element xpath=//*[@id='widgets-details-input-endpoint-url'] - Scroll Element Into View xpath=//li[contains(.,'Test Microservice')] - Click Element xpath=//li[contains(.,'Test Microservice')] + Scroll Element Into View xpath=//li[contains(.,'News Microservice')] + Click Element xpath=//li[contains(.,'News Microservice')] Click Element xpath=//*[contains(text(),'Allow all user access')]/preceding::input[@ng-model='widgetOnboardingDetails.widget.allUser'][1] Choose File xpath=//input[@id='widget-onboarding-details-upload-file'] ${WidgetAttachment} Click Button xpath=//button[@id='widgets-details-save-button'] - Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Wait Until Page Contains ONAP-xDemo ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Page Should Contain ONAP-xDemo - Set Selenium Implicit Wait 3000 + Set Selenium Implicit Wait 3000 GO TO ${PORTAL_HOME_PAGE} @@ -711,12 +755,12 @@ Portal Admin Create Widget for Application Roles Input Text xpath=//*[@name='name'] ONAP-xDemo Input Text xpath=//*[@name='desc'] ONAP xDemo Click Element xpath=//*[@id='widgets-details-input-endpoint-url'] - Scroll Element Into View xpath=//li[contains(.,'Test Microservice')] - Click Element xpath=//li[contains(.,'Test Microservice')] + Scroll Element Into View xpath=//li[contains(.,'News Microservice')] + Click Element xpath=//li[contains(.,'News Microservice')] Click element xpath=//*[@id="app-select-Select Applications"] click element xpath=//*[@id="xDemo-App-checkbox"] Click element xpath=//*[@name='desc'] - click element xpath=//*[@id="app-select-Select Roles"] + click element xpath=//*[@id="app-select-Select Roles0"] click element xpath=//*[@id="Standard-User-checkbox"] Click element xpath=//*[@name='desc'] Scroll Element Into View xpath=//input[@id='widget-onboarding-details-upload-file'] @@ -775,12 +819,12 @@ Portal Admin Edit Widget Portal Admin Broadcast Notifications [Documentation] Portal Test Admin Broadcast Notifications - ${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'] + Go To ${PORTAL_HOME_URL} + Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 Click Link xpath=//*[@id="parent-item-User-Notifications"] Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10 @@ -793,8 +837,9 @@ Portal Admin Broadcast Notifications Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10 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} +# Notification bug, Uncomment the code when PORTAL-232 is fixed + # Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10 + # Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminBroadCastMsg} Set Selenium Implicit Wait 3000 log ${AdminBroadCastMsg} [Return] ${AdminBroadCastMsg} @@ -823,21 +868,19 @@ Portal Admin Category Notifications Wait until Element is visible xpath=//*[@id="button-openAddNewApp"] timeout=10 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} +# Notification bug, Uncomment the code when PORTAL-232 is fixed + # Wait until Element is visible xpath=//*[@id="notification-history-table"] timeout=10 + # Table Column Should Contain xpath=//*[@id="notification-history-table"] 2 ${AdminCategoryMsg} Set Selenium Implicit Wait 3000 log ${AdminCategoryMsg} [Return] ${AdminCategoryMsg} - Portal admin Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] Click Button xpath=//button[contains(.,'Log out')] Title Should Be Login - - Application admin Login To Portal GUI [Documentation] Logs into Portal GUI # Setup Browser Now being managed by test case @@ -876,7 +919,7 @@ Application Admin Navigation Functional Menu Click Element xpath=(.//span[@id='tab-Home'])[1] -Application admin Add Standard User Existing user +Application admin Add Standard User Existing user [Documentation] Naviage to Users tab Click Link xpath=//a[@title='Users'] Page Should Contain Users @@ -887,9 +930,10 @@ 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 Element xpath=//*[@id='div-app-name-dropdown-Default'] + # Click Element xpath=//*[@id='div-app-name-Default']/following::input[@id='Standard-User-checkbox'] + # Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 #Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT} @@ -900,20 +944,21 @@ Application admin Add Standard User Existing user Set Selenium Implicit Wait 3000 Click Link xpath=//a[@title='Users'] 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} + # Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Account Administrator Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] Standard User - -Application admin Edit 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-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='Portal-Notification-Admin-checkbox'] + Click Element xpath=//*[@id='div-app-name-xDemo-App']/following::input[@id='System-Administrator-checkbox'] Set Selenium Implicit Wait 3000 Click Button xpath=//button[@id='new-user-save-button'] Set Selenium Implicit Wait 3000 @@ -921,9 +966,9 @@ Application admin Edit Standard User Existing user #Click Button 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=(.//*[@id='rowheader_t1_0'])[2] Account Administrator Element Text Should Be xpath=(.//*[@id='rowheader_t1_0'])[2] System Administrator - Application admin Delete Standard User Existing user [Documentation] Naviage to Users tab Click Element xpath=(.//*[@id='rowheader_t1_0'])[2] @@ -939,8 +984,6 @@ Application admin Delete Standard User Existing user #Click Image xpath=//img[@alt='Onap Logo'] Set Selenium Implicit Wait 3000 - - Application admin Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] @@ -948,10 +991,6 @@ Application admin Logout from Portal GUI Click Button xpath=//button[contains(text(),'Log out')] #Set Selenium Implicit Wait 3000 Title Should Be Login - - - - Standared user Login To Portal GUI [Documentation] Logs into Portal GUI @@ -970,7 +1009,6 @@ Standared user Login To Portal GUI Wait Until Page Contains Element xpath=//img[@alt='Onap Logo'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} Log Logged in to ${PORTAL_URL}${PORTAL_ENV} - Standared user Navigation Application Link Tab [Documentation] Logs into Portal GUI as application admin #Portal admin Go To Portal HOME @@ -1008,7 +1046,6 @@ Standared user Category Notifications Table Column Should Contain xpath=//*[@id='notification-history-table'] 2 ${AdminCategoryMsg} log ${AdminCategoryMsg} - Standared user Logout from Portal GUI [Documentation] Logout from Portal GUI Click Element xpath=//div[@id='header-user-icon'] @@ -1016,35 +1053,48 @@ Standared user Logout from Portal GUI #Confirm Action Title Should Be Login - - - -Tear Down +Portal admin Add New Account + Click Link //*[@id="parent-item-App-Account-Management"] + Click Button xpath=//button[@ng-click='toggleSidebar()'] + Set Selenium Implicit Wait 3000 + Click Button //*[@id="account-onboarding-button-add"] + Set Selenium Implicit Wait 3000 + Input Text //*[@id="account-details-input-name"] ${AppAccountName} + Input Text //*[@id="account-details-input-username"] ${AppUserName} + Input Text //*[@id="account-details-input-password"] ${AppPassword} + Input Text //*[@id="account-details-input-repassword"] ${AppPassword} + # Click Button xpath=//*[@ng-click='accountAddDetails.saveChanges()'] + # #Click Button xpath=//button[@ng-click='admins.openAddNewAdminModal()'] + #account-details-next-button + Click Button xpath=//button[@ng-click='accountAddDetails.saveChanges()'] + +Portal admin Delete Account + Click Link //*[@id="parent-item-App-Account-Management"] + Click Button xpath=//button[@ng-click='toggleSidebar()'] + Set Selenium Implicit Wait 3000 + Click Button //*[@id="account-onboarding-button-add"] + Set Selenium Implicit Wait 3000 + +Tear Down [Documentation] Close all browsers Close All Browsers - Enhanced Notification on ONAP Portal [Documentation] Runs portal Post request [Arguments] ${data_path} ${data} -# Log Creating session ${GLOBAL_PORTAL_SERVER_URL} + # Log Creating session ${GLOBAL_PORTAL_SERVER_URL} ${session}= Create Session portal ${PORTAL_URL} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic amlyYTpfcGFzcw== username=jira password=_pass ${resp}= Post Request portal ${data_path} data=${data} headers=${headers} -# Log Received response from portal ${resp.text} + # Log Received response from portal ${resp.text} [Return] ${resp} - - - + Notification on ONAP Portal [Documentation] Create Config portal ${configportal}= Create Dictionary jira_id=${jira} ${output} = Fill JSON Template File ${portal_Template} ${configportal} ${post_resp} = Enhanced Notification on ONAP Portal ${RESOURCE_PATH} ${output} Should Be Equal As Strings ${post_resp.status_code} 200 - - - Portal Application Account Management [Documentation] Naviage to Application Account Management tab @@ -1057,7 +1107,7 @@ Portal Application Account Management Click Element xpath=//div[@ng-click='accountAddDetails.saveChanges()'] Element Text Should Be xpath=//*[@table-data='serviceList'] JIRA -Portal Application Account Management validation +Portal Application Account Management validation [Documentation] Naviage to user notification tab Click Link xpath=//a[@id='parent-item-User-Notifications'] click element xpath=//*[@id="megamenu-notification-button"] @@ -1066,13 +1116,40 @@ Portal Application Account Management validation Table Column Should Contain xpath=//*[@id="notification-history-table"] 1 JIRA -Portal AAF new fields +Portal AAF new fields [Documentation] Naviage to user Application details tab Click Link xpath=//a[@title='Application Onboarding'] Click Element xpath=//td[contains(.,'xDemo App')] Page Should Contain Name Space Page Should Contain Centralized Click Element xpath=//button[@id='button-notification-cancel'] + +Portal Change REST URL + [Documentation] Naviage to user Application details tab + Click Link xpath=//a[@title='Application Onboarding'] + Click Element xpath=//td[contains(.,'xDemo App')] + Input Text xpath=//input[@name='restUrl'] ${PORTAL_XDEMPAPP_REST_URL} + Click Element xpath=//button[@id='button-save-app'] - - +Admin widget download + Go To ${PORTAL_HOME_URL} + Wait until page contains Element xpath=//a[@title='Widget Onboarding'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + click Link xpath=//a[@title='Widget Onboarding'] + Wait until page contains Element xpath=//table[@class='ng-scope'] + ${td_id}= get element attribute xpath=//*[contains(text(),'Events')]@id + log ${td_id} + ${test}= Get Substring ${td_id} -1 + log ${test} + ${download_link_id}= Catenate 'widget-onboarding-div-download-widget-${test}' + click Element xpath=//*[@id=${download_link_id}] + +Reset widget layout option + Go To ${PORTAL_HOME_URL} + Wait Until Page Contains Element xpath=//div[@id='widget-boarder'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Execute Javascript document.getElementById('widgets').scrollTo(0,1400) + Wait Until Page Contains Element xpath=//*[@id='widget-gridster-Events-icon'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT} + Execute Javascript document.getElementById('widgets').scrollTo(0,1800) + Drag And Drop By Offset xpath=//*[@id='widget-gridster-Events-icon'] 500 500 + Execute Javascript document.getElementById('widgets').scrollTo(0,document.getElementById('widgets').scrollHeight); + Execute Javascript document.getElementById('dashboardDefaultPreference').click() + Execute Javascript document.getElementById('div-confirm-ok-button').click() diff --git a/test/ete/labs/gwu/apt-proxy.sh b/test/ete/labs/gwu/apt-proxy.sh index d69415bd8..e1c4f0891 100755 --- a/test/ete/labs/gwu/apt-proxy.sh +++ b/test/ete/labs/gwu/apt-proxy.sh @@ -13,6 +13,3 @@ sed -i '/#!\/bin\/bash/a\ Acquire::https::Proxy "DIRECT";\ EOF\ apt-get -y update' $1 - -# don't use insecure docker proxy in dcae -perl -i -0pe 's/(?<=dcae_c_vm:)(.*?)\{ get_param: nexus_docker_repo \}/$1"nexus3.onap.org:10001"/s' $1 diff --git a/test/ete/labs/huawei/apt-proxy.sh b/test/ete/labs/huawei/apt-proxy.sh index 37018ca6b..b95299302 100755 --- a/test/ete/labs/huawei/apt-proxy.sh +++ b/test/ete/labs/huawei/apt-proxy.sh @@ -11,6 +11,3 @@ sed -i '/#!\/bin\/bash/a\ Acquire::https::Proxy "DIRECT";\ EOF\ apt-get -y update' $1 - -# don't use insecure docker proxy in dcae -perl -i -0pe 's/(?<=dcae_c_vm:)(.*?)\{ get_param: nexus_docker_repo \}/$1"nexus3.onap.org:10001"/s' $1 diff --git a/test/ete/labs/tlab/apt-proxy.sh b/test/ete/labs/tlab/apt-proxy.sh index f2094ee2f..3cf547452 100755 --- a/test/ete/labs/tlab/apt-proxy.sh +++ b/test/ete/labs/tlab/apt-proxy.sh @@ -11,6 +11,3 @@ sed -i '/#!\/bin\/bash/a\ Acquire::https::Proxy "DIRECT";\ EOF\ apt-get -y update' $1 - -# don't use insecure docker proxy in dcae -perl -i -0pe 's/(?<=dcae_c_vm:)(.*?)\{ get_param: nexus_docker_repo \}/$1"nexus3.onap.org:10001"/s' $1 diff --git a/test/ete/labs/windriver/apt-proxy.sh b/test/ete/labs/windriver/apt-proxy.sh index 54b15bba6..365b5d015 100755 --- a/test/ete/labs/windriver/apt-proxy.sh +++ b/test/ete/labs/windriver/apt-proxy.sh @@ -11,6 +11,3 @@ sed -i '/#!\/bin\/bash/a\ Acquire::https::Proxy "DIRECT";\ EOF\ apt-get -y update' $1 - -# don't use insecure docker proxy in dcae -perl -i -0pe 's/(?<=dcae_c_vm:)(.*?)\{ get_param: nexus_docker_repo \}/$1"nexus3.onap.org:10001"/s' $1 |