diff options
-rw-r--r-- | csit/config/csar/sample_csar_with_apex_policy.csar | bin | 0 -> 96868 bytes | |||
-rw-r--r-- | csit/plans/setup.sh | 66 | ||||
-rw-r--r-- | csit/plans/teardown.sh | 23 | ||||
-rw-r--r-- | csit/plans/testplan.txt | 3 | ||||
-rw-r--r-- | csit/tests/data/event.json | 11 | ||||
-rw-r--r-- | csit/tests/distribution-test.robot | 45 |
6 files changed, 148 insertions, 0 deletions
diff --git a/csit/config/csar/sample_csar_with_apex_policy.csar b/csit/config/csar/sample_csar_with_apex_policy.csar Binary files differnew file mode 100644 index 00000000..4d293e42 --- /dev/null +++ b/csit/config/csar/sample_csar_with_apex_policy.csar 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 |