CSIT tests for PDPX Healthcheck/Statisitcs 50/79650/2
authorMichael Mokry <michael.mokry@att.com>
Mon, 4 Mar 2019 18:00:05 +0000 (12:00 -0600)
committerMichael Mokry <michael.mokry@att.com>
Tue, 5 Mar 2019 15:27:39 +0000 (09:27 -0600)
- Added csit setup and teardown scripts
- Added test plan
- Added xacml pdp test robot script
- Modified api test with correct path

Change-Id: I8844f8c75f5c39877410d406b064df7ba6049e1a
Issue-ID: POLICY-1436
Signed-off-by: Michael Mokry <michael.mokry@att.com>
plans/policy/xacml-pdp/setup.sh [new file with mode: 0644]
plans/policy/xacml-pdp/teardown.sh [new file with mode: 0644]
plans/policy/xacml-pdp/testplan.txt [new file with mode: 0644]
tests/policy/api/api-test.robot
tests/policy/xacml-pdp/xacml-pdp-test.robot [new file with mode: 0644]

diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh
new file mode 100644 (file)
index 0000000..e788282
--- /dev/null
@@ -0,0 +1,32 @@
+#!/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-xacml-pdp -p 6969:6969 -it nexus3.onap.org:10001/onap/policy-xacml-pdp:2.0.0-SNAPSHOT-latest 
+docker ps -a
+sleep 5
+POLICY_PDPX_IP=`get-instance-ip.sh policy-xacml-pdp`
+echo PDP-X IP IS ${POLICY_PDPX_IP}
+# Wait for initialization
+for i in {1..10}; do
+   curl -sS ${POLICY_PDPX_IP}:6969 && break
+   echo sleep $i
+   sleep $i
+done
+
+ROBOT_VARIABLES="-v POLICY_PDPX_IP:${POLICY_PDPX_IP}"
diff --git a/plans/policy/xacml-pdp/teardown.sh b/plans/policy/xacml-pdp/teardown.sh
new file mode 100644 (file)
index 0000000..a81ee6b
--- /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-xacml-pdp
diff --git a/plans/policy/xacml-pdp/testplan.txt b/plans/policy/xacml-pdp/testplan.txt
new file mode 100644 (file)
index 0000000..2b641df
--- /dev/null
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+policy/xacml-pdp/xacml-pdp-test.robot
index 7ea2473..bf2c12b 100644 (file)
@@ -11,7 +11,7 @@ Healthcheck
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
-     ${resp}=   Get Request     policy  /healthcheck     headers=${headers}
+     ${resp}=   Get Request     policy  /policy/api/v1/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
@@ -22,7 +22,7 @@ Statistics
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
-     ${resp}=   Get Request     policy  /statistics     headers=${headers}
+     ${resp}=   Get Request     policy  /policy/api/v1/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
diff --git a/tests/policy/xacml-pdp/xacml-pdp-test.robot b/tests/policy/xacml-pdp/xacml-pdp-test.robot
new file mode 100644 (file)
index 0000000..075e545
--- /dev/null
@@ -0,0 +1,28 @@
+*** Settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Test Cases ***
+Healthcheck
+     [Documentation]    Runs Policy Xacml PDP Health check
+     ${auth}=    Create List    healthcheck    zb!XztG34 
+     Log    Creating session http://${POLICY_PDPX_IP}:6969
+     ${session}=    Create Session      policy  http://${POLICY_PDPX_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Get Request     policy  /policy/pdpx/v1/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 Xacml PDP Statistics
+     ${auth}=    Create List    healthcheck    zb!XztG34 
+     Log    Creating session http://${POLICY_PDPX_IP}:6969
+     ${session}=    Create Session      policy  http://${POLICY_PDPX_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Get Request     policy  /policy/pdpx/v1/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