summaryrefslogtreecommitdiffstats
path: root/src/test-wgt/launcher.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/test-wgt/launcher.sh.in')
-rw-r--r--src/test-wgt/launcher.sh.in69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/test-wgt/launcher.sh.in b/src/test-wgt/launcher.sh.in
new file mode 100644
index 0000000..1dac914
--- /dev/null
+++ b/src/test-wgt/launcher.sh.in
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+###########################################################################
+# Copyright (C) 2017, 2018 IoT.bzh
+#
+# Author: Romain Forlot <romain.forlot@iot.bzh>
+#
+# 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.
+###########################################################################
+
+PORT=$1
+TOKEN=$2
+
+[ ! "${VERBSELECTED}" ] && VERBSELECTED="*"
+
+# Research the Api name used
+CFGFILE=$(find ${AFM_APP_INSTALL_DIR} -name "*json" -print | head -n1)
+API=$(grep '\"api\"' ${CFGFILE} | cut -d'"' -f4)
+
+AFBCLIENTIN=$(mktemp -u)
+AFBCLIENTOUT=$(mktemp -u)
+mkfifo $AFBCLIENTIN
+mkfifo $AFBCLIENTOUT
+
+declare -a testVerb
+
+if [[ $(jq -r '.testVerb|type' $CFGFILE) == "array" ]]
+then
+ testVerbLength=$(jq '.testVerb|length' $CFGFILE)
+ if [ "$VERBSELECTED" = "*" ]
+ then
+ # Get all the verbs of the test api
+ for (( idx=0; idx<testVerbLength; idx++ )) do
+ testVerb[$idx]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
+ done
+ else
+ # You search for a exact matching verb so there should be only one match
+ for (( idx=0; idx<testVerbLength; idx++ )) do
+ [ "$(jq -r ".testVerb[$idx].uid" ${CFGFILE})" = "$VERBSELECTED" ] && \
+ testVerb[0]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
+ done
+ fi
+else
+ if [ "$VERBSELECTED" = "*" ]
+ then
+ testVerb[0]=$(jq -r ".testVerb.uid" ${CFGFILE})
+ else
+ [ "$(jq -r ".testVerb[0].uid" ${CFGFILE})" = "$VERBSELECTED" ] && \
+ testVerb[0]=$(jq -r ".testVerb[$idx].uid" ${CFGFILE})
+ fi
+fi
+
+testVerbLength=${#testVerb[@]}
+for (( idx=0; idx<testVerbLength; idx++ )) do
+ echo "Launching ${testVerb[$idx]}"
+ afb-client-demo -s ws://localhost:${PORT}/api?token=${TOKEN} "$API" "${testVerb[$idx]}" "${VERBARGS}"
+done
+
+afb-client-demo ws://localhost:${PORT}/api?token=${TOKEN} "$API" "exit"