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
29 pgrep -f "python DominoServer.py" && return 0
30 python DominoServer.py --log "$LOGLEVEL" > "$server_log" 2>&1 &
34 pgrep -f "python DominoServer.py" || return 0
35 kill $(pgrep -f "python DominoServer.py")
40 #pgrep -f "python DominoClient.py -p $CLIENT1_PORT" && return 0
41 python DominoClient.py -p $CLIENT1_PORT --cliport $CLIENT1_CLIPORT \
42 --log "$LOGLEVEL" > "$client1_log" 2>&1 &
46 #pgrep -f "python DominoClient.py -p $CLIENT2_PORT" && return 0
47 python DominoClient.py -p $CLIENT2_PORT --cliport $CLIENT2_CLIPORT \
48 --log "$LOGLEVEL" > "$client2_log" 2>&1 &
52 pgrep -f "python DominoClient.py" || return 0
53 kill $(pgrep -f "python DominoClient.py")
58 if [ -f dominoserver.db ]; then
62 if [ -d toscafiles ]; then
71 echo "Stopping Domino Clients..."
74 echo "Stopping Domino Server..."
86 echo "domino/tests/run.sh has been executed."
90 echo "Terminating any running Domino Clients..."
93 echo "Terminating any running Domino Servers..."
97 echo "Cleaning residue files and folders from previous runs..."
101 echo "Launching Domino Server..."
105 echo "Launching Domino Client 1..."
109 echo "Launching Domino Client 2..."
113 echo "Test Heartbeat"
114 python domino_cli.py $CLIENT1_CLIPORT heartbeat
117 echo "Test Subscribe API"
118 python domino_cli.py $CLIENT1_CLIPORT subscribe -t hot \
119 -l tosca.policies.Placement:properties:region:nova-1
121 python domino_cli.py $CLIENT1_CLIPORT subscribe -t dummy1,dummy2 --top OVERWRITE
123 python domino_cli.py $CLIENT1_CLIPORT subscribe -t dummy1,dummy2 --top DELETE
125 python domino_cli.py $CLIENT1_CLIPORT subscribe \
126 -l tosca.policies.Placement:properties:region:nova-2
128 python domino_cli.py $CLIENT1_CLIPORT subscribe \
129 -l tosca.policies.Placement:properties:region:nova-3 \
132 python domino_cli.py $CLIENT1_CLIPORT subscribe \
133 -l tosca.policies.Placement:properties:region:nova-3 \
137 echo "Test Publish API"
138 python domino_cli.py $CLIENT1_CLIPORT publish -t "$toscafile_test1"
141 python domino_cli.py $CLIENT1_CLIPORT subscribe \
142 -l tosca.policies.Placement.Geolocation:properties:region:us-west-1
144 python domino_cli.py $CLIENT2_CLIPORT publish -t "$toscafile_test1"
146 TUID=$(python domino_cli.py $CLIENT2_CLIPORT list-tuids | cut -c3-34)
149 python domino_cli.py $CLIENT2_CLIPORT publish -t "$toscafile_test1" -k "$TUID"
151 #echo "Stopping Domino Client 1..."
154 #echo "Stopping Domino Server..."
157 cut -d " " -f 4- "$client1_log" > file1
158 cut -d " " -f 4- "$client2_log" > file2
159 #will use the form below to declare success or failure
162 diff -q file1 "$test1_reffile1" 1>/dev/null
170 diff -q file2 "$test1_reffile2" 1>/dev/null