Add csit for lenovo thinkcloud driver 06/81906/2
authorChangjun Wang <310397125@qq.com>
Thu, 14 Mar 2019 01:57:15 +0000 (01:57 +0000)
committerChangjun Wang <310397125@qq.com>
Thu, 14 Mar 2019 01:58:29 +0000 (01:58 +0000)
Add csit for lenovo thinkcloud driver

Issue-ID: MULTICLOUD-520

Change-Id: I068ca3b0cdd58f0ce97d1296409106ca86b898f9
Signed-off-by: Changjun Wang <310397125@qq.com>
plans/multicloud-lenovo/functionality1/setup.sh [new file with mode: 0755]
plans/multicloud-lenovo/functionality1/teardown.sh [new file with mode: 0755]
plans/multicloud-lenovo/functionality1/testplan.txt [new file with mode: 0644]
tests/multicloud-lenovo/provision/sanity_test_multicloud.robot [new file with mode: 0644]

diff --git a/plans/multicloud-lenovo/functionality1/setup.sh b/plans/multicloud-lenovo/functionality1/setup.sh
new file mode 100755 (executable)
index 0000000..39f24ea
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright (c) 2017 Lenovo Systems, Inc.
+#
+# 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.
+
+#
+# Place the scripts in run order:
+# Start all process required for executing test case
+
+source ${SCRIPTS}/common_functions.sh
+
+# start multicloud-lenovo
+docker run -d --name multicloud-lenovo nexus3.onap.org:10001/onap/multicloud/openstack-lenovo
+SERVICE_IP=`get-instance-ip.sh multicloud-lenovo`
+SERVICE_PORT=9010
+
+for i in {1..50}; do
+    curl -sS ${SERVICE_IP}:${SERVICE_PORT} && break
+    echo sleep $i
+    sleep $i
+done
+
+echo SCRIPTS
+# Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES+="-v SERVICE_IP:${SERVICE_IP} "
+ROBOT_VARIABLES+="-v SERVICE_PORT:${SERVICE_PORT} "
diff --git a/plans/multicloud-lenovo/functionality1/teardown.sh b/plans/multicloud-lenovo/functionality1/teardown.sh
new file mode 100755 (executable)
index 0000000..8dace0e
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+#
+# Copyright (c) 2017 Lenovo Systems, Inc.
+#
+# 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.
+
+# This script is sourced by run-csit.sh after Robot test completion.
+kill-instance.sh multicloud-lenovo
diff --git a/plans/multicloud-lenovo/functionality1/testplan.txt b/plans/multicloud-lenovo/functionality1/testplan.txt
new file mode 100644 (file)
index 0000000..ef14af3
--- /dev/null
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration/csit.git]/tests/.
+# Place the suites in run order.
+multicloud-lenovo/provision/sanity_test_multicloud.robot
diff --git a/tests/multicloud-lenovo/provision/sanity_test_multicloud.robot b/tests/multicloud-lenovo/provision/sanity_test_multicloud.robot
new file mode 100644 (file)
index 0000000..ed799ed
--- /dev/null
@@ -0,0 +1,22 @@
+*** settings ***
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+
+*** Variables ***
+@{return_ok_list}=   200  201  202
+${queryswagger_lenovo_url}    /api/multicloud-thinkcloud/v0/swagger.json
+
+
+*** Test Cases ***
+ThinkCloudSwaggerTest
+    [Documentation]    query swagger info rest test
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${SERVICE_IP}:${SERVICE_PORT}    headers=${headers}
+    ${resp}=  Get Request    web_session    ${queryswagger_lenovo_url}
+    ${responese_code}=     Convert To String      ${resp.status_code}
+    List Should Contain Value    ${return_ok_list}   ${responese_code}
+    ${response_json}    json.loads    ${resp.content}
+    ${swagger_version}=    Convert To String      ${response_json['swagger']}
+    Should Be Equal    ${swagger_version}    2.0