blob: 64b6c9f347cc8a5eda1aef1137a44c629e0222c8 [file] [log] [blame]
Taka Cho2391d152021-02-26 10:25:55 -05001#!/bin/bash
2#
3# ===========LICENSE_START====================================================
4# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
5# ============================================================================
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17# ============LICENSE_END=====================================================
18#
19
20#
21# Polls a topic for a message. Additional text items can be specified,
22# in which case, it discards messages that do not contain all of the
23# specified text items.
24#
25# Exits with a non-zero status if no matching message is received on the
26# topic before the timeout.
27#
28
29if [ $# -lt 1 ]
30then
31 echo "arg(s): topic-name [text-to-match1 [text-to-match2 ...]]" >&2
32 exit 1
33fi
34
35topic="${1}"
36shift
37
38matched=no
39
40while [ ${matched} = "no" ]
41do
42 msg=`curl -s -k "https://${SIM_IP}:3905/events/${topic}/script/1?limit=1"`
43 if [ $? -ne 0 -o "${msg}" = "[]" ]
44 then
45 echo not found >&2
46 exit 2
47 fi
48
49 matched=yes
50 for text in "$@"
51 do
52 echo "${msg}" | grep -q "${text}"
53 if [ $? -ne 0 ]
54 then
55 matched=no
56 break
57 fi
58 done
59done
60
61echo "${msg}"