From 17c82e91e53a2ce69cf264118fcc5bc086f8ede3 Mon Sep 17 00:00:00 2001 From: Taka Cho Date: Wed, 3 Feb 2021 14:13:04 -0500 Subject: move distribution csit to policy repo move distribution csit plans/tests to policy/distribution repo move config to policy/distribution repo also Issue-ID: POLICY-2895 Change-Id: Ie4cd51bb29c74ea78ea0e9d545423839ced85b9b Signed-off-by: Taka Cho --- csit/config/csar/sample_csar_with_apex_policy.csar | Bin 0 -> 96868 bytes csit/plans/setup.sh | 66 +++++++++++++++++++++ csit/plans/teardown.sh | 23 +++++++ csit/plans/testplan.txt | 3 + csit/tests/data/event.json | 11 ++++ csit/tests/distribution-test.robot | 45 ++++++++++++++ 6 files changed, 148 insertions(+) create mode 100644 csit/config/csar/sample_csar_with_apex_policy.csar create mode 100644 csit/plans/setup.sh create mode 100644 csit/plans/teardown.sh create mode 100644 csit/plans/testplan.txt create mode 100644 csit/tests/data/event.json create mode 100644 csit/tests/distribution-test.robot diff --git a/csit/config/csar/sample_csar_with_apex_policy.csar b/csit/config/csar/sample_csar_with_apex_policy.csar new file mode 100644 index 00000000..4d293e42 Binary files /dev/null and b/csit/config/csar/sample_csar_with_apex_policy.csar differ diff --git a/csit/plans/setup.sh b/csit/plans/setup.sh new file mode 100644 index 00000000..e28d4f88 --- /dev/null +++ b/csit/plans/setup.sh @@ -0,0 +1,66 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2018 Ericsson. All rights reserved. +# +# Modifications copyright (c) 2019 Nordix Foundation. +# Modifications Copyright (C) 2020-2021 AT&T Intellectual Property. +# ================================================================================ +# 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========================================================= +source ${SCRIPTS}/get-branch-mariadb.sh + +echo "Uninstall docker-py and reinstall docker." +pip uninstall -y docker-py +pip uninstall -y docker +pip install -U docker==2.7.0 + +sudo apt-get -y install libxml2-utils + +source ${SCRIPTS}/detmVers.sh + +SCRIPT_DIR=${SCRIPTS}/config + +# Remaking the csar file in case if the file got corrupted +zip -F ${SCRIPT_DIR}/csar/sample_csar_with_apex_policy.csar --out ${SCRIPT_DIR}/csar/csar_temp.csar + +# Remake temp directory +rm -rf ${SCRIPT_DIR}/temp +mkdir ${SCRIPT_DIR}/temp + +docker-compose -f ${SCRIPTS}/docker-compose-all.yml up -d distribution + +unset http_proxy https_proxy + +POLICY_API_IP=`get-instance-ip.sh policy-api` +POLICY_PAP_IP=`get-instance-ip.sh policy-pap` +MARIADB_IP=`get-instance-ip.sh mariadb` +APEX_IP=`get-instance-ip.sh policy-apex-pdp` +DMAAP_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` +POLICY_DISTRIBUTION_IP=`get-instance-ip.sh policy-distribution` + +echo PAP IP IS ${POLICY_PAP_IP} +echo MARIADB IP IS ${MARIADB_IP} +echo API IP IS ${POLICY_API_IP} +echo APEX IP IS ${APEX_IP} +echo DMAAP_IP IS ${DMAAP_IP} +echo POLICY_DISTRIBUTION_IP IS ${POLICY_DISTRIBUTION_IP} + +# wait for the app to start up +${SCRIPTS}/wait_for_port.sh ${POLICY_DISTRIBUTION_IP} 6969 + +ROBOT_VARIABLES="" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v APEX_IP:${APEX_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCRIPT_DIR:${SCRIPT_DIR}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_DISTRIBUTION_IP:${POLICY_DISTRIBUTION_IP}" diff --git a/csit/plans/teardown.sh b/csit/plans/teardown.sh new file mode 100644 index 00000000..f47fcd87 --- /dev/null +++ b/csit/plans/teardown.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# ============LICENSE_START======================================================= +# Copyright (C) 2018 Ericsson. All rights reserved. +# +# Modifications copyright (c) 2019 Nordix Foundation. +# Modifications Copyright (C) 2020-2021 AT&T Intellectual Property. +# ================================================================================ +# 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========================================================= + +docker-compose -f ${SCRIPTS}/docker-compose-all.yml down -v diff --git a/csit/plans/testplan.txt b/csit/plans/testplan.txt new file mode 100644 index 00000000..de61eab9 --- /dev/null +++ b/csit/plans/testplan.txt @@ -0,0 +1,3 @@ +# Test suites are relative paths under [policy/distribution.git]/csit/tests/. +# Place the suites in run order. +distribution-test.robot diff --git a/csit/tests/data/event.json b/csit/tests/data/event.json new file mode 100644 index 00000000..9dbf2790 --- /dev/null +++ b/csit/tests/data/event.json @@ -0,0 +1,11 @@ +{ + "nameSpace": "org.onap.policy.apex.sample.events", + "name": "Event0000", + "version": "0.0.1", + "source": "REST_0", + "target": "apex", + "TestSlogan": "Test slogan for External Event0", + "TestMatchCase": 3, + "TestTimestamp": 1536363522018, + "TestTemperature": 9080.866 +} diff --git a/csit/tests/distribution-test.robot b/csit/tests/distribution-test.robot new file mode 100644 index 00000000..1a8c1471 --- /dev/null +++ b/csit/tests/distribution-test.robot @@ -0,0 +1,45 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json + +*** Test Cases *** + +Healthcheck + [Documentation] Runs Policy Distribution Health check + ${auth}= Create List healthcheck zb!XztG34 + Log Creating session https://${POLICY_DISTRIBUTION_IP}:6969 + ${session}= Create Session policy https://${POLICY_DISTRIBUTION_IP}:6969 auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Get Request policy /healthcheck headers=${headers} + Log Received response from policy ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.json()['code']} 200 + +Statistics + [Documentation] Runs Policy Distribution Statistics + ${auth}= Create List healthcheck zb!XztG34 + Log Creating session https://${POLICY_DISTRIBUTION_IP}:6969 + ${session}= Create Session policy https://${POLICY_DISTRIBUTION_IP}:6969 auth=${auth} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json + ${resp}= Get Request policy /statistics headers=${headers} + Log Received response from policy ${resp.text} + Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.json()['code']} 200 + +InvokeDistributionAndRunEventOnEngine + Wait Until Keyword Succeeds 5 min 30 sec InvokeDistributionUsingFile And RunEventOnApexEngine + +*** Keywords *** + +InvokeDistributionUsingFile And RunEventOnApexEngine + Copy File ${SCRIPT_DIR}/csar/csar_temp.csar ${SCRIPT_DIR}/csar/temp.csar + Move File ${SCRIPT_DIR}/csar/temp.csar ${SCRIPT_DIR}/temp/sample_csar_with_apex_policy.csar + Sleep 20 seconds "Waiting for the Policy Distribution to call Policy API and PAP" + Create Session apexSession http://${APEX_IP}:23324 max_retries=1 + ${data}= Get Binary File ${CURDIR}${/}data${/}event.json + &{headers}= Create Dictionary Content-Type=application/json Accept=application/json + ${resp}= Put Request apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + Remove Files ${SCRIPT_DIR}/temp/sample_csar_with_apex_policy.csar -- cgit 1.2.3-korg