[POLICY-142] policy starting test 49/6649/1
authorPamela Dragosh <pdragosh@research.att.com>
Thu, 3 Aug 2017 13:31:15 +0000 (13:31 +0000)
committerPamela Dragosh <pdragosh@research.att.com>
Thu, 3 Aug 2017 13:36:18 +0000 (13:36 +0000)
Change-Id: I8debebb638b8cbdd03d6d5c89234770d43b3ae9b
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
test/csit/plans/policy/health/setup.sh [new file with mode: 0755]
test/csit/plans/policy/health/teardown.sh [new file with mode: 0755]
test/csit/plans/policy/health/testplan.txt [new file with mode: 0644]
test/csit/scripts/policy/mock-hello.sh [new file with mode: 0755]
test/csit/scripts/policy/script1.sh [new file with mode: 0755]
test/csit/tests/policy/suite1/__init__.robot [new file with mode: 0644]
test/csit/tests/policy/suite1/test1.robot [new file with mode: 0644]

diff --git a/test/csit/plans/policy/health/setup.sh b/test/csit/plans/policy/health/setup.sh
new file mode 100755 (executable)
index 0000000..241d78b
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright 2017 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.
+#
+# Place the scripts in run order:
+source ${WORKSPACE}/test/csit/scripts/policy/script1.sh
+
+docker run --name i-mock -d jamesdbloom/mockserver
+MOCK_IP=`get-instance-ip.sh i-mock`
+
+# Wait for initialization
+for i in {1..10}; do
+    curl -sS ${MOCK_IP}:1080 && break
+    echo sleep $i
+    sleep $i
+done
+
+${WORKSPACE}/test/csit/scripts/policy/mock-hello.sh ${MOCK_IP}
+
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v MOCK_IP:${MOCK_IP}"
+
diff --git a/test/csit/plans/policy/health/teardown.sh b/test/csit/plans/policy/health/teardown.sh
new file mode 100755 (executable)
index 0000000..4214c82
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright 2017 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.
+#
+
+kill-instance.sh i-mock
+
+
diff --git a/test/csit/plans/policy/health/testplan.txt b/test/csit/plans/policy/health/testplan.txt
new file mode 100644 (file)
index 0000000..bb85874
--- /dev/null
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+policy/suite1
diff --git a/test/csit/scripts/policy/mock-hello.sh b/test/csit/scripts/policy/mock-hello.sh
new file mode 100755 (executable)
index 0000000..6092dcb
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright 2017 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.
+#
+# $1 ip address of the mock server
+
+curl -v -X PUT -d @- http://$1:1080/expectation <<EOF
+{
+    "httpRequest": {
+        "method": "GET",
+        "path": "/hello"
+    },
+    "httpResponse": {
+        "body": "Hello world!",
+        "statusCode": 200
+    }
+}
+EOF
+
diff --git a/test/csit/scripts/policy/script1.sh b/test/csit/scripts/policy/script1.sh
new file mode 100755 (executable)
index 0000000..a005c3a
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/bash
+#
+# Copyright 2017 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.
+#
+echo "This is ${WORKSPACE}/test/csit/scripts/policy/script1.sh"
diff --git a/test/csit/tests/policy/suite1/__init__.robot b/test/csit/tests/policy/suite1/__init__.robot
new file mode 100644 (file)
index 0000000..c7970e6
--- /dev/null
@@ -0,0 +1,2 @@
+*** Settings ***
+Documentation    Policy - Suite 1
diff --git a/test/csit/tests/policy/suite1/test1.robot b/test/csit/tests/policy/suite1/test1.robot
new file mode 100644 (file)
index 0000000..10e6852
--- /dev/null
@@ -0,0 +1,30 @@
+*** Settings ***
+Library       OperatingSystem
+Library       RequestsLibrary
+
+*** Variables ***
+${MESSAGE}    Hello, world!
+
+*** Test Cases ***
+String Equality Test
+    Should Be Equal    ${MESSAGE}    Hello, world!
+
+Dir Test
+    [Documentation]    Check if /tmp exists
+    Log                ${MESSAGE}
+    CheckDir           /tmp
+
+Url Test
+    [Documentation]    Check if google.com can be reached
+    CheckUrl           http://www.google.com
+
+*** Keywords ***
+CheckDir
+    [Arguments]                 ${path}
+    Directory Should Exist      ${path}
+
+CheckUrl
+    [Arguments]                  ${url}
+    Create Session               session              ${url}
+    ${resp}=                     Get Request          session                  /
+    Should Be Equal As Integers  ${resp.status_code}  200