aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xplans/ccsdk-oran/polmansuite/setup.sh2
-rw-r--r--plans/ccsdk-oran/polmansuite/test_env-master.sh8
-rw-r--r--plans/ccsdk/healthcheck/setup.sh93
-rw-r--r--plans/ccsdk/healthcheck/teardown.sh24
-rw-r--r--plans/ccsdk/healthcheck/testplan.txt4
-rw-r--r--plans/music/music-distributed-kv-store-test-plan/setup.sh60
-rw-r--r--plans/music/music-distributed-kv-store-test-plan/teardown.sh21
-rw-r--r--plans/music/music-distributed-kv-store-test-plan/testplan.txt3
-rwxr-xr-xplans/sdnc/healthcheck/setup.sh60
-rw-r--r--scripts/ccsdk/healthcheck/health_check.sh30
-rw-r--r--scripts/policy/docker-compose-all.yml6
-rwxr-xr-xscripts/policy/wait_for_port.sh19
-rw-r--r--tests/ccsdk/healthcheck/__init__.robot2
-rw-r--r--tests/ccsdk/healthcheck/test1.robot16
-rw-r--r--tests/music/music-distributed-kv-store-suite/__init__.robot2
-rw-r--r--tests/music/music-distributed-kv-store-suite/data/register_domain.json3
-rw-r--r--tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot53
-rw-r--r--tests/sdnc/healthcheck/test1.robot17
-rw-r--r--tests/vnfsdk-refrepo/csar/invalid_with_security.csarbin0 -> 10824 bytes
-rw-r--r--tests/vnfsdk-refrepo/csar_validation_tests.robot50
-rw-r--r--tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot12
21 files changed, 94 insertions, 391 deletions
diff --git a/plans/ccsdk-oran/polmansuite/setup.sh b/plans/ccsdk-oran/polmansuite/setup.sh
index b02d9db3..cf9ebde2 100755
--- a/plans/ccsdk-oran/polmansuite/setup.sh
+++ b/plans/ccsdk-oran/polmansuite/setup.sh
@@ -19,7 +19,7 @@
cd $WORKSPACE/archives
-git clone "https://gerrit.o-ran-sc.org/r/nonrtric"
+git clone "https://gerrit.o-ran-sc.org/r/nonrtric" -b cherry
AUTOTEST_ROOT=$WORKSPACE/archives/nonrtric/test/auto-test
POLMAN_PLANS=$WORKSPACE/plans/ccsdk-oran/polmansuite
diff --git a/plans/ccsdk-oran/polmansuite/test_env-master.sh b/plans/ccsdk-oran/polmansuite/test_env-master.sh
index 2b41fe8e..b012b842 100644
--- a/plans/ccsdk-oran/polmansuite/test_env-master.sh
+++ b/plans/ccsdk-oran/polmansuite/test_env-master.sh
@@ -30,17 +30,17 @@ NEXUS_PROXY_REPO="nexus3.onap.org:10001/"
# Remote Policy Agent image and tag
POLICY_AGENT_REMOTE_IMAGE="nexus3.onap.org:10003/onap/ccsdk-oran-a1policymanagementservice"
-POLICY_AGENT_REMOTE_IMAGE_TAG="1.1.0-SNAPSHOT"
+POLICY_AGENT_REMOTE_IMAGE_TAG="1.1.1-SNAPSHOT"
# Control Panel remote image and tag
CONTROL_PANEL_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel"
-CONTROL_PANEL_REMOTE_IMAGE_TAG="2.0.0"
+CONTROL_PANEL_REMOTE_IMAGE_TAG="2.2.0"
# SDNC A1 Controller remote image and tag
SDNC_A1_CONTROLLER_REMOTE_IMAGE="nexus3.onap.org:10003/onap/sdnc-image"
-SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.1.0-STAGING-latest"
+SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.1.1-STAGING-latest"
#SDNC DB remote image and tag
@@ -51,7 +51,7 @@ SDNC_DB_REMOTE_IMAGE_TAG="5.6"
# Near RT RIC Simulator remote image and tag
RIC_SIM_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator"
-RIC_SIM_REMOTE_IMAGE_TAG="2.0.0"
+RIC_SIM_REMOTE_IMAGE_TAG="2.1.0"
#Consul remote image and tag
diff --git a/plans/ccsdk/healthcheck/setup.sh b/plans/ccsdk/healthcheck/setup.sh
deleted file mode 100644
index 2a5ef4db..00000000
--- a/plans/ccsdk/healthcheck/setup.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/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.
-#
-# Modifications copyright (c) 2017 AT&T Intellectual Property
-# Modifications copyright (c) 2020 Samsung Electronics Co., Ltd.
-#
-# Place the scripts in run order:
-export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
-export NEXUS_DOCKER_REPO="nexus3.onap.org:10001"
-export NEXUS_USERNAME=docker
-export NEXUS_PASSWD=docker
-export DMAAP_TOPIC=AUTO
-export CCSDK_DOCKER_IMAGE_VERSION=1.1-STAGING-latest
-
-if [ "$MTU" == "" ]; then
- export MTU="1450"
-fi
-
-# Clone CCSDK repo to get docker-compose for CCSDK
-mkdir -p $WORKSPACE/archives/ccsdk
-cd $WORKSPACE/archives
-git clone -b master --single-branch http://gerrit.onap.org/r/ccsdk/distribution.git ccsdk
-cd $WORKSPACE/archives/ccsdk
-git pull
-unset http_proxy https_proxy
-cd $WORKSPACE/archives/ccsdk/src/main/yaml
-
-sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" docker-compose.yml
-docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO
-
-docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-odlsli-alpine-image:$CCSDK_DOCKER_IMAGE_VERSION
-
-docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION
-
-# start CCSDK containers with docker compose and configuration from docker-compose.yml
-curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > docker-compose
-chmod +x docker-compose
-./docker-compose up -d
-
-# WAIT 5 minutes maximum and check karaf.log for readiness every 10 seconds
-
-TIME_OUT=300
-INTERVAL=10
-TIME=0
-while [ "$TIME" -lt "$TIME_OUT" ]; do
-
-docker exec ccsdk_odlsli_container cat /opt/opendaylight/data/log/karaf.log | grep 'warp coils'
-
- if [ $? == 0 ] ; then
- echo CCSDK karaf started in $TIME seconds
- break;
- fi
-
- echo Sleep $INTERVAL seconds before testing if CCSDK is up. Total wait time up until now is $TIME seconds. Timeout is $TIME_OUT seconds
- sleep $INTERVAL
- TIME=$(($TIME+$INTERVAL))
-done
-
-if [ "$TIME" -ge "$TIME_OUT" ]; then
- echo TIME OUT: karaf session not started in $TIME_OUT seconds, setup failed
- exit 1;
-fi
-
-num_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d' ' -f1)
-
- if [ "$num_bundles" -ge 333 ]; then
- num_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d' ' -f1)
- num_failed_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l)
- failed_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | grep Failure)
- echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles.
- fi
-
-if [ "$num_failed_bundles" -ge 1 ]; then
- echo "The following bundle(s) are in a failed state: "
- echo " $failed_bundles"
-fi
-
-# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
-
diff --git a/plans/ccsdk/healthcheck/teardown.sh b/plans/ccsdk/healthcheck/teardown.sh
deleted file mode 100644
index 56820786..00000000
--- a/plans/ccsdk/healthcheck/teardown.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/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.
-#
-# Modifications copyright (c) 2017 AT&T Intellectual Property
-#
-
-kill-instance.sh ccsdk_db_container
-kill-instance.sh ccsdk_dgbuilder_container
-kill-instance.sh ccsdk_odlsli_container
-
-# $WORKSPACE/archives/appc deleted with archives folder when tests starts so we keep it at the end for debugging
diff --git a/plans/ccsdk/healthcheck/testplan.txt b/plans/ccsdk/healthcheck/testplan.txt
deleted file mode 100644
index 2cd8cdaf..00000000
--- a/plans/ccsdk/healthcheck/testplan.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-# Test suites are relative paths under [integration/csit.git]/tests/.
-# Place the suites in run order.
-ccsdk/healthcheck
-
diff --git a/plans/music/music-distributed-kv-store-test-plan/setup.sh b/plans/music/music-distributed-kv-store-test-plan/setup.sh
deleted file mode 100644
index 88becf69..00000000
--- a/plans/music/music-distributed-kv-store-test-plan/setup.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2018 Intel Corporation
-#
-# 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.
-#
-
-# Not sure why this is needed.
-source ${SCRIPTS}/common_functions.sh
-
-# Initial Configuration.
-DATASTORE="consul"
-DATASTORE_IP="localhost"
-
-MOUNTPATH="/dkv_mount_path/configs/"
-DEFAULT_CONFIGS=$(pwd)/mountpath/default
-
-mkdir -p mountpath/default
-
-pushd mountpath/default
-cat << EOF > sampleConfig1.properties
-foo1=bar1
-hello1=world1
-key1=value1
-EOF
-cat << EOF > sampleConfig2.properties
-foo2=bar2
-hello2=world2
-key2=value2
-EOF
-popd
-
-docker login -u docker -p docker nexus3.onap.org:10001
-docker pull nexus3.onap.org:10001/onap/music/distributed-kv-store
-docker run -e DATASTORE=$DATASTORE -e DATASTORE_IP=$DATASTORE_IP -e MOUNTPATH=$MOUNTPATH -d \
- --name dkv \
- -v $DEFAULT_CONFIGS:/dkv_mount_path/configs/default \
- -p 8200:8200 -p 8080:8080 nexus3.onap.org:10001/onap/music/distributed-kv-store
-
-
-echo "###### WAITING FOR DISTRIBUTED KV STORE CONTAINER TO COME UP"
-sleep 10
-
-#
-# add here all ROBOT_VARIABLES settings
-#
-echo "# music robot variables settings";
-ROBOT_VARIABLES="-v DKV_HOSTNAME:http://localhost -v DKV_PORT:8080"
-
-echo ${ROBOT_VARIABLES} \ No newline at end of file
diff --git a/plans/music/music-distributed-kv-store-test-plan/teardown.sh b/plans/music/music-distributed-kv-store-test-plan/teardown.sh
deleted file mode 100644
index 0abf3a62..00000000
--- a/plans/music/music-distributed-kv-store-test-plan/teardown.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2018 Intel Corporation
-#
-# 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.
-#
-
-rm -rf mountpath
-docker stop dkv
-docker rm dkv
-docker rmi nexus3.onap.org:10001/onap/music/distributed-kv-store
diff --git a/plans/music/music-distributed-kv-store-test-plan/testplan.txt b/plans/music/music-distributed-kv-store-test-plan/testplan.txt
deleted file mode 100644
index 654f0785..00000000
--- a/plans/music/music-distributed-kv-store-test-plan/testplan.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# Test suites are relative paths under [integration/csit.git]/tests/.
-# Place the suites in run order.
-music/music-distributed-kv-store-suite \ No newline at end of file
diff --git a/plans/sdnc/healthcheck/setup.sh b/plans/sdnc/healthcheck/setup.sh
index a11a3aa5..99753dfb 100755
--- a/plans/sdnc/healthcheck/setup.sh
+++ b/plans/sdnc/healthcheck/setup.sh
@@ -15,17 +15,16 @@
# limitations under the License.
#
# Modifications copyright (c) 2017 AT&T Intellectual Property
+# Modifications copyright (c) 2020 Samsung Electronics Co., Ltd.
#
# Place the scripts in run order:
-SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-source ${WORKSPACE}/scripts/sdnc/script1.sh
-
+set -x
export NEXUS_USERNAME=docker
export NEXUS_PASSWD=docker
export NEXUS_DOCKER_REPO=nexus3.onap.org:10001
export DMAAP_TOPIC=AUTO
-export DOCKER_IMAGE_VERSION=1.8-STAGING-latest
-export CCSDK_DOCKER_IMAGE_VERSION=0.7-STAGING-latest
+export DOCKER_IMAGE_VERSION=2.1-STAGING-latest
+export CCSDK_DOCKER_IMAGE_VERSION=1.1-STAGING-latest
export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1)
@@ -55,9 +54,6 @@ docker tag $NEXUS_DOCKER_REPO/onap/sdnc-ansible-server-image:$DOCKER_IMAGE_VERSI
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/onap/admportal-sdnc-image:$DOCKER_IMAGE_VERSION
-docker tag $NEXUS_DOCKER_REPO/onap/admportal-sdnc-image:$DOCKER_IMAGE_VERSION onap/admportal-sdnc-image:latest
-
docker pull $NEXUS_DOCKER_REPO/onap/sdnc-ueb-listener-image:$DOCKER_IMAGE_VERSION
docker tag $NEXUS_DOCKER_REPO/onap/sdnc-ueb-listener-image:$DOCKER_IMAGE_VERSION onap/sdnc-ueb-listener-image:latest
@@ -69,36 +65,17 @@ docker tag $NEXUS_DOCKER_REPO/onap/sdnc-dmaap-listener-image:$DOCKER_IMAGE_VERSI
# start SDNC containers with docker compose and configuration from docker-compose.yml
docker-compose up -d
-# WAIT 10 minutes maximum and test every 5 seconds if SDNC is up using HealthCheck API
-TIME_OUT=1000
-INTERVAL=30
-TIME=0
-while [ "$TIME" -lt "$TIME_OUT" ]; do
- response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-sdnc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ); echo $response
+# WAIT 5 minutes maximum and check karaf.log for readiness every 10 seconds
- if [ "$response" == "200" ]; then
- echo SDNC started in $TIME seconds
- break;
- fi
+TIME_OUT=300
+INTERVAL=10
- echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
- sleep $INTERVAL
- TIME=$(($TIME+$INTERVAL))
-done
-
-if [ "$TIME" -ge "$TIME_OUT" ]; then
- echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for testing activities...
-fi
-
-#sleep 800
-
-TIME_OUT=1500
-INTERVAL=60
TIME=0
while [ "$TIME" -lt "$TIME_OUT" ]; do
- response=$(docker exec -ti sdnc_controller_container /opt/opendaylight/current/bin/client system:start-level)
- if grep -q 'Level 100' <<< ${response}; then
+docker exec sdnc_controller_container cat /opt/opendaylight/data/log/karaf.log | grep 'warp coils'
+
+ if [ $? == 0 ] ; then
echo SDNC karaf started in $TIME seconds
break;
fi
@@ -109,24 +86,19 @@ while [ "$TIME" -lt "$TIME_OUT" ]; do
done
if [ "$TIME" -ge "$TIME_OUT" ]; then
- echo TIME OUT: karaf session not started in $TIME_OUT seconds... Could cause problems for testing activities...
+ echo TIME OUT: karaf session not started in $TIME_OUT seconds, setup failed
+ exit 1;
fi
-response=$(docker exec -ti sdnc_controller_container /opt/opendaylight/current/bin/client system:start-level)
-
-if grep -q 'Level 100' <<< ${response} ; then
- num_failed_bundles=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l)
- failed_bundles=$(docker exec sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure)
- echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles.
- fi
+num_bundles=$(docker exec -i sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d' ' -f1)
+num_failed_bundles=$(docker exec -i sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l)
+failed_bundles=$(docker exec -i sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure)
+echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles.
if [ "$num_failed_bundles" -ge 1 ]; then
echo "The following bundle(s) are in a failed state: "
echo " $failed_bundles"
fi
-# Sleep additional 5 minutes (300 secs) to give application time to finish
-sleep 300
-
# Pass any variables required by Robot test suites in ROBOT_VARIABLES
ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}"
diff --git a/scripts/ccsdk/healthcheck/health_check.sh b/scripts/ccsdk/healthcheck/health_check.sh
deleted file mode 100644
index aed3b5ab..00000000
--- a/scripts/ccsdk/healthcheck/health_check.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/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.
-#
-# Modifications copyright (c) 2020 Samsung Electronics Co., Ltd.
-#
-###############################################################################
-unset http_proxy https_proxy
-
-response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-ccsdk" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8383/restconf/operations/SLI-API:healthcheck )
-
-if [ "$response" == "200" ]; then
- echo "CCSDK health check passed."
- exit 0;
-fi
-
-echo "CCSDK health check failed with response code ${response}."
-exit 1
diff --git a/scripts/policy/docker-compose-all.yml b/scripts/policy/docker-compose-all.yml
index 7b1f00a0..00f76350 100644
--- a/scripts/policy/docker-compose-all.yml
+++ b/scripts/policy/docker-compose-all.yml
@@ -51,7 +51,7 @@ services:
- ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
entrypoint: ./wait_for_port.sh
command: [
- '-c', 'bash ./policy-api.sh',
+ '-c', './policy-api.sh',
'mariadb', '3306'
]
pap:
@@ -69,7 +69,7 @@ services:
- ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
entrypoint: ./wait_for_port.sh
command: [
- '-c', 'bash ./policy-pap.sh',
+ '-c', './policy-pap.sh',
'mariadb', '3306',
'policy.api.simpledemo.onap.org', '3905',
'api', '6969'
@@ -89,7 +89,7 @@ services:
- ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
entrypoint: ./wait_for_port.sh
command: [
- '-c', 'bash ./policy-pdpx.sh',
+ '-c', './policy-pdpx.sh',
'mariadb', '3306',
'policy.api.simpledemo.onap.org', '3905',
'pap', '6969'
diff --git a/scripts/policy/wait_for_port.sh b/scripts/policy/wait_for_port.sh
index c50cd970..1d2f5155 100755
--- a/scripts/policy/wait_for_port.sh
+++ b/scripts/policy/wait_for_port.sh
@@ -1,35 +1,34 @@
-#!/bin/bash
+#!/bin/sh
tmout=120
cmd=
-
while getopts c:t: opt; do
case "$opt" in
c) cmd="$OPTARG" ;;
t) tmout="$OPTARG" ;;
esac
done
-let nargs=$OPTIND-1
+nargs=$(expr $OPTIND - 1)
shift $nargs
-let even_args=$#%2
-if [[ $# -lt 2 || $even_args -ne 0 ]]; then
- echo "args: [-t timeout] [-c command] hostname1 port1 hostname2 port2 ..." >&2
- exit 1
+even_args=$(expr $# % 2)
+if [ $# -lt 2 -o $even_args -ne 0 ]; then
+ echo "args: [-t timeout] [-c command] hostname1 port1 hostname2 port2 ..." >&2
+ exit 1
fi
-while [[ $# -ge 2 ]]; do
+while [ $# -ge 2 ]; do
export host=$1
export port=$2
shift
shift
echo "Waiting for $host port $port..."
- timeout $tmout bash -c 'until nc -vz "$host" "$port"; do echo -n ".";
+ timeout $tmout sh -c 'until nc -vz "$host" "$port"; do echo -n ".";
sleep 1; done'
rc=$?
- if [[ $rc != 0 ]]; then
+ if [ $rc != 0 ]; then
echo "$host port $port cannot be reached"
exit $rc
fi
diff --git a/tests/ccsdk/healthcheck/__init__.robot b/tests/ccsdk/healthcheck/__init__.robot
deleted file mode 100644
index 1259b890..00000000
--- a/tests/ccsdk/healthcheck/__init__.robot
+++ /dev/null
@@ -1,2 +0,0 @@
-*** Settings ***
-Documentation CCSDK - healthcheck
diff --git a/tests/ccsdk/healthcheck/test1.robot b/tests/ccsdk/healthcheck/test1.robot
deleted file mode 100644
index fea86c3d..00000000
--- a/tests/ccsdk/healthcheck/test1.robot
+++ /dev/null
@@ -1,16 +0,0 @@
-*** Settings ***
-Library OperatingSystem
-Library Process
-
-*** Variables ***
-
-${health_check} ${SCRIPTS}/ccsdk/healthcheck/health_check.sh
-
-
-*** Test Cases ***
-Health check test case for CCSDK
- [Documentation] Health check
- ${result_hc}= Run Process bash ${health_check} > log_hc.txt shell=yes
- Should Be Equal As Integers ${result_hc.rc} 0
-
-
diff --git a/tests/music/music-distributed-kv-store-suite/__init__.robot b/tests/music/music-distributed-kv-store-suite/__init__.robot
deleted file mode 100644
index d1da7f38..00000000
--- a/tests/music/music-distributed-kv-store-suite/__init__.robot
+++ /dev/null
@@ -1,2 +0,0 @@
-*** Settings ***
-Documentation Integration - Suite 1 \ No newline at end of file
diff --git a/tests/music/music-distributed-kv-store-suite/data/register_domain.json b/tests/music/music-distributed-kv-store-suite/data/register_domain.json
deleted file mode 100644
index 96811ee9..00000000
--- a/tests/music/music-distributed-kv-store-suite/data/register_domain.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "domain":"test_domain"
-} \ No newline at end of file
diff --git a/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot b/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot
deleted file mode 100644
index de26e5f6..00000000
--- a/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot
+++ /dev/null
@@ -1,53 +0,0 @@
-*** Settings ***
-Library OperatingSystem
-Library RequestsLibrary
-Library json
-
-*** Variables ***
-${MESSAGE} {"ping": "ok"}
-
-#global variables
-${generatedAID}
-
-*** Test Cases ***
-DKV Check Distributed KV Store API Docker Container
- [Documentation] Checks if DKV docker container is running
- ${rc} ${output}= Run and Return RC and Output docker ps
- Log To Console *********************
- Log To Console retrurn_code = ${rc}
- Log To Console output = ${output}
- Should Be Equal As Integers ${rc} 0
- Should Contain ${output} nexus3.onap.org:10001/onap/music/distributed-kv-store
-
-DKV LoadDefaultProperties
- [Documentation] Loads default configuration files into Consul
- Create Session dkv ${DKV_HOSTNAME}:${DKV_PORT}
- &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
- ${resp}= Get Request dkv /v1/config/load-default headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-DKV FetchDefaultProperties
- [Documentation] Fetches all default keys from Consul
- Create Session dkv ${DKV_HOSTNAME}:${DKV_PORT}
- &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
- ${resp}= Get Request dkv /v1/getconfigs headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-#DKV RegisterDomain
-# [Documentation] Send a POST request to create a domain
-# Create Session dkv ${DKV_HOSTNAME}:${DKV_PORT}
-# ${data}= Get Binary File ${CURDIR}${/}data${/}register_domain.json
-# &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
-# ${resp}= Post Request dkv v1/register data=${data} headers=${headers}
-# Log To Console *********************
-# Log To Console response = ${resp}
-# Log To Console body = ${resp.text}
-# Should Be Equal As Integers ${resp.status_code} 200
-
-*** Keywords ***
diff --git a/tests/sdnc/healthcheck/test1.robot b/tests/sdnc/healthcheck/test1.robot
index c002a189..3648a8e4 100644
--- a/tests/sdnc/healthcheck/test1.robot
+++ b/tests/sdnc/healthcheck/test1.robot
@@ -8,7 +8,6 @@ Library String
*** Variables ***
${SDN_APIDOCS_URI} /apidoc/apis
${SDN_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck
-${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} /operations/VNF-API:preload-vnf-topology-operation
*** Test Cases ***
@@ -26,19 +25,3 @@ Check SLI-API
${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers}
Log ${resp.text}
Should Contain ${resp.text} SLI-API
-
-Check VNF-API
- Create Session sdnc http://localhost:8282
- &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json
- ${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers}
- Log ${resp.text}
- Should Contain ${resp.text} VNF-API
-
-Test Preload
- Create Session sdnc http://localhost:8282/restconf
- ${data}= Get File ${CURDIR}${/}data${/}preload.json
- &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json
- ${resp}= Post Request sdnc ${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} data=${data} headers=${headers}
- Log ${resp.text}
- Should Be Equal As Strings ${resp.status_code} 200
- Should Be Equal As Strings ${resp.json()['output']['response-code']} 200
diff --git a/tests/vnfsdk-refrepo/csar/invalid_with_security.csar b/tests/vnfsdk-refrepo/csar/invalid_with_security.csar
new file mode 100644
index 00000000..c2560bd5
--- /dev/null
+++ b/tests/vnfsdk-refrepo/csar/invalid_with_security.csar
Binary files differ
diff --git a/tests/vnfsdk-refrepo/csar_validation_tests.robot b/tests/vnfsdk-refrepo/csar_validation_tests.robot
index 9994d567..a7c2c402 100644
--- a/tests/vnfsdk-refrepo/csar_validation_tests.robot
+++ b/tests/vnfsdk-refrepo/csar_validation_tests.robot
@@ -10,6 +10,7 @@ Perform vnf refrepo healthcheck
${response}= Get Request refrepo /PackageResource/healthcheck
Should Be Equal As Strings ${response.status_code} 200
+
Validate correct, no security CSAR
[Documentation] Valid CSAR with no security should PASS validation and should return no error
@@ -18,13 +19,60 @@ Validate correct, no security CSAR
# those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
${response}= Remove String ${response} \\\\ \\u003c \\u003e \\"
${json_response}= evaluate json.loads('''${response}''') json
- Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} PASS
+ Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} ${OPERATION_STATUS_PASS}
FOR ${resault} IN @{json_response[0]["results"]["results"]}
Should Be Equal As Strings ${resault["errors"]} []
Should Be Equal As Strings ${resault["passed"]} True
+ run keyword if "${resault["vnfreqName"]}" == "${CERTIFICATION_RULE}"
+ ... Should Be Equal As Strings ${resault["warnings"]} ${expected_valid_no_security_warnings}
+ END
+
+
+Validate secure CSAR with invalid certificate
+ [Documentation] Valid CSAR with cms signature in manifest file and certificate in TOSCA, containing individual signatures for multiple artifacts, using common certificate and individual certificate
+
+ ${response}= Validate CSAR usign Post request ${csar_invalid_with_security} ${execute_security_csar_validation}
+ # Removing strings that are causing errors during evaluation,
+ # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
+ ${response}= Remove String ${response} \\\\ \\u003c \\u003e \\"
+ ${json_response}= evaluate json.loads('''${response}''') json
+ Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} ${OPERATION_STATUS_FAILED}
+ ${validated_rules}= Get Length ${json_response[0]["results"]["results"]}
+ Should Be Equal As Strings ${validated_rules} 14
+ FOR ${resault} IN @{json_response[0]["results"]["results"]}
+ ${validation_errors}= Get Length ${resault["errors"]}
+ run keyword if "${resault["vnfreqName"]}" == "${CERTIFICATION_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 7
+ run keyword if "${resault["vnfreqName"]}" == "${PM_DICTIONARY_YAML_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 1
+ run keyword if "${resault["vnfreqName"]}" == "${MANIFEST_FILE_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 1
+ run keyword if "${resault["vnfreqName"]}" == "${NON_MANO_FILES_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 4
END
+Validate CSAR using selected rules
+ [Documentation] Valid CSAR using only selected rules provided in request parameters
+
+ ${response}= Validate CSAR usign Post request ${csar_invalid_with_security} ${execute_security_csar_validation_selected_rules}
+ # Removing strings that are causing errors during evaluation,
+ # those strings are dependent on validation response and may need to be changed if vnf refrepo response changes
+ ${response}= Remove String ${response} \\\\ \\u003c \\u003e \\"
+ ${json_response}= evaluate json.loads('''${response}''') json
+ Should Be Equal As Strings ${json_response[0]["results"]["criteria"]} ${OPERATION_STATUS_FAILED}
+ ${validated_rules}= Get Length ${json_response[0]["results"]["results"]}
+ Should Be Equal As Strings ${validated_rules} 3
+ FOR ${resault} IN @{json_response[0]["results"]["results"]}
+ ${validation_errors}= Get Length ${resault["errors"]}
+ run keyword if "${resault["vnfreqName"]}" == "${CERTIFICATION_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 7
+ run keyword if "${resault["vnfreqName"]}" == "${PM_DICTIONARY_YAML_RULE}"
+ ... Should Be Equal As Strings ${validation_errors} 1
+ END
+
+
+
Validate CSAR using rule r130206 and use get method to receive outcome
[Documentation] Validate CSAR with invalid PM_Dictionary (r130206) using rule r130206 , then use get method with validation id to receive valdiation outcome
diff --git a/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot b/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot
index e46eba6f..bc9684d6 100644
--- a/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot
+++ b/tests/vnfsdk-refrepo/resources/vnfsdk_properties.robot
@@ -3,8 +3,20 @@ ${base_url}= http://${REFREPO_IP}:8702/onapapi/vnfsdk-marketplace/v1
${csarpath}= ${SCRIPTS}/../tests/vnfsdk-refrepo/csar
+${CERTIFICATION_RULE}= r130206
+${PM_DICTIONARY_YAML_RULE}= r816745
+${MANIFEST_FILE_RULE}= r01123
+${NON_MANO_FILES_RULE}= r146092
+${OPERATION_STATUS_FAILED}= FAILED
+${OPERATION_STATUS_PASS}= PASS
+
${csar_valid_no_security}= valid_no_security.csar
${execute_no_security_csar_validation}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate","parameters": {"csar": "file://${csar_valid_no_security}","pnf":"true"}}]
+${expected_valid_no_security_warnings}= [{u'lineNumber': -1, u'message': u'Warning. Consider adding package integrity and authenticity assurance according to ETSI NFV-SOL 004 Security Option 1', u'code': u'0x1006', u'file': u'', u'vnfreqNo': u'R130206'}]
+
+${csar_invalid_with_security}= invalid_with_security.csar
+${execute_security_csar_validation}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate","parameters": {"csar": "file://${csar_invalid_with_security}","pnf":"true"}}]
+${execute_security_csar_validation_selected_rules}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate","parameters": {"csar": "file://${csar_invalid_with_security}","pnf":"true","rules":"${CERTIFICATION_RULE},${PM_DICTIONARY_YAML_RULE}"}}]
${csar_invalid_pm_dictionary}= invalid_pm_dictionary.csar
${execute_invalid_pm_dictionary_r130206_validation}= [{"scenario": "onap-dublin","testSuiteName": "validation","testCaseName": "csar-validate-r130206","parameters": {"csar": "file://${csar_invalid_pm_dictionary}","pnf":"true"}}]