aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/csit/plans/policy/health/setup.sh34
-rwxr-xr-xtest/csit/plans/policy/health/teardown.sh20
-rw-r--r--test/csit/plans/policy/health/testplan.txt3
-rwxr-xr-xtest/csit/scripts/policy/mock-hello.sh31
-rwxr-xr-xtest/csit/scripts/policy/script1.sh17
-rw-r--r--test/csit/tests/policy/suite1/__init__.robot2
-rw-r--r--test/csit/tests/policy/suite1/test1.robot30
7 files changed, 137 insertions, 0 deletions
diff --git a/test/csit/plans/policy/health/setup.sh b/test/csit/plans/policy/health/setup.sh
new file mode 100755
index 000000000..241d78b22
--- /dev/null
+++ b/test/csit/plans/policy/health/setup.sh
@@ -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
index 000000000..4214c8279
--- /dev/null
+++ b/test/csit/plans/policy/health/teardown.sh
@@ -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
index 000000000..bb858748d
--- /dev/null
+++ b/test/csit/plans/policy/health/testplan.txt
@@ -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
index 000000000..6092dcba8
--- /dev/null
+++ b/test/csit/scripts/policy/mock-hello.sh
@@ -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
index 000000000..a005c3a84
--- /dev/null
+++ b/test/csit/scripts/policy/script1.sh
@@ -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
index 000000000..c7970e6aa
--- /dev/null
+++ b/test/csit/tests/policy/suite1/__init__.robot
@@ -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
index 000000000..10e685213
--- /dev/null
+++ b/test/csit/tests/policy/suite1/test1.robot
@@ -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