aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMurali-P <murali.p@huawei.com>2017-08-03 18:08:44 +0530
committerMurali-P <murali.p@huawei.com>2017-08-03 18:08:44 +0530
commitb73e6141c5f03f95cd39c6f1b8d44908f35b9467 (patch)
tree38323fc0daf7687de5a90d84d3a54ec71be2ffde
parent0146bff780af110d4183de8178ebdf7537545239 (diff)
Initial CSIT test case
Resolved:VNFSDK-53 VNF SDK market place Change-Id: Idffd5e7ee278f806b793eac4632d4f951c742bf4 Signed-off-by: Murali-P <murali.p@huawei.com>
-rw-r--r--test/csit/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csarbin0 -> 32098 bytes
-rw-r--r--test/csit/plans/vnfsdk-marketplace/sanity-check/setup.sh48
-rw-r--r--test/csit/plans/vnfsdk-marketplace/sanity-check/teardown.sh22
-rw-r--r--test/csit/plans/vnfsdk-marketplace/sanity-check/testplan.txt3
-rw-r--r--test/csit/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh138
-rw-r--r--test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot19
6 files changed, 230 insertions, 0 deletions
diff --git a/test/csit/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar b/test/csit/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar
new file mode 100644
index 000000000..29e08c162
--- /dev/null
+++ b/test/csit/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar
Binary files differ
diff --git a/test/csit/plans/vnfsdk-marketplace/sanity-check/setup.sh b/test/csit/plans/vnfsdk-marketplace/sanity-check/setup.sh
new file mode 100644
index 000000000..86d7ce61b
--- /dev/null
+++ b/test/csit/plans/vnfsdk-marketplace/sanity-check/setup.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+#
+# These scripts are sourced by run-csit.sh.
+
+source ${SCRIPTS}/common_functions.sh
+
+# Start MSB
+${SCRIPTS}/common-services-microservice-bus/startup.sh i-msb
+MSB_IP=`get-instance-ip.sh i-msb`
+curl_path='http://'${MSB_IP}'/openoui/microservices/index.html'
+sleep_msg="Waiting_connection_for_url_for:i-msb"
+wait_curl_driver CURL_COMMAND=$curl_path WAIT_MESSAGE='"$sleep_msg"' GREP_STRING="org_openo_msb_route_title" REPEAT_NUMBER="15"
+
+
+#Start market place
+docker run -d -i -t --name=marketplace -e MSB_ADDR=$MSB_IP -p 8702:8702 openoint/vnf-sdk-marketplace
+
+# Start vnfsdk
+docker run -d -i -t --name=functest -e MSB_ADDR=$MSB_IP -p 8701:8701 openoint/vnfsdk-function-test
+
+#Start catalogue, aria
+docker run -d -i -t --name=catalog -e MSB_ADDR=$MSB_IP -p 8200:8200 -p 8201:8201 openoint/common-tosca-catalog
+
+docker run -d -i -t --name=aria -e MSB_ADDR=$MSB_IP -p 8204:8204 openoint/common-tosca-aria
+
+
+
+echo SCRIPTS
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v SCRIPTS:${SCRIPTS}"
+
+# Run Mock server
+run_robottestlib \ No newline at end of file
diff --git a/test/csit/plans/vnfsdk-marketplace/sanity-check/teardown.sh b/test/csit/plans/vnfsdk-marketplace/sanity-check/teardown.sh
new file mode 100644
index 000000000..f74b59745
--- /dev/null
+++ b/test/csit/plans/vnfsdk-marketplace/sanity-check/teardown.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+#
+# This script is sourced by run-csit.sh after Robot test completion.
+
+kill-instance.sh functest
+kill-instance.sh marketplace
+kill-instance.sh catalog
+kill-instance.sh aria
diff --git a/test/csit/plans/vnfsdk-marketplace/sanity-check/testplan.txt b/test/csit/plans/vnfsdk-marketplace/sanity-check/testplan.txt
new file mode 100644
index 000000000..730df014f
--- /dev/null
+++ b/test/csit/plans/vnfsdk-marketplace/sanity-check/testplan.txt
@@ -0,0 +1,3 @@
+## Test suites are relative paths under [integration.git]/test/csit/tests/.
+## Place the suites in run order.
+vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot
diff --git a/test/csit/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh b/test/csit/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh
new file mode 100644
index 000000000..279912c35
--- /dev/null
+++ b/test/csit/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh
@@ -0,0 +1,138 @@
+#!/usr/bin/env bash
+###############################################################################
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+###############################################################################
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+echo $SCRIPT_DIR
+
+#CHECK IF MSB_ADDR IS GIVEN IN COMMAND
+if [ -z "$1" ]
+then
+ echo "There is no MSB_ADDR"
+ exit 1
+fi
+MSB_ADDR=$1
+CSAR_NAME=$2
+echo $MSB_ADDR
+echo $CSAR_NAME
+
+# Wait for MSB initialization
+echo Wait for MSB initialization
+for i in {1..20}; do
+ curl -sS -m 1 $MSB_ADDR > /dev/null && break
+ sleep $i
+done
+#MSB initialized
+###########################################
+###########################################
+###########################################
+###########################################
+###########################################
+###########################################
+############UOLOAD PACKAGE to MARKET PLACE######################
+echo
+echo "############## UOLOAD PACKAGE to MARKET PLACE STARTED ##############";
+UploadPackageResponse=$(curl -sS -X POST -H "Content-Type: multipart/form-data;" -F "file=@$CSAR_NAME" http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars)
+if echo "$UploadPackageResponse" | grep -q "\"csarId\""; then
+ echo "UOLOAD PACKAGE TO MARKET PLACE SUCSSS !!!";
+else
+ echo "UploadPackageResponse :$UploadPackageResponse"
+ echo "UOLOAD PACKAGE TO MARKET PLACE FAILED !!!";
+ exit 1;
+fi
+UploadCsarId=$(echo ${UploadPackageResponse:11:36})
+echo "PACKAGE ID:$UploadCsarId"
+echo "############## UOLOAD PACKAGE to MARKET PLACE END ##################";
+#######UOLOAD PACKAGE to MARKET PLACE END#############
+###########################################
+###########################################
+###########################################
+###########################################
+###########################################
+###########################################
+###########################################
+################GET ON BOARD STATUS########
+echo
+echo "####################### GETTING ON-BOARDING STATUS ##################";
+#sleeping for 10 sec so thate ON Boarding operation should be happened at backend
+for pc in $(seq 1 10); do
+ status=$((${pc}*10));
+ echo -ne "ON_BOARDING Status (%): $status\033[0K\r"
+ sleep 1
+done
+echo
+
+#Three Retries for getting On Boarding Result
+#count=0
+#while [ $count -lt 3 ]
+#do
+# OnBoardStatusResponse=$(curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/onboardstatus?operTypeId=functiontest&operId=functestexec" -H "Accept: application/json" -H "Content-Type: application/json")
+# echo $OnBoardStatusResponse
+# if echo "$OnBoardStatusResponse" | grep -q "\"status\":0"; then
+# break;
+# else
+# if [ $count -eq 3 ]
+# then
+# echo "ON-BOARDING OPERATION FAILED !!!";
+# fi
+# count=`expr $count + 1`;
+# sleep 3;
+# fi
+#done
+echo "GET ON-BOARDING RESULT OPERATION SUCESS ";
+echo "##################### GETTING ON-BOARDING STATUS END #################";
+####################GET ON BOARD STATUS END############
+##########################################
+##########################################
+##########################################
+##########################################
+##########################################
+#################DOWNLOAD PACKAGE#########
+echo
+echo "############## DOWNLOADED PACKAGE FROM MARKET STARTED #################";
+PACKAGE_NAME=market_temp.csar
+curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/files" > $PACKAGE_NAME
+fileSize=$(du -b $PACKAGE_NAME | cut -f 1)
+if [ $fileSize -eq 0 ]
+then
+ echo "DOWNLOADED PACKAGE FROM MARKET NOT PROPER, ON-BOARDING OPERATION FAILED !!!";
+ exit 1;
+fi
+echo "DOWNLOADED PACKAGE FROM MARKET OPERATION SUCESS !!!";
+echo "MARKET PACKAGE NAME:$PACKAGE_NAME"
+echo "##################### DOWNLOADED PACKAGE FROM MARKET ##################";
+###################DOWNLOAD PACKAGE END#####################
+##########################################
+##########################################
+##########################################
+##########################################
+##########CATALOUGE START#################
+echo
+PACKAGE_NAME=$CSAR_NAME
+#Check if common-tosca-catalog is registered with MSB or not
+#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/catalog/version/v1 -H "Accept: application/json" -H "Content-Type: application/json"
+#check if common-tosca-aria is registered with MSB or not
+#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/tosca/version/v1 -H "Accept: application/json" -H "Content-Type: application/json"
+#echo Sending POST request to Catalog
+CsarIdString=$(curl -sS -X POST -H "Content-Type: multipart/form-data; boundary=-WebKitFormBoundary7MA4YWxkTrZu0gW" -H "Cache-Control: no-cache" -H "Postman-Token: abcb6497-b225-c592-01be-e9ff460ca188" -F "file=@$PACKAGE_NAME" http://$MSB_ADDR/openoapi/catalog/v1/csars)
+#getting csarId from the output of curl request
+CsarId=$(echo ${CsarIdString:11:36})
+echo $CsarId
+echo $CsarIdString
+#csarid is sucessfully stored in CsarId variable
+echo "====finished======"
+##########CATALOUGE END############
+echo "DELETING PACAKE LOCAL COPY:$PACKAGE_NAME";
+#rm $PACKAGE_NAME;
diff --git a/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot b/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot
new file mode 100644
index 000000000..5a314b519
--- /dev/null
+++ b/test/csit/tests/vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot
@@ -0,0 +1,19 @@
+*** settings ***
+Library OperatingSystem
+Library Process
+
+
+*** Variables ***
+${csarpath} ${SCRIPTS}/../plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar
+${upload} ${SCRIPTS}/../plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh
+
+
+*** Test Cases ***
+Upload CSAR to marketplace repository
+ [Documentation] Upload the VNF Package
+ ${status}= Run curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@RobotScript.zip" http://${MSB_IP}/openoapi/vnfsdk/v1/functest/
+
+E2E Test case for VNF SDK
+ [Documentation] Upload the VNF Package
+ ${status}= Run Process bash ${upload} ${MSB_IP} ${csarpath} > log.txt shell=yes
+