From d44fceebbd37108a15f45fbf5813d413efeb2ac6 Mon Sep 17 00:00:00 2001 From: Ruslan Kashapov Date: Fri, 26 Feb 2021 11:42:29 +0200 Subject: [PATCH] CSIT: Integration tests for CPS Core + also fixes issue with fragment_id sequence not reflecting data loaded Issue-ID: CPS-261 Change-Id: If590d6a0859a1acc9005dd2da952b7dd93a23059 Signed-off-by: Ruslan Kashapov --- .../changelog/db/changes/05-loadData-fragment.yaml | 10 ++++ csit/data/test-tree.json | 28 +++++++++++ csit/data/test-tree.yang | 24 ++++++++++ csit/data/yang-resources.zip | Bin 0 -> 17598 bytes csit/plans/default/setup.sh | 16 +++++-- csit/plans/default/teardown.sh | 4 +- csit/plans/default/testplan.txt | 2 + csit/prepare-csit.sh | 9 +--- csit/run-csit.sh | 3 +- csit/run-project-csit.sh | 3 +- csit/scripts/actuator/check_endpoint.sh | 33 ------------- csit/tests/actuator/__init__.robot | 2 - csit/tests/actuator/actuator.robot | 23 ++++----- csit/tests/cps-admin/cps-admin.robot | 53 +++++++++++++++++++++ csit/tests/cps-data/cps-data.robot | 31 ++++++++++++ 15 files changed, 179 insertions(+), 62 deletions(-) create mode 100644 csit/data/test-tree.json create mode 100644 csit/data/test-tree.yang create mode 100644 csit/data/yang-resources.zip delete mode 100755 csit/scripts/actuator/check_endpoint.sh delete mode 100644 csit/tests/actuator/__init__.robot create mode 100644 csit/tests/cps-admin/cps-admin.robot create mode 100644 csit/tests/cps-data/cps-data.robot diff --git a/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml b/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml index 1a31f424a..8abf980d8 100644 --- a/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml +++ b/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml @@ -40,3 +40,13 @@ databaseChangeLog: header: schema_node_id name: schema_node_id type: NUMERIC + + - changeSet: + author: cps + label: xnf-data-preload + id: 5.1 + changes: + - sql: + comment: Fixes the id sequence after data insert with predefined ids + dbms: postgresql + sql: ALTER SEQUENCE IF EXISTS fragment_id_seq RESTART WITH 200 \ No newline at end of file diff --git a/csit/data/test-tree.json b/csit/data/test-tree.json new file mode 100644 index 000000000..bc9cbd7ce --- /dev/null +++ b/csit/data/test-tree.json @@ -0,0 +1,28 @@ +{ + "test-tree": { + "branch": [ + { + "name": "Left", + "nest": { + "name": "Small", + "birds": [ + "Sparrow", + "Robin", + "Finch" + ] + } + }, + { + "name": "Right", + "nest": { + "name": "Big", + "birds": [ + "Owl", + "Raven", + "Crow" + ] + } + } + ] + } +} \ No newline at end of file diff --git a/csit/data/test-tree.yang b/csit/data/test-tree.yang new file mode 100644 index 000000000..faba8a11d --- /dev/null +++ b/csit/data/test-tree.yang @@ -0,0 +1,24 @@ +module test-tree { + yang-version 1.1; + + namespace "org:onap:cps:test:test-tree"; + prefix tree; + revision "2020-02-02"; + + container test-tree { + list branch { + key "name"; + leaf name { + type string; + } + container nest { + leaf name { + type string; + } + leaf-list birds { + type string; + } + } + } + } +} diff --git a/csit/data/yang-resources.zip b/csit/data/yang-resources.zip new file mode 100644 index 0000000000000000000000000000000000000000..8e5808662a6f66fef50173f6b66de86c81107947 GIT binary patch literal 17598 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 ZfSQ0d3K!tb$_7%!420K!^d)By4*(3bmn;AP literal 0 HcmV?d00001 diff --git a/csit/plans/default/setup.sh b/csit/plans/default/setup.sh index e7e8f4bfc..4d5d1c85c 100755 --- a/csit/plans/default/setup.sh +++ b/csit/plans/default/setup.sh @@ -18,6 +18,8 @@ # Modifications copyright (c) 2020-2021 Samsung Electronics Co., Ltd. # Modifications Copyright (C) 2021 Pantheon.tech # +# Branched from ccsdk/distribution to this repository Feb 23, 2021 +# # Copy docker-compose.yml and application.yml to archives mkdir -p $WORKSPACE/archives/docker-compose @@ -31,18 +33,22 @@ export DB_PASSWORD=cps # Use latest image version export VERSION=latest +# download docker-compose of a required version (1.25.0 supports configuration of version 3.7) +curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > docker-compose +chmod +x docker-compose + # start CPS and PostgreSQL containers with docker compose -docker-compose up -d +./docker-compose up -d # Validate CPS service initialization completed via periodic log checking for line like below: # org.onap.cps.Application ... Started Application in X.XXX seconds TIME_OUT=300 -INTERVAL=10 +INTERVAL=5 TIME=0 while [ "$TIME" -le "$TIME_OUT" ]; do - LOG_FOUND=$( docker-compose logs --tail="all" | grep "org.onap.cps.Application" | egrep -c "Started Application in" ) + LOG_FOUND=$( ./docker-compose logs --tail="all" | grep "org.onap.cps.Application" | egrep -c "Started Application in" ) if [ "$LOG_FOUND" -gt 0 ]; then echo "CPS Service started" @@ -59,9 +65,9 @@ if [ "$TIME" -gt "$TIME_OUT" ]; then exit 1; fi -# TODO localhost works on a local environment, check if it's ok on jenkins +# The CPS host according to docker-compose.yml CPS_HOST="http://localhost:8883" # Pass variables required for Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v SCRIPTS:$SCRIPTS -v CPS_HOST:$CPS_HOST" +ROBOT_VARIABLES="-v CPS_HOST:$CPS_HOST -v DATADIR:$WORKSPACE/data" diff --git a/csit/plans/default/teardown.sh b/csit/plans/default/teardown.sh index 90280259c..f9368f9df 100755 --- a/csit/plans/default/teardown.sh +++ b/csit/plans/default/teardown.sh @@ -18,6 +18,8 @@ # Modifications copyright (c) 2020 Samsung Electronics Co., Ltd. # Modifications Copyright (C) 2021 Pantheon.tech # +# Branched from ccsdk/distribution to this repository Feb 23, 2021 +# cd $WORKSPACE/archives/docker-compose -docker-compose down -v +./docker-compose down -v diff --git a/csit/plans/default/testplan.txt b/csit/plans/default/testplan.txt index edcad0dfd..e4e875988 100644 --- a/csit/plans/default/testplan.txt +++ b/csit/plans/default/testplan.txt @@ -1,4 +1,6 @@ # Test suites are relative paths under csit/tests/. # Place the suites in run order. actuator +cps-admin +cps-data diff --git a/csit/prepare-csit.sh b/csit/prepare-csit.sh index 05d99a732..d46b17ae0 100755 --- a/csit/prepare-csit.sh +++ b/csit/prepare-csit.sh @@ -1,6 +1,7 @@ #!/bin/bash -x # # Copyright 2019-2021 © Samsung Electronics Co., Ltd. +# Modifications Copyright (C) 2021 Pantheon.tech # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,8 +17,7 @@ # # This script installs common libraries required by CSIT tests # - -# Branched from integration/csit to this repository 18.2.2021 +# Branched from ccsdk/distribution to this repository Feb 23, 2021 # if [ -z "$WORKSPACE" ]; then @@ -43,10 +43,5 @@ else source /tmp/ci-management/jjb/integration/include-raw-integration-install-robotframework.sh fi -# install eteutils -mkdir -p ${ROBOT_VENV}/src/onap -rm -rf ${ROBOT_VENV}/src/onap/testsuite -#pip install --upgrade --extra-index-url="https://nexus3.onap.org/repository/PyPi.staging/simple" 'robotframework-onap==0.5.1.*' --pre - pip freeze diff --git a/csit/run-csit.sh b/csit/run-csit.sh index e23e84a3f..9220ef9cb 100755 --- a/csit/run-csit.sh +++ b/csit/run-csit.sh @@ -18,8 +18,7 @@ # $1 project/functionality # $2 robot options -# Branched from integration/csit to this repository 18.2.2021 -# +# Branched from ccsdk/distribution to this repository Feb 23, 2021 # # functions diff --git a/csit/run-project-csit.sh b/csit/run-project-csit.sh index 1df826722..a231c5e16 100755 --- a/csit/run-project-csit.sh +++ b/csit/run-project-csit.sh @@ -1,6 +1,7 @@ #!/bin/bash -x # # Copyright 2020-2021 © Samsung Electronics Co., Ltd. +# Modifications Copyright (C) 2021 Pantheon.tech # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# Modifications Copyright (C) 2021 Pantheon.tech +# Branched from ccsdk/distribution to this repository Feb 23, 2021 # # $1 test options (passed on to run-csit.sh as such) diff --git a/csit/scripts/actuator/check_endpoint.sh b/csit/scripts/actuator/check_endpoint.sh deleted file mode 100755 index 7a8cac796..000000000 --- a/csit/scripts/actuator/check_endpoint.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# Copyright (C) 2021 Pantheon.tech -# ================================================================================ -# 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -# - -# $1 is endpoint for GET request - -echo "Testing CPS actuator endpoint $1" - -response=$(curl -o /dev/null -s -w "%{http_code}\n" -H "Accept: application/json" -H "Content-Type: application/json" -X GET $1) - -if [ "$response" == "200" ]; then - echo "CPS Actuator endpoint check successful." - exit 0; -fi - -echo "CPS Actuator endpoint check failed with response code ${response}." -exit 1 diff --git a/csit/tests/actuator/__init__.robot b/csit/tests/actuator/__init__.robot deleted file mode 100644 index 714f3c3c8..000000000 --- a/csit/tests/actuator/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -*** Settings *** -Documentation CPS - Actuator endpoints diff --git a/csit/tests/actuator/actuator.robot b/csit/tests/actuator/actuator.robot index 59c76073a..1253dffbf 100644 --- a/csit/tests/actuator/actuator.robot +++ b/csit/tests/actuator/actuator.robot @@ -1,18 +1,19 @@ *** Settings *** -Library OperatingSystem -Library Process +Documentation CPS - Actuator endpoints + +Library Collections +Library RequestsLibrary + +Suite Setup Create Session CPS_HOST ${CPS_HOST} *** Variables *** -${check} ${SCRIPTS}/actuator/check_endpoint.sh *** Test Cases *** -Liveness Probe for CPS - [Documentation] Liveness Probe - ${result}= Run Process bash ${check} ${CPS_HOST}/manage/health/liveness >> actuator-test.log shell=yes - Should Be Equal As Integers ${result.rc} 0 +Test Liveness Probe Endpoint + ${response}= GET On Session CPS_HOST /manage/health/liveness expected_status=200 + Should Be Equal As Strings ${response.json()['status']} UP -Readiness Probe for CPS - [Documentation] Readiness Probe - ${result}= Run Process bash ${check} ${CPS_HOST}/manage/health/readiness >> actuator-test.log shell=yes - Should Be Equal As Integers ${result.rc} 0 +Test Readiness Probe Endpoint + ${response}= GET On Session CPS_HOST /manage/health/readiness expected_status=200 + Should Be Equal As Strings ${response.json()['status']} UP \ No newline at end of file diff --git a/csit/tests/cps-admin/cps-admin.robot b/csit/tests/cps-admin/cps-admin.robot new file mode 100644 index 000000000..446a59b86 --- /dev/null +++ b/csit/tests/cps-admin/cps-admin.robot @@ -0,0 +1,53 @@ +*** Settings *** +Documentation CPS Core - Admin REST API + +Library Collections +Library OperatingSystem +Library RequestsLibrary + +Suite Setup Create Session CPS_HOST ${CPS_HOST} + +*** Variables *** + +${basePath} /cps/api +${dataspaceName} CSIT-Dataspace +${schemaSetName} CSIT-SchemaSet +${anchorName} CSIT-Anchor + +*** Test Cases *** +Create Dataspace + ${uri}= Set Variable ${basePath}/v1/dataspaces + ${params}= Create Dictionary dataspace-name=${dataspaceName} + ${response}= POST On Session CPS_HOST ${uri} params=${params} + Should Be Equal As Strings ${response.status_code} 201 + +Create Schema Set from YANG file + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets + ${params}= Create Dictionary schema-set-name=${schemaSetName} + ${fileData}= Get Binary File ${DATADIR}${/}test-tree.yang + ${fileTuple}= Create List test.yang ${fileData} application/zip + &{files}= Create Dictionary file=${fileTuple} + ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} + Should Be Equal As Strings ${response.status_code} 201 + +Create Schema Set from ZIP file + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets + ${params}= Create Dictionary schema-set-name=ZipTestSchemaSet + ${fileData}= Get Binary File ${DATADIR}${/}yang-resources.zip + ${fileTuple}= Create List test.zip ${fileData} application/zip + &{files}= Create Dictionary file=${fileTuple} + ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} + Should Be Equal As Strings ${response.status_code} 201 + +Get Schema Set info + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets/${schemaSetName} + ${response}= Get On Session CPS_HOST ${uri} expected_status=200 + ${responseJson}= Set Variable ${response.json()} + Should Be Equal As Strings ${responseJson['name']} ${schemaSetName} + Should Be Equal As Strings ${responseJson['dataspaceName']} ${dataspaceName} + +Create Anchor + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors + ${params}= Create Dictionary schema-set-name=${schemaSetName} anchor-name=${anchorName} + ${response}= POST On Session CPS_HOST ${uri} params=${params} + Should Be Equal As Strings ${response.status_code} 201 \ No newline at end of file diff --git a/csit/tests/cps-data/cps-data.robot b/csit/tests/cps-data/cps-data.robot new file mode 100644 index 000000000..8b0202b3b --- /dev/null +++ b/csit/tests/cps-data/cps-data.robot @@ -0,0 +1,31 @@ +*** Settings *** +Documentation CPS Core - Data REST API + +Library Collections +Library OperatingSystem +Library RequestsLibrary + +Suite Setup Create Session CPS_HOST ${CPS_HOST} + +*** Variables *** + +${basePath} /cps/api +${dataspaceName} CSIT-Dataspace +${anchorName} CSIT-Anchor + +*** Test Cases *** +Create Data Node + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/nodes + ${headers} Create Dictionary Content-Type=application/json + ${jsonData}= Get Binary File ${DATADIR}${/}test-tree.json + ${response}= POST On Session CPS_HOST ${uri} headers=${headers} data=${jsonData} + Should Be Equal As Strings ${response.status_code} 201 + +Get Data Node by XPath + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/node + ${params}= Create Dictionary xpath=/test-tree/branch[@name='Left']/nest + ${response}= Get On Session CPS_HOST ${uri} params=${params} expected_status=200 + ${responseJson}= Set Variable ${response.json()} + Should Be Equal As Strings ${responseJson['name']} Small + + -- 2.16.6