summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2018-03-08 17:24:42 +0000
committerGerrit Code Review <gerrit@onap.org>2018-03-08 17:24:42 +0000
commitcd5cdba987529a4817465a41c8f29f488f584269 (patch)
treeefbd06da151c2007492fe3c59b7af3acbcfa2f9f
parent7c24b2ed616ebe2ba2e28c278e41475ec82aa866 (diff)
parentde47fd4a4a19e950ff8f074b95ceb1c981ba3b94 (diff)
Merge "freeze 1st test group for music integration"
-rwxr-xr-xtest/csit/plans/music/music-test-plan/setup.sh68
-rwxr-xr-xtest/csit/plans/music/music-test-plan/teardown.sh12
-rw-r--r--test/csit/scripts/music/music-properties/log4j.properties3
-rw-r--r--test/csit/scripts/music/music-properties/music.properties17
-rwxr-xr-xtest/csit/scripts/music/music-scripts/wait_for_port.sh18
-rw-r--r--test/csit/tests/music/music-suite/music-test.robot159
6 files changed, 133 insertions, 144 deletions
diff --git a/test/csit/plans/music/music-test-plan/setup.sh b/test/csit/plans/music/music-test-plan/setup.sh
index 517837c9a..228aa1f2f 100755
--- a/test/csit/plans/music/music-test-plan/setup.sh
+++ b/test/csit/plans/music/music-test-plan/setup.sh
@@ -18,40 +18,68 @@
#
# add here eventual scripts needed for music
#
-echo "##########################################################";
-echo "#";
echo "# music scripts calling";
-echo "#";
-echo "##########################################################";
source ${WORKSPACE}/test/csit/scripts/music/music-scripts/music_script.sh
#
-# add here below the start of all docker containers needed for music CSIT testing
+# add here all the configuration steps eventually needed to be carried out for music CSIT testing
#
-echo "##########################################################";
-echo "#";
-echo "# music scripts docker containers spinoff";
-echo "#";
-echo "##########################################################";
+echo "# music configuration step";
+MUSIC_SOURCE_PROPERTIES=${WORKSPACE}/test/csit/scripts/music/music-properties
+MUSIC_PROPERTIES=/tmp/music/properties
+MUSIC_LOGS=/tmp/music/logs
+
+mkdir -p ${MUSIC_PROPERTIES}
+mkdir -p ${MUSIC_LOGS}
+
+cp ${MUSIC_SOURCE_PROPERTIES}/* ${MUSIC_PROPERTIES}
+
+#docker cp /home/lb7254/integration/test/csit/scripts/music/music-scripts/music_init.cql cassandra:/tmp/music_init.cql
+#docker cp ${WORKSPACE}/test/csit/scripts/music/music-scripts/music_init.cql cassandra:/tmp/music_init.cql
+#docker exec -it cassandra /usr/bin/cqlsh -umusic -pmusic -f /tmp/music_init.cql
+
+
#
-# add here all the configuration steps eventually needed to be carried out for music CSIT testing
+# add here below the start of all docker containers needed for music CSIT testing
#
-echo "##########################################################";
-echo "#";
-echo "# music configuration step";
-echo "#";
-echo "##########################################################";
+echo "# music docker containers spinoff";
+
+
+docker volume create music-vol
+docker run -d --name music-war -v music-vol:/app nexus3.onap.org:10001/onap/music/music:latest
+docker run -d --name music-db -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 nexus3.onap.org:10001/onap/music/cassandra_music:latest
+docker run -d --name music-zk -p 2181:2181 -p 2888:2888 -p 3888:3888 nexus3.onap.org:10001/library/zookeeper:3.4
+sleep 30
+
+CASSA_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-db`
+echo "CASSANDRA_IP=${CASSA_IP}"
+
+ZOO_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-zk`
+echo "ZOOKEEPER_IP=${ZOO_IP}"
+
+${WORKSPACE}/test/csit/scripts/music/music-scripts/wait_for_port.sh ${CASSA_IP} 9042
+
+docker run -d --name music-tomcat -p 8080:8080 -v music-vol:/usr/local/tomcat/webapps -v ${MUSIC_PROPERTIES}:/opt/app/music/etc:ro -v ${MUSIC_LOGS}:/opt/app/music/logs nexus3.onap.org:10001/library/tomcat:8.0
+
+TOMCAT_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat`
+echo "TOMCAT_IP=${TOMCAT_IP}"
+
+
+
+--- old part: it will be removed
+#docker run --name cassandra -d -p 9042:9042 -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9160:9160 nexus3.onap.org:10001/library/cassandra
+#docker run --name zookeeper -d -p 2181:2181 -p 2888:2888 -p 3888:3888 nexus3.onap.org:10001/library/zookeeper
+#docker run --name music -d -v /app nexus3.onap.org:10001/music
+#docker run --name tomcat -d -p 8080:8080 --volumes-from music nexus3.onap.org:10001/library/tomcat
+
+
#
# add here all ROBOT_VARIABLES settings
#
-echo "##########################################################";
-echo "#";
echo "# music robot variables settings";
-echo "#";
-echo "##########################################################";
ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://localhost -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://localhost -v COND_PORT:8091"
echo ${ROBOT_VARIABLES}
diff --git a/test/csit/plans/music/music-test-plan/teardown.sh b/test/csit/plans/music/music-test-plan/teardown.sh
index 884a64f71..0806eb273 100755
--- a/test/csit/plans/music/music-test-plan/teardown.sh
+++ b/test/csit/plans/music/music-test-plan/teardown.sh
@@ -24,5 +24,15 @@ echo "#";
echo "# music scripts docker containers killing";
echo "#";
echo "##########################################################";
-# kill-instance.sh <dockercontainername>
+kill-instance.sh music-tomcat
+kill-instance.sh music-war
+kill-instance.sh music-zk
+kill-instance.sh music-db
+docker volume rm music-vol
+
+rm -Rf /tmp/music
+
+
+
+
diff --git a/test/csit/scripts/music/music-properties/log4j.properties b/test/csit/scripts/music/music-properties/log4j.properties
new file mode 100644
index 000000000..1312e9bb9
--- /dev/null
+++ b/test/csit/scripts/music/music-properties/log4j.properties
@@ -0,0 +1,3 @@
+# No longer needed, please see the logback properties
+
+
diff --git a/test/csit/scripts/music/music-properties/music.properties b/test/csit/scripts/music/music-properties/music.properties
new file mode 100644
index 000000000..a26fc0317
--- /dev/null
+++ b/test/csit/scripts/music/music-properties/music.properties
@@ -0,0 +1,17 @@
+my.public.ip=localhost
+all.public.ips=localhost
+my.id=0
+all.ids=0
+#######################################
+# Optional current values are defaults
+#######################################
+#zookeeper.host=localhost
+#cassandra.host=localhost
+#music.ip=localhost
+#debug=true
+#music.rest.ip=localhost
+#lock.lease.period=6000
+cassandra.user=nelson24
+cassandra.password=winman123
+
+
diff --git a/test/csit/scripts/music/music-scripts/wait_for_port.sh b/test/csit/scripts/music/music-scripts/wait_for_port.sh
new file mode 100755
index 000000000..10f08ded1
--- /dev/null
+++ b/test/csit/scripts/music/music-scripts/wait_for_port.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [[ $# -ne 2 ]]; then
+ echo "Usage: wait-for-port hostname port" >&2
+ exit 1
+fi
+
+host=$1
+port=$2
+
+echo "Waiting for $host port $port open"
+until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do
+ sleep 1
+done
+
+echo "$host port $port is open"
+
+exit 0
diff --git a/test/csit/tests/music/music-suite/music-test.robot b/test/csit/tests/music/music-suite/music-test.robot
index bb94d2955..4af4ebc0d 100644
--- a/test/csit/tests/music/music-suite/music-test.robot
+++ b/test/csit/tests/music/music-suite/music-test.robot
@@ -10,6 +10,42 @@ ${MESSAGE} {"ping": "ok"}
${generatedAID}
*** Test Cases ***
+Check Cassandra Docker Container
+ [Documentation] It checks cassandra docker container is running
+ ${rc} ${output}= Run and Return RC and Output docker ps
+ Log To Console *********************
+ Log To Console retrurn_code = ${rc}
+ Log To Console output = ${output}
+ Should Be Equal As Integers ${rc} 0
+ Should Contain ${output} music-db
+
+Check Zookeeper Docker Container
+ [Documentation] It checks zookeeper docker container is running
+ ${rc} ${output}= Run and Return RC and Output docker ps
+ Log To Console *********************
+ Log To Console retrurn_code = ${rc}
+ Log To Console output = ${output}
+ Should Be Equal As Integers ${rc} 0
+ Should Contain ${output} music-zk
+
+Check Tomcat Docker Container
+ [Documentation] It checks tomcat docker container is running
+ ${rc} ${output}= Run and Return RC and Output docker ps
+ Log To Console *********************
+ Log To Console retrurn_code = ${rc}
+ Log To Console output = ${output}
+ Should Be Equal As Integers ${rc} 0
+ Should Contain ${output} music-tomcat
+
+Check Music War Docker Container
+ [Documentation] It checks music.war docker container is running
+ ${rc} ${output}= Run and Return RC and Output docker ps
+ Log To Console *********************
+ Log To Console retrurn_code = ${rc}
+ Log To Console output = ${output}
+ Should Be Equal As Integers ${rc} 0
+ Should Contain ${output} music-war
+
Get Music Version
[Documentation] It sends a REST GET request to retrieve the Music.war version
Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
@@ -20,129 +56,6 @@ Get Music Version
Log To Console body = ${resp.text}
Should Be Equal As Integers ${resp.status_code} 200
-Music AddOnBoarding
- [Documentation] It sends a REST POST request to Music to Onboard a new application
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}onboard.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music Content-Type=application/json Accept=application/json
- ${resp}= Post Request musicaas /MUSIC/rest/v2/admin/onboardAppWithMusic data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- ${response_json} json.loads ${resp.content}
- ${generatedAID}= Convert To String ${response_json['Generated AID']}
- Set Global Variable ${generatedAID}
- Log To Console generatedAID = ${generatedAID}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music CreateKeyspace
- [Documentation] It sends a REST POST request to Music to create a new keyspace in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}createkeyspace.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Post Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music CreateTable
- [Documentation] It sends a REST POST request to Music to create a new Table in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}createtable.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Post Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music InsertRow
- [Documentation] It sends a REST POST request to Music to create a new row in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}insertrow_eventual.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Post Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows/?row=emp1 data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music ReadRowJustInserted
- [Documentation] It sends a REST GET request to Music to Read the row just inserted in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Get Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1 headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music UpdateRowInAtomicWay
- [Documentation] It sends a REST PUT request to Music to create a new row in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}updaterow_atomic.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Put Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1 data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music ReadRowAfterUpdate
- [Documentation] It sends a REST GET request to Music to Read the row just inserted in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Get Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1 headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music DeleteRow
- [Documentation] It sends a REST DELETE request to Music to delete a row in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}deleterow_eventual.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Delete Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1 data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music DropTable
- [Documentation] It sends a REST Delete request to Music to drop one existing Table in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}droptable.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Delete Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-Music DropKeyspace
- [Documentation] It sends a REST DELETE request to Music to drop one existing keyspace in Cassandra
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}dropkeyspace.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Delete Request musicaas /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
-
-
-Music DeleteOnBoarding
- [Documentation] It sends a REST DELETE request to Music to remove a previosly onboarded application
- Create Session musicaas ${MUSIC_HOSTNAME}:${MUSIC_PORT}
- ${data}= Get Binary File ${CURDIR}${/}data${/}onboard.json
- &{headers}= Create Dictionary ns=lb7254 userId=music password=music aid=${generatedAID} Content-Type=application/json Accept=application/json
- ${resp}= Delete Request musicaas /MUSIC/rest/v2/admin/onboardAppWithMusic data=${data} headers=${headers}
- Log To Console *********************
- Log To Console response = ${resp}
- Log To Console body = ${resp.text}
- Should Be Equal As Integers ${resp.status_code} 200
*** Keywords ***