From aaa857a6a790016b1442f3c504ae09d4ff8bc353 Mon Sep 17 00:00:00 2001 From: Shashank Kumar Shankar Date: Tue, 20 Mar 2018 13:31:07 -0700 Subject: [WIP] CSIT for MUSIC distributed KV store This patch adds CSIT tests for music distributed KV store repo. Change-Id: I731e102d211884f46401412bc35f60310fbc7019 Issue-ID: INT-446 Signed-off-by: Shashank Kumar Shankar --- .../music-distributed-kv-store-test-plan/setup.sh | 52 ++++++++++++++++++++++ .../teardown.sh | 20 +++++++++ .../testplan.txt | 3 ++ .../__init__.robot | 2 + .../data/register_domain.json | 3 ++ .../music-distributed-kv-store-test.robot | 46 +++++++++++++++++++ 6 files changed, 126 insertions(+) create mode 100644 test/csit/plans/music/music-distributed-kv-store-test-plan/setup.sh create mode 100644 test/csit/plans/music/music-distributed-kv-store-test-plan/teardown.sh create mode 100644 test/csit/plans/music/music-distributed-kv-store-test-plan/testplan.txt create mode 100644 test/csit/tests/music/music-distributed-kv-store-suite/__init__.robot create mode 100644 test/csit/tests/music/music-distributed-kv-store-suite/data/register_domain.json create mode 100644 test/csit/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot diff --git a/test/csit/plans/music/music-distributed-kv-store-test-plan/setup.sh b/test/csit/plans/music/music-distributed-kv-store-test-plan/setup.sh new file mode 100644 index 000000000..0a74e0d22 --- /dev/null +++ b/test/csit/plans/music/music-distributed-kv-store-test-plan/setup.sh @@ -0,0 +1,52 @@ +#!/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. +CONSUL_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 run -e CONSUL_IP=$CONSUL_IP -e MOUNTPATH=$MOUNTPATH -it \ + --name dkv \ + -v $DEFAULT_CONFIGS:/dkv_mount_path/configs/default \ + -p 8200:8200 -p 8080:8080 nexus3.onap.org:10003/onap/music/distributed-kv-store + +# +# 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/test/csit/plans/music/music-distributed-kv-store-test-plan/teardown.sh b/test/csit/plans/music/music-distributed-kv-store-test-plan/teardown.sh new file mode 100644 index 000000000..93067df44 --- /dev/null +++ b/test/csit/plans/music/music-distributed-kv-store-test-plan/teardown.sh @@ -0,0 +1,20 @@ +#!/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. +# + +docker stop nexus3.onap.org:10003/onap/music/distributed-kv-store +docker rm nexus3.onap.org:10003/onap/music/distributed-kv-store +docker rmi nexus3.onap.org:10003/onap/music/distributed-kv-store diff --git a/test/csit/plans/music/music-distributed-kv-store-test-plan/testplan.txt b/test/csit/plans/music/music-distributed-kv-store-test-plan/testplan.txt new file mode 100644 index 000000000..ac37bc5a6 --- /dev/null +++ b/test/csit/plans/music/music-distributed-kv-store-test-plan/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +music/music-distributed-kv-store-suite \ No newline at end of file diff --git a/test/csit/tests/music/music-distributed-kv-store-suite/__init__.robot b/test/csit/tests/music/music-distributed-kv-store-suite/__init__.robot new file mode 100644 index 000000000..d1da7f385 --- /dev/null +++ b/test/csit/tests/music/music-distributed-kv-store-suite/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Integration - Suite 1 \ No newline at end of file diff --git a/test/csit/tests/music/music-distributed-kv-store-suite/data/register_domain.json b/test/csit/tests/music/music-distributed-kv-store-suite/data/register_domain.json new file mode 100644 index 000000000..96811ee97 --- /dev/null +++ b/test/csit/tests/music/music-distributed-kv-store-suite/data/register_domain.json @@ -0,0 +1,3 @@ +{ + "domain":"test_domain" +} \ No newline at end of file diff --git a/test/csit/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot b/test/csit/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot new file mode 100644 index 000000000..bf97fbf67 --- /dev/null +++ b/test/csit/tests/music/music-distributed-kv-store-suite/music-distributed-kv-store-test.robot @@ -0,0 +1,46 @@ +*** Settings *** +Library OperatingSystem +Library RequestsLibrary +Library json + +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:10003/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 *** -- cgit 1.2.3-korg