Merge "Add csit test plans for policy-api"
authorGary Wu <gary.i.wu@huawei.com>
Thu, 7 Feb 2019 15:08:38 +0000 (15:08 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 7 Feb 2019 15:08:38 +0000 (15:08 +0000)
plans/policy/api/setup.sh [new file with mode: 0644]
plans/policy/api/teardown.sh [new file with mode: 0644]
plans/policy/api/testplan.txt [new file with mode: 0644]
tests/policy/api/api-test.robot [new file with mode: 0644]

diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh
new file mode 100644 (file)
index 0000000..dcfcb9e
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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 run -d --name policy-api -p 6969:6969 -it nexus3.onap.org:10001/onap/policy-api:2.0.0-SNAPSHOT-latest 
+
+POLICY_API_IP=`get-instance-ip.sh policy-api`
+echo API IP IS ${POLICY_API_IP}
+Wait for initialization
+for i in {1..10}; do
+   curl -sS ${POLICY_API_IP}:6969 && break
+   echo sleep $i
+   sleep $i
+done
+
+ROBOT_VARIABLES="-v POLICY_API_IP:${POLICY_API_IP}"
\ No newline at end of file
diff --git a/plans/policy/api/teardown.sh b/plans/policy/api/teardown.sh
new file mode 100644 (file)
index 0000000..8683ded
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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=========================================================
+
+kill-instance.sh policy-api
diff --git a/plans/policy/api/testplan.txt b/plans/policy/api/testplan.txt
new file mode 100644 (file)
index 0000000..1bfec14
--- /dev/null
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+policy/api/api-test.robot
diff --git a/tests/policy/api/api-test.robot b/tests/policy/api/api-test.robot
new file mode 100644 (file)
index 0000000..3753b3d
--- /dev/null
@@ -0,0 +1,28 @@
+*** Settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Test Cases ***
+Healthcheck
+     [Documentation]    Runs Policy Api Health check
+     ${auth}=    Create List    healthcheck    zb!XztG34 
+     Log    Creating session http://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  http://${POLICY_API_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 Api Statistics
+     ${auth}=    Create List    healthcheck    zb!XztG34 
+     Log    Creating session http://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  http://${POLICY_API_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
\ No newline at end of file