three scripts move to docker/csit 08/118608/3
authorTaka Cho <takamune.cho@att.com>
Fri, 26 Feb 2021 15:25:55 +0000 (10:25 -0500)
committerTakamune Cho <takamune.cho@att.com>
Fri, 26 Feb 2021 16:18:25 +0000 (16:18 +0000)
those three scripts appear to use in
drools and xacml. would suggest to move
to docker repo for general purpose

Issue-ID: POLICY-2895
Change-Id: Ib292f72a0df1bb45db0a9fc6dd25b3f9e172740f
Signed-off-by: Taka Cho <takamune.cho@att.com>
csit/make_topic.sh [new file with mode: 0755]
csit/onset.sh [new file with mode: 0755]
csit/wait_topic.sh [new file with mode: 0755]

diff --git a/csit/make_topic.sh b/csit/make_topic.sh
new file mode 100755 (executable)
index 0000000..77e0a2d
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# ===========LICENSE_START====================================================
+#  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=====================================================
+#
+
+#
+# Creates a topic, which happens as a side-effect of polling it.
+#
+
+if [ $# -ne 1 ]
+then
+    echo "arg(s): topic-name" >&2
+    exit 1
+fi
+
+topic="${1}"
+
+curl -s -k "https://${SIM_IP}:3905/events/${topic}/script/1?limit=1&timeout=0"
+echo
diff --git a/csit/onset.sh b/csit/onset.sh
new file mode 100755 (executable)
index 0000000..06b0c9f
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+#
+# ===========LICENSE_START====================================================
+#  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=====================================================
+#
+
+#
+# Injects an ONSET event on the DCAE_CL_OUTPUT topic.
+#
+
+if [ $# -ne 1 ]
+then
+    echo "arg(s): json-message-file-name" >&2
+    exit 1
+fi
+
+curl -k -H "Content-type: application/json" --data-binary @$1 \
+    https://${SIM_IP}:3905/events/unauthenticated.DCAE_CL_OUTPUT
+echo
diff --git a/csit/wait_topic.sh b/csit/wait_topic.sh
new file mode 100755 (executable)
index 0000000..64b6c9f
--- /dev/null
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# ===========LICENSE_START====================================================
+#  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=====================================================
+#
+
+#
+# Polls a topic for a message.  Additional text items can be specified,
+# in which case, it discards messages that do not contain all of the
+# specified text items.
+#
+# Exits with a non-zero status if no matching message is received on the
+# topic before the timeout.
+#
+
+if [ $# -lt 1 ]
+then
+    echo "arg(s): topic-name [text-to-match1 [text-to-match2 ...]]" >&2
+    exit 1
+fi
+
+topic="${1}"
+shift
+
+matched=no
+
+while [ ${matched} = "no" ]
+do
+    msg=`curl -s -k "https://${SIM_IP}:3905/events/${topic}/script/1?limit=1"`
+    if [ $? -ne 0 -o "${msg}" = "[]" ]
+    then
+        echo not found >&2
+        exit 2
+    fi
+
+    matched=yes
+    for text in "$@"
+    do
+        echo "${msg}" | grep -q "${text}"
+        if [ $? -ne 0 ]
+        then
+            matched=no
+            break
+        fi
+    done
+done
+
+echo "${msg}"