Run/kill docker containers using Robot test cases
Change-Id: I7c13b04de30c3f3a0469668910f0837e0b9e38fa
Issue-ID: INT-200
Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
diff --git a/test/csit/plans/integration/vCPE/setup.sh b/test/csit/plans/integration/vCPE/setup.sh
index a30b9b6..1b9cc34 100755
--- a/test/csit/plans/integration/vCPE/setup.sh
+++ b/test/csit/plans/integration/vCPE/setup.sh
@@ -16,17 +16,6 @@
#
# Place the scripts in run order:
-run-instance.sh nexus3.onap.org:10001/openecomp/mso i-so ""
-
-SO_IP=`get-instance-ip.sh i-so`
-
-# Wait for initialization
-for i in {1..10}; do
- curl -sS ${SO_IP}:8080 && break
- echo sleep $i
- sleep $i
-done
-
# Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v SO_IP:${SO_IP}"
+ROBOT_VARIABLES=""
diff --git a/test/csit/plans/integration/vCPE/teardown.sh b/test/csit/plans/integration/vCPE/teardown.sh
index b197859..8beb6e1 100755
--- a/test/csit/plans/integration/vCPE/teardown.sh
+++ b/test/csit/plans/integration/vCPE/teardown.sh
@@ -15,5 +15,4 @@
# limitations under the License.
#
-kill-instance.sh i-so
diff --git a/test/csit/tests/integration/vCPE/test1.robot b/test/csit/tests/integration/vCPE/test1.robot
index c9820a4..d9a9baf 100644
--- a/test/csit/tests/integration/vCPE/test1.robot
+++ b/test/csit/tests/integration/vCPE/test1.robot
@@ -1,10 +1,34 @@
*** Settings ***
-Library OperatingSystem
-Library RequestsLibrary
+Library OperatingSystem
+Library RequestsLibrary
+Library Process
*** Test Cases ***
SO ServiceInstance health check
- Create Session refrepo http://${SO_IP}:8080
- &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
+ ${SO_IP}= Run Docker nexus3.onap.org:10001/openecomp/mso i-so
+ Wait Until Keyword Succeeds 1 min 5 sec CheckUrl http://${SO_IP}:8080
+ Create Session refrepo http://${SO_IP}:8080
+ &{headers}= Create Dictionary Authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== Content-Type=application/json Accept=application/json
${resp}= Get Request refrepo /ecomp/mso/infra/orchestrationRequests/v2 headers=${headers}
- Should Not Contain ${resp.content} null
+ Should Not Contain ${resp.content} null
+ Kill Docker i-so
+
+*** Keywords ***
+Run Docker
+ [Arguments] ${image} ${name} ${parameters}=${EMPTY}
+ ${result}= Run Process docker run --name ${name} ${parameters} -d ${image} shell=True
+ Log all output: ${result.stdout}
+ ${result}= Run Process docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${name} shell=True
+ [Return] ${result.stdout}
+
+Kill Docker
+ [Arguments] ${name}
+ ${result}= Run Process docker logs ${name} shell=True
+ ${result}= Run Process docker kill ${name} shell=True
+ ${result}= Run Process docker rm ${name} shell=True
+
+CheckUrl
+ [Arguments] ${url}
+ Create Session session ${url} disable_warnings=True
+ ${resp}= Get Request session /
+ Should Be Equal As Integers ${resp.status_code} 200