diff options
24 files changed, 397 insertions, 79 deletions
diff --git a/test/csit/plans/holmes/sanity-check/setup.sh b/test/csit/plans/holmes-rule-management/sanity-check/setup.sh index cbe107c16..cbe107c16 100644 --- a/test/csit/plans/holmes/sanity-check/setup.sh +++ b/test/csit/plans/holmes-rule-management/sanity-check/setup.sh diff --git a/test/csit/plans/holmes-rule-management/sanity-check/teardown.sh b/test/csit/plans/holmes-rule-management/sanity-check/teardown.sh new file mode 100644 index 000000000..776522719 --- /dev/null +++ b/test/csit/plans/holmes-rule-management/sanity-check/teardown.sh @@ -0,0 +1,25 @@ +#!/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. +# + +#kill-instance.sh i-rulemgt +#kill-instance.sh i-engine-d +#kill-instance.sh msb_internal_apigateway +#kill-instance.sh msb_discovery +#kill-instance.sh msb_consul +#kill-instance.sh mysql-holmes + + diff --git a/test/csit/plans/holmes/sanity-check/testplan.txt b/test/csit/plans/holmes-rule-management/sanity-check/testplan.txt index e699512d7..e699512d7 100644 --- a/test/csit/plans/holmes/sanity-check/testplan.txt +++ b/test/csit/plans/holmes-rule-management/sanity-check/testplan.txt diff --git a/test/csit/plans/msb/rest-service/setup.sh b/test/csit/plans/msb/rest-service/setup.sh new file mode 100644 index 000000000..18b17ff8f --- /dev/null +++ b/test/csit/plans/msb/rest-service/setup.sh @@ -0,0 +1,55 @@ +#!/bin/bash +# +# Copyright 2017 ZTE, Inc. and others. +# +# 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. +# + +source ${SCRIPTS}/common_functions.sh + +#start msb +sudo docker run -d -p 8500:8500 --name msb_consul consul +MSB_CONSUL_IP=`get-instance-ip.sh msb_consul` +echo MSB_CONSUL_IP=${MSB_CONSUL_IP} + +sudo docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery +MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery` +echo DISCOVERY_IP=${MSB_DISCOVERY_IP} + +sudo docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway +MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway` +echo MSB_IAG_IP=${MSB_IAG_IP} + +# Start rest example service +sudo docker run -d -p 9090:9090 --name i-rest-example zhaohuabing/rest-example +REST_EXAMPLE_IP=`get-instance-ip.sh i-rest-example` +echo REST_EXAMPLE_IP=${REST_EXAMPLE_IP} + + +# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway) +for i in {1..10}; do + curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break + echo sleep $i + sleep $i +done + +#Need some time so service info can be synced from discovery to api gateway +sleep 60 + +curl -X POST \ + -H "Content-Type: application/json" \ + -d '{"serviceName": "test", "version": "v1", "url": "/","protocol": "REST", "lb_policy":"round-robin","nodes": [ {"ip": "'${REST_EXAMPLE_IP}'","port": "9090"}]}' \ + "http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services" + +# Pass any variables required by Robot suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v REST_EXAMPLE_IP:${REST_EXAMPLE_IP}"
\ No newline at end of file diff --git a/test/csit/plans/holmes/sanity-check/teardown.sh b/test/csit/plans/msb/rest-service/teardown.sh index 4c457dc01..b79456731 100644 --- a/test/csit/plans/holmes/sanity-check/teardown.sh +++ b/test/csit/plans/msb/rest-service/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2017 ZTE, Inc. and others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,11 +15,7 @@ # limitations under the License. # -kill-instance.sh i-rulemgt -kill-instance.sh i-engine-d -kill-instance.sh msb_internal_apigateway -kill-instance.sh msb_discovery kill-instance.sh msb_consul -kill-instance.sh mysql-holmes - - +kill-instance.sh msb_discovery +kill-instance.sh msb_internal_apigateway +kill-instance.sh i-rest-example diff --git a/test/csit/plans/msb/rest-service/testplan.txt b/test/csit/plans/msb/rest-service/testplan.txt new file mode 100644 index 000000000..54bb307bf --- /dev/null +++ b/test/csit/plans/msb/rest-service/testplan.txt @@ -0,0 +1,4 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +msb/rest-service-discovery +msb/rest-service-api-gateway
\ No newline at end of file diff --git a/test/csit/plans/msb/sanity-check/setup.sh b/test/csit/plans/msb/sanity-check/setup.sh index a484160a0..21bb18f7d 100644 --- a/test/csit/plans/msb/sanity-check/setup.sh +++ b/test/csit/plans/msb/sanity-check/setup.sh @@ -18,15 +18,15 @@ source ${SCRIPTS}/common_functions.sh #start msb -sudo docker run -d -p 8500:8500 --name msb_consul consul +docker run -d -p 8500:8500 --name msb_consul consul MSB_CONSUL_IP=`get-instance-ip.sh msb_consul` echo MSB_CONSUL_IP=${MSB_CONSUL_IP} -sudo docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery +docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery` echo DISCOVERY_IP=${MSB_DISCOVERY_IP} -sudo docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway +docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway` echo MSB_IAG_IP=${MSB_IAG_IP} @@ -37,5 +37,8 @@ for i in {1..10}; do sleep $i done -# Pass any variables required by Robot test suites in ROBOT_VARIABLES +#wait for container initalization +sleep 30 + +#Pass any variables required by Robot test suites in ROBOT_VARIABLES ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP}" diff --git a/test/csit/plans/msb/tcp-service/setup.sh b/test/csit/plans/msb/tcp-service/setup.sh index 18d70bde5..1a315e516 100644 --- a/test/csit/plans/msb/tcp-service/setup.sh +++ b/test/csit/plans/msb/tcp-service/setup.sh @@ -18,20 +18,20 @@ source ${SCRIPTS}/common_functions.sh #start msb -sudo docker run -d -p 8500:8500 --name msb_consul consul +docker run -d -p 8500:8500 --name msb_consul consul MSB_CONSUL_IP=`get-instance-ip.sh msb_consul` echo MSB_CONSUL_IP=${MSB_CONSUL_IP} -sudo docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery +docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery` echo DISCOVERY_IP=${MSB_DISCOVERY_IP} -sudo docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway +docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway` echo MSB_IAG_IP=${MSB_IAG_IP} # Start Message Broker -sudo docker run -d -p 61616:61616 --name i-activemq webcenter/activemq +docker run -d -p 61616:61616 --name i-activemq webcenter/activemq ACTIVEMQ_IP=`get-instance-ip.sh i-activemq` echo ACTIVEMQ_IP=${ACTIVEMQ_IP} @@ -43,7 +43,7 @@ for i in {1..10}; do sleep $i done -#wait for discovery initalization +#wait for container initalization sleep 30 curl -H "Content-Type: application/json" -X POST -d '{"serviceName": "ActiveMQ","protocol": "TCP","nodes": [{"ip": "'${ACTIVEMQ_IP}'","port": "61616"}]}' http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services diff --git a/test/csit/plans/so/sanity-check/setup.sh b/test/csit/plans/so/sanity-check/setup.sh index a9c42fb4a..77a33bf65 100644 --- a/test/csit/plans/so/sanity-check/setup.sh +++ b/test/csit/plans/so/sanity-check/setup.sh @@ -17,21 +17,18 @@ # Place the scripts in run order: # Start all process required for executing test case -source ${SCRIPTS}/common_functions.sh +#start so +docker run -d -i -t --name=so -p 8080:8080 nexus3.onap.org:10001/openecomp/mso -#Start gso -run-instance.sh openoint/gso-service-manager gso " -i -t -e MSB_ADDR=${MSB_IP}:80 -e MYSQL_ADDR=${INV_ADDR}:3306" -sleep_msg="Waiting_for_so" -curl_path='http://'${MSB_IP}':80/api/so/v1/services' -wait_curl_driver CURL_COMMAND=$curl_path WAIT_MESSAGE='"$sleep_msg"' REPEAT_NUMBER=25 GREP_STRING="\[" +SO_IP=`get-instance-ip.sh so` +# Wait for initialization +for i in {1..10}; do + curl -sS ${SO_IP}:1080 && break + echo sleep $i + sleep $i +done -#run simulator -docker run -d -i -t --name gso_csit_simulator -e SIMULATOR_JSON=Stubs/testcase/so/main.json -p 18009:18009 -p 18008:18008 openoint/simulate-test-docker -SIMULATOR_IP=`get-instance-ip.sh gso_csit_simulator` -sleep_msg="Waiting_for_simulator" -curl_path='http://'${SIMULATOR_IP}':18009/api/extsys/v1/vims' -wait_curl_driver CURL_COMMAND=$curl_path WAIT_MESSAGE='"$sleep_msg"' REPEAT_NUMBER=16 GREP_STRING="\[" - - -ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v SCRIPTS:${SCRIPTS} -v SIMULATOR_IP:${SIMULATOR_IP}" -robot ${ROBOT_VARIABLES} ${SCRIPTS}/../tests/so/sanity-check/register_simulator_to_msb.robot +#REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' so` +REPO_IP='127.0.0.1' +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v REPO_IP:${REPO_IP}" diff --git a/test/csit/plans/so/sanity-check/teardown.sh b/test/csit/plans/so/sanity-check/teardown.sh index 5cd82b7e2..a924a074f 100644 --- a/test/csit/plans/so/sanity-check/teardown.sh +++ b/test/csit/plans/so/sanity-check/teardown.sh @@ -15,10 +15,4 @@ # limitations under the License. # -#copy the logs files -docker cp so:/service/logs/lifecyclemgr.log ${SCRIPTS}/../../../archives -# kill micro service -kill-instance.sh i-msb kill-instance.sh so - - diff --git a/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh b/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh index d17af9f9a..42a7f901e 100755 --- a/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh +++ b/test/csit/plans/vfc-nfvo-lcm/sanity-check/setup.sh @@ -17,28 +17,42 @@ # Place the scripts in run order: # Start all process required for executing test case -#login to the onap nexus docker repo -docker login -u docker -p docker nexus3.onap.org:10001 - -# Start MSB -docker run -d -p 8500:8500 --name msb_consul nexus3.onap.org:10001/onap/msb/msb_base -CONSUL_IP=`get-instance-ip.sh msb_consul` -echo CONSUL_IP=${CONSUL_IP} -docker run -d -p 10081:10081 -e CONSUL_IP=$CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery -DISCOVERY_IP=`get-instance-ip.sh msb_discovery` -echo DISCOVERY_IP=${DISCOVERY_IP} -docker run -d -p 80:80 -e CONSUL_IP=$CONSUL_IP -e SDCLIENT_IP=$DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway -MSB_IP=`get-instance-ip.sh msb_internal_apigateway` -echo MSB_IP=${MSB_IP} +source ${SCRIPTS}/common_functions.sh + +#start msb +docker run -d -p 8500:8500 --name msb_consul consul +MSB_CONSUL_IP=`get-instance-ip.sh msb_consul` +echo MSB_CONSUL_IP=${MSB_CONSUL_IP} + +docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery +MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery` +echo DISCOVERY_IP=${MSB_DISCOVERY_IP} + +docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway +MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway` +echo MSB_IAG_IP=${MSB_IAG_IP} + +# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway) +for i in {1..10}; do + curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break + echo sleep $i + sleep $i +done + +# wait for container initalization +echo sleep 30 +sleep 30 # start vfc-nslcm -docker run -d --name vfc-nslcm -e MSB_ADDR=${MSB_IP}:80 nexus3.onap.org:10001/onap/vfc/nslcm +docker run -d --name vfc-nslcm -v /var/lib/mysql -e MSB_ADDR=${MSB_IAG_IP}:80 nexus3.onap.org:10001/onap/vfc/nslcm NSLCM_IP=`get-instance-ip.sh vfc-nslcm` + +# Wait for initialization for i in {1..10}; do - curl -sS ${NSLCM_IP}:8403 && break + curl -sS -m 1 ${NSLCM_IP}:8403 && break echo sleep $i sleep $i done # Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v MSB_IP:${MSB_IP} -v NSLCM_IP:${NSLCM_IP}" +ROBOT_VARIABLES="-v MSB_IAG_IP:${MSB_IAG_IP} -v MSB_DISCOVERY_IP:${MSB_DISCOVERY_IP} -v NSLCM_IP:${NSLCM_IP}" diff --git a/test/csit/tests/cli/startup/startup_check.robot b/test/csit/tests/cli/startup/startup_check.robot index c79da34ba..a10467078 100644 --- a/test/csit/tests/cli/startup/startup_check.robot +++ b/test/csit/tests/cli/startup/startup_check.robot @@ -1,5 +1,13 @@ *** Settings *** Library RequestsLibrary +Library Process + +*** Variables *** + +${cli_exec} docker exec cli onap +${cli_exec_onap_11} docker exec -e CLI_PRODUCT_VERSION=onap-1.1 onap +${cli_exec_onap_10} docker exec -e CLI_PRODUCT_VERSION=onap-1.0 onap +${cli_exec_cli_10} docker exec -e CLI_PRODUCT_VERSION=cli-1.0 onap *** Test Cases *** Liveness Test @@ -7,10 +15,56 @@ Liveness Test Create Session cli http://${CLI_IP}:8080 CheckUrl cli / +Check Cli help + [Documentation] check cli help command + ${cli_cmd_output}= Run Process ${cli_exec} --help shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 0 + Should Contain ${cli_cmd_output.stdout} ONAP Command-line interface + +Check Cli Version Default + [Documentation] check cli default version + ${cli_cmd_output}= Run Process ${cli_exec} --version shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 0 + Should Contain ${cli_cmd_output.stdout} : cli-1.0 + +Check Cli Scheam Refresh + [Documentation] check cli schema-refresh command + ${cli_cmd_output}= Run Process ${cli_exec} schema-refresh shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 0 + Should Contain ${cli_cmd_output.stdout} sl-no + Should Contain ${cli_cmd_output.stdout} command + Should Contain ${cli_cmd_output.stdout} product-version + Should Contain ${cli_cmd_output.stdout} schema + Should Contain ${cli_cmd_output.stdout} version + +Check Cli Schema Validate With Valid Path + [Documentation] check cli schema-validate command with valid path + ${cli_cmd_output}= Run Process ${cli_exec} schema-validate -i -l schema-refresh.yaml shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 0 + Should Contain ${cli_cmd_output.stdout} sl-no + Should Contain ${cli_cmd_output.stdout} error + +Check Cli Scheam Validate With Invalid Path + [Documentation] check cli version + ${cli_cmd_output}= Run Process ${cli_exec} schema-validate -i -l invalid-yaml-path.yaml shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 1 + Should Contain ${cli_cmd_output.stdout} 0x0007 + +Check Cli Scheam Validate Empty Argument + [Documentation] check cli schema validate with empty argument + ${cli_cmd_output}= Run Process ${cli_exec} schema-validate shell=yes + Log ${cli_cmd_output.stdout} + Should Be Equal As Strings ${cli_cmd_output.rc} 1 + Should Contain ${cli_cmd_output.stdout} 0x0015 + + *** Keywords *** CheckUrl [Arguments] ${session} ${path} ${resp}= Get Request ${session} ${path} Should Be Equal As Integers ${resp.status_code} 200 - - diff --git a/test/csit/tests/holmes/testcase/RuleMgt/Rule-Keywords.robot b/test/csit/tests/holmes/testcase/RuleMgt/Rule-Keywords.robot index b2039174d..03f840904 100644 --- a/test/csit/tests/holmes/testcase/RuleMgt/Rule-Keywords.robot +++ b/test/csit/tests/holmes/testcase/RuleMgt/Rule-Keywords.robot @@ -23,9 +23,8 @@ queryConditionRule [Arguments] ${queryParam} ${codeFlag}=1 [Documentation] ${queryParam} : The data type is Json . create session microservices ${ruleMgtHost} - ${param} set variable queryrequest\=${queryParam} - ${headers} set variable - ${getResponse} get request microservices ${ruleMgtUrl} ${headers} ${param} + Comment ${param} set variable queryrequest\=${queryParam} + ${getResponse} get request microservices ${ruleMgtUrl}?queryrequest\=${queryParam} log ${getResponse.content} run keyword if ${codeFlag}==1 Should be equal as strings ${getResponse.status_code} 200 run keyword if ${codeFlag}!=1 Should be equal as strings ${getResponse.status_code} 499 diff --git a/test/csit/tests/msb/rest-service-api-gateway/__init__.robot b/test/csit/tests/msb/rest-service-api-gateway/__init__.robot new file mode 100644 index 000000000..efd2221f2 --- /dev/null +++ b/test/csit/tests/msb/rest-service-api-gateway/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Microservices Service Bus - Messag Broker diff --git a/test/csit/tests/msb/rest-service-api-gateway/test1.robot b/test/csit/tests/msb/rest-service-api-gateway/test1.robot new file mode 100644 index 000000000..8a15bf2be --- /dev/null +++ b/test/csit/tests/msb/rest-service-api-gateway/test1.robot @@ -0,0 +1,9 @@ +*** Settings *** +Library Collections +Library requests + +*** Test Cases *** +REST service Test1 + [Documentation] Check if test rest service can be accessed via aip gateway + ${result} = get http://${MSB_IAG_IP}/api/test/v1/people + Should Be Equal ${result.status_code} ${200} diff --git a/test/csit/tests/msb/rest-service-discovery/__init__.robot b/test/csit/tests/msb/rest-service-discovery/__init__.robot new file mode 100644 index 000000000..efd2221f2 --- /dev/null +++ b/test/csit/tests/msb/rest-service-discovery/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Microservices Service Bus - Messag Broker diff --git a/test/csit/tests/msb/rest-service-discovery/test1.robot b/test/csit/tests/msb/rest-service-discovery/test1.robot new file mode 100644 index 000000000..bb48d3fdc --- /dev/null +++ b/test/csit/tests/msb/rest-service-discovery/test1.robot @@ -0,0 +1,14 @@ +*** Settings *** +Library Collections +Library requests + +*** Test Cases *** +Messag Broker Test + [Documentation] Check if the test service enpoint can be get from MSB + ${result} = get http://${MSB_DISCOVERY_IP}:10081/api/microservices/v1/services/test/version/v1 + Should Be Equal ${result.status_code} ${200} + ${json} = Set Variable ${result.json()} + ${serviceName} = Get From Dictionary ${json} serviceName + ${protocol} = Get From Dictionary ${json} protocol + Should Be Equal ${serviceName} test + Should Be Equal ${protocol} REST
\ No newline at end of file diff --git a/test/csit/tests/so/sanity-check/data/createService.json b/test/csit/tests/so/sanity-check/data/createService.json new file mode 100644 index 000000000..3ff629ab5 --- /dev/null +++ b/test/csit/tests/so/sanity-check/data/createService.json @@ -0,0 +1,29 @@ +{ +"requestDetails": { +"modelInfo": { +"modelType": "", +"modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff", +"modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe", +"modelName": "Test", +"modelVersion": "1.0" +}, +"subscriberInfo": { +"globalSubscriberId": "{some subscriber id}", +"subscriberName": "{some subscriber name}" +}, +"requestInfo": { +"instanceName": "MSO_TEST", +"source": "VID", +"suppressRollback": true +}, +"requestParameters": { +"subscriptionServiceType": "MOG", +"userParams": [ +{ +"name": "someUserParam", +"value": "someValue" +} +] +} +} +}
\ No newline at end of file diff --git a/test/csit/tests/so/sanity-check/data/createService_null_input.json b/test/csit/tests/so/sanity-check/data/createService_null_input.json new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/csit/tests/so/sanity-check/data/createService_null_input.json diff --git a/test/csit/tests/so/sanity-check/data/createVnf.json b/test/csit/tests/so/sanity-check/data/createVnf.json new file mode 100644 index 000000000..7ea3d2475 --- /dev/null +++ b/test/csit/tests/so/sanity-check/data/createVnf.json @@ -0,0 +1,35 @@ +{ + "requestDetails": { + "modelInfo": { + "modelType": "", + "modelInvariantId": "ff5256d1-5a33-55df-13ab-12abad84e7ff", + "modelNameVersionId": "fe6478e4-ea33-3346-ac12-ab121484a3fe", + "modelName": "vSAMP12", + "modelVersion": "1.0", + "modelCustomizationName": "vSAMP12 1" + }, + "cloudConfiguration": { + "lcpCloudRegionId": "mdt1", + "tenantId": "88a6ca3ee0394ade9403f075db23167e" + }, + "requestInfo": { + "instanceName": "MSOTEST103a", + "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "source": "VID", + "suppressRollback": false + }, + "relatedInstanceList": [{ + "relatedInstance": { + "instanceId": " {serviceInstanceId} ", + "modelInfo": { + "modelType": "service", + "modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff", + "modelNameVersionId": "fe6985cd-ea33-3346-ac12-ab121484a3fe", + "modelName": " {parent service model name} ", + "modelVersion": "1.0" + } + } + }], + "requestParameters": {} + } +} diff --git a/test/csit/tests/so/sanity-check/data/deleteService.json b/test/csit/tests/so/sanity-check/data/deleteService.json new file mode 100644 index 000000000..593fdd30f --- /dev/null +++ b/test/csit/tests/so/sanity-check/data/deleteService.json @@ -0,0 +1,13 @@ +{ +"requestDetails": { +"modelInfo": { +"modelType": "", +"modelInvariantId": "ff3514e3-5a33-55df-13ab-12abad84e7ff", +"modelName": " Test ", +"modelVersion": "1.0" +}, +"requestInfo": { +"source": "VID" +} +} +} diff --git a/test/csit/tests/so/sanity-check/data/deleteVnf.json b/test/csit/tests/so/sanity-check/data/deleteVnf.json new file mode 100644 index 000000000..f326a12db --- /dev/null +++ b/test/csit/tests/so/sanity-check/data/deleteVnf.json @@ -0,0 +1,20 @@ +{ +"requestDetails": { +"modelInfo": { +"modelType": "", +"modelInvariantId": "ff5256d1-5a33-55df-13ab-12abad84e7ff", +"modelName": "vSAMP12", +"modelVersion": "1" +}, +"cloudConfiguration": { +"lcpCloudRegionId": "mdt1", +"tenantId": "88a6ca3ee0394ade9403f075db23167e" +}, +"requestInfo": { +"source": "VID" +}, +"requestParameters": { +"userParams": [] +} +} +} diff --git a/test/csit/tests/so/sanity-check/sanity_test_so.robot b/test/csit/tests/so/sanity-check/sanity_test_so.robot index e53b46c4c..9ebf1fd55 100644 --- a/test/csit/tests/so/sanity-check/sanity_test_so.robot +++ b/test/csit/tests/so/sanity-check/sanity_test_so.robot @@ -1,25 +1,71 @@ -*** settings *** -Resource ../../common.robot +*** Settings *** Library Collections Library RequestsLibrary Library OperatingSystem Library json -Library HttpLibrary.HTTP *** Variables *** -@{return_ok_list}= 200 201 202 -${queryservice_url} /api/so/v1/services/5212b49f-fe70-414f-9519-88bec35b3190 -${service_id} -${operation_id} +${MESSAGE} Hello, world! + *** Test Cases *** -soQueryServiceFuncTest - [Documentation] query single service rest test - ${headers} Create Dictionary Content-Type=application/json Accept=application/json - Create Session web_session http://${MSB_IP} headers=${headers} - ${resp}= Get Request web_session ${queryservice_url} - ${responese_code}= Convert To String ${resp.status_code} - List Should Contain Value ${return_ok_list} ${responese_code} - ${response_json} json.loads ${resp.content} - ${serviceName}= Convert To String ${response_json['serviceName']} - Should Be Equal ${serviceName} test_so +Create ServiceInstance for invalid input + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}createService.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Post Request refrepo /ecomp/mso/infra/serviceInstances/v2 data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 400 + +Create ServiceInstance for invalid user + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}createService.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQxOnBhc3N3b3JkMTI= Content-Type=application/json Accept=application/json + ${resp}= Post Request refrepo /ecomp/mso/infra/serviceInstances/v2 data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 401 + +Delete ServiceInstance for invalid input + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}deleteService.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Delete Request refrepo /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000 data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 400 + +Delete ServiceInstance for invalid user + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}deleteService.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQxOnBhc3N3b3JkMTI== Content-Type=application/json Accept=application/json + ${resp}= Delete Request refrepo /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000 data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 401 + +SO ServiceInstance health check + Create Session refrepo http://${REPO_IP}:8080 + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Get Request refrepo /ecomp/mso/infra/orchestrationRequests/v2/rq1234d1-5a33-55df-13ab-12abad84e333 headers=${headers} + Should Not Contain ${resp.content} null + +Create VnfInstance for invalid input + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}createVnf.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Post Request refrepo /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000/vnfs data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 400 + +Create VnfInstance for invalid credential + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}createVnf.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQxOnBhc3N3b3JkMTI= Content-Type=application/json Accept=application/json + ${resp}= Post Request refrepo /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000/vnfs data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 401 + +Delete VnfInstance for invalid input + Create Session refrepo http://${REPO_IP}:8080 + ${data}= Get Binary File ${CURDIR}${/}data${/}deleteVnf.json + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Delete Request refrepo /ecomp/mso/infra/serviceInstances/v2/ff305d54-75b4-431b-adb2-eb6b9e5ff000/vnfs/aca51b0a-710d-4155-bc7c-7cef19d9a94e data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 400 + +Get Orchestration Requests + Create Session refrepo http://${REPO_IP}:8080 + &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json + ${resp}= Get Request refrepo /ecomp/mso/infra/orchestrationRequests/v2 headers=${headers} + Should Not Contain ${resp.content} null
\ No newline at end of file diff --git a/test/csit/tests/vfc/nfvo-lcm/test.robot b/test/csit/tests/vfc/nfvo-lcm/test.robot index 907558f0c..d0a5b7cd7 100644 --- a/test/csit/tests/vfc/nfvo-lcm/test.robot +++ b/test/csit/tests/vfc/nfvo-lcm/test.robot @@ -10,5 +10,12 @@ ${queryswagger_url} /api/nslcm/v1/swagger.json *** Test Cases *** NslcmSwaggerTest - [Documentation] query nslcm swagger info rest test - Should Be Equal 2.0 2.0 + [Documentation] query swagger info nslcm + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${MSB_IAG_IP}:80 headers=${headers} + ${resp}= Get Request web_session ${queryswagger_url} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${swagger_version}= Convert To String ${response_json['swagger']} + Should Be Equal ${swagger_version} 2.0 |