move distribution csit to policy repo 56/117456/5
authorTaka Cho <takamune.cho@att.com>
Wed, 3 Feb 2021 19:13:04 +0000 (14:13 -0500)
committerTaka Cho <takamune.cho@att.com>
Fri, 5 Feb 2021 15:04:55 +0000 (10:04 -0500)
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 <takamune.cho@att.com>
csit/config/csar/sample_csar_with_apex_policy.csar [new file with mode: 0644]
csit/plans/setup.sh [new file with mode: 0644]
csit/plans/teardown.sh [new file with mode: 0644]
csit/plans/testplan.txt [new file with mode: 0644]
csit/tests/data/event.json [new file with mode: 0644]
csit/tests/distribution-test.robot [new file with mode: 0644]

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 (file)
index 0000000..4d293e4
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 (file)
index 0000000..e28d4f8
--- /dev/null
@@ -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 (file)
index 0000000..f47fcd8
--- /dev/null
@@ -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 (file)
index 0000000..de61eab
--- /dev/null
@@ -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 (file)
index 0000000..9dbf279
--- /dev/null
@@ -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 (file)
index 0000000..1a8c147
--- /dev/null
@@ -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