3 #Copyright 2016 Open Platform for NFV Project, Inc. and its contributors
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
20 toscafile_test1=./tosca-templates/tosca_helloworld_nfv.yaml
21 test1_reffile1=./tests/refdata/test1_client1.ref
22 test1_reffile2=./tests/refdata/test1_client2.ref
23 client1_log=./tests/logdata/client1.log
24 client2_log=./tests/logdata/client2.log
25 server_log=./tests/logdata/server.log
28 pgrep -f "python DominoServer.py" && return 0
29 python DominoServer.py --log "$LOGLEVEL" > "$server_log" 2>&1 &
33 pgrep -f "python DominoServer.py" || return 0
34 kill $(pgrep -f "python DominoServer.py")
39 #pgrep -f "python DominoClient.py -p $CLIENT1_PORT" && return 0
40 python DominoClient.py -p $CLIENT1_PORT --cliport $CLIENT1_CLIPORT \
41 --log "$LOGLEVEL" > "$client1_log" 2>&1 &
45 #pgrep -f "python DominoClient.py -p $CLIENT2_PORT" && return 0
46 python DominoClient.py -p $CLIENT2_PORT --cliport $CLIENT2_CLIPORT \
47 --log "$LOGLEVEL" > "$client2_log" 2>&1 &
51 pgrep -f "python DominoClient.py" || return 0
52 kill $(pgrep -f "python DominoClient.py")
57 if [ -f dominoserver.db ]; then
61 if [ -d toscafiles ]; then
70 echo "Stopping Domino Clients..."
73 echo "Stopping Domino Server..."
85 echo "domino/tests/run.sh has been executed."
89 echo "Terminating any running Domino Clients..."
92 echo "Terminating any running Domino Servers..."
96 echo "Cleaning residue files and folders from previous runs..."
100 echo "Launching Domino Server..."
104 echo "Launching Domino Client 1..."
108 echo "Launching Domino Client 2..."
112 echo "Test Heartbeat"
113 python domino-cli.py $CLIENT1_CLIPORT heartbeat
116 echo "Test Subscribe API"
117 python domino-cli.py $CLIENT1_CLIPORT subscribe -t hot \
118 -l tosca.policies.Placement:properties:region:nova-1
120 python domino-cli.py $CLIENT1_CLIPORT subscribe -t dummy1,dummy2 --top OVERWRITE
122 python domino-cli.py $CLIENT1_CLIPORT subscribe -t dummy1,dummy2 --top DELETE
124 python domino-cli.py $CLIENT1_CLIPORT subscribe \
125 -l tosca.policies.Placement:properties:region:nova-2
127 python domino-cli.py $CLIENT1_CLIPORT subscribe \
128 -l tosca.policies.Placement:properties:region:nova-3 \
131 python domino-cli.py $CLIENT1_CLIPORT subscribe \
132 -l tosca.policies.Placement:properties:region:nova-3 \
136 echo "Test Publish API"
137 python domino-cli.py $CLIENT1_CLIPORT publish -t "$toscafile_test1"
140 python domino-cli.py $CLIENT1_CLIPORT subscribe \
141 -l tosca.policies.Placement.Geolocation:properties:region:us-west-1
143 python domino-cli.py $CLIENT2_CLIPORT publish -t "$toscafile_test1"
145 #echo "Stopping Domino Client 1..."
148 #echo "Stopping Domino Server..."
151 cut -d " " -f 4- "$client1_log" > file1
152 cut -d " " -f 4- "$client2_log" > file2
153 #will use the form below to declare success or failure
156 diff -q file1 "$test1_reffile1" 1>/dev/null
164 diff -q file2 "$test1_reffile2" 1>/dev/null