blob: 44e8526aa48aae7ae3e870b8c7c3905970ac9cdf [file] [log] [blame]
#!/bin/bash
# ============LICENSE_START===============================================
# Copyright (C) 2020 Nordix Foundation. 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=================================================
#
# Automated test script for callback receiver container
# callbackreciver port
# export PORT=8090
if [ $# -ne 1 ]; then
echo "Usage: ./basic_test.sh nonsecure|secure"
exit 1
fi
if [ "$1" != "nonsecure" ] && [ "$1" != "secure" ]; then
echo "Usage: ./basic_test.sh nonsecure|secure"
exit 1
fi
if [ $1 == "nonsecure" ]; then
#Default http port for the simulator
PORT=8090
# Set http protocol
HTTPX="http"
else
#Default https port for the simulator
PORT=8091
# Set https protocol
HTTPX="https"
fi
# source function to do curl and check result
. ../common/do_curl_function.sh
echo "=== CR hello world ==="
RESULT="OK"
do_curl GET / 200
echo "=== Reset ==="
RESULT="*"
do_curl POST /reset 200
echo "=== Get counter - callbacks ==="
RESULT="0"
do_curl GET /counter/received_callbacks 200
echo "=== Get counter - fetched events ==="
RESULT="0"
do_curl GET /counter/fetched_callbacks 200
echo "=== Get counter - current events ==="
RESULT="0"
do_curl GET /counter/current_messages 200
echo "=== Get counter - remote hosts ==="
RESULT="*"
do_curl GET /counter/remote_hosts 200
echo "=== Send a request non json ==="
RESULT="*"
#create payload
echo "DATA" > .tmp.json
do_curl POST '/callbacks/test' 200 .tmp.json
echo "=== Send a request ==="
RESULT="*"
#create payload
echo "{\"DATA-MSG\":\"msg\"}" > .tmp.json
do_curl POST '/callbacks/test' 200 .tmp.json
echo "=== Fetch an event, wrong id==="
RESULT="*"
do_curl GET '/get-event/wrongid' 204
# Test counters for all ids
echo "=== Get counter - callbacks ==="
RESULT="2"
do_curl GET /counter/received_callbacks 200
echo "=== Get counter - fetched events ==="
RESULT="0"
do_curl GET /counter/fetched_callbacks 200
echo "=== Get counter - current events ==="
RESULT="2"
do_curl GET /counter/current_messages 200
# Test counter for one id
echo "=== Get counter - callbacks ==="
RESULT="2"
do_curl GET /counter/received_callbacks?id=test 200
echo "=== Get counter - fetched events ==="
RESULT="0"
do_curl GET /counter/fetched_callbacks?id=test 200
echo "=== Get counter - current events ==="
RESULT="2"
do_curl GET /counter/current_messages?id=test 200
# Test counter for dummy id
echo "=== Get counter - callbacks ==="
RESULT="0"
do_curl GET /counter/received_callbacks?id=dummy 200
echo "=== Get counter - fetched events ==="
RESULT="0"
do_curl GET /counter/fetched_callbacks?id=dummy 200
echo "=== Get counter - current events ==="
RESULT="0"
do_curl GET /counter/current_messages?id=dummy 200
echo "=== Fetch an event ==="
RESULT="json:{}"
do_curl GET '/get-event/test' 200
echo "=== Fetch an event ==="
RESULT="json:{\"DATA-MSG\":\"msg\"}"
do_curl GET '/get-event/test' 200
echo "=== Fetch an event again ==="
RESULT="*"
do_curl GET '/get-event/test' 204
echo "=== Get counter - callbacks ==="
RESULT="2"
do_curl GET /counter/received_callbacks 200
echo "=== Get counter - fetched events ==="
RESULT="2"
do_curl GET /counter/fetched_callbacks 200
echo "=== Get counter - current events ==="
RESULT="0"
do_curl GET /counter/current_messages 200
# Test counter for one id
echo "=== Get counter - callbacks ==="
RESULT="2"
do_curl GET /counter/received_callbacks?id=test 200
echo "=== Get counter - fetched events ==="
RESULT="2"
do_curl GET /counter/fetched_callbacks?id=test 200
echo "=== Get counter - current events ==="
RESULT="0"
do_curl GET /counter/current_messages?id=test 200
echo "=== Send a request ==="
RESULT="*"
#create payload
echo "{\"DATA-MSG\":\"msg\"}" > .tmp.json
do_curl POST '/callbacks/test' 200 .tmp.json
echo "=== Send a request ==="
RESULT="*"
#create payload
echo "{\"DATA-MSG2\":\"msg2\"}" > .tmp.json
do_curl POST '/callbacks/test' 200 .tmp.json
echo "=== Send a request ==="
RESULT="*"
#create payload
echo "{\"DATA-MSG3\":\"msg3\"}" > .tmp.json
do_curl POST '/callbacks/test1' 200 .tmp.json
echo "=== Get counter - callbacks ==="
RESULT="5"
do_curl GET /counter/received_callbacks 200
echo "=== Get counter - fetched events ==="
RESULT="2"
do_curl GET /counter/fetched_callbacks 200
echo "=== Get counter - current events ==="
RESULT="3"
do_curl GET /counter/current_messages 200
# Test counter for one id, test1
echo "=== Get counter - callbacks ==="
RESULT="1"
do_curl GET /counter/received_callbacks?id=test1 200
echo "=== Get counter - fetched events ==="
RESULT="0"
do_curl GET /counter/fetched_callbacks?id=test1 200
echo "=== Get counter - current events ==="
RESULT="1"
do_curl GET /counter/current_messages?id=test1 200
echo "=== Fetch all events ==="
RESULT="json:[{\"DATA-MSG2\":\"msg2\"},{\"DATA-MSG\":\"msg\"}]"
do_curl GET '/get-all-events/test' 200
echo "=== Get counter - callbacks ==="
RESULT="5"
do_curl GET /counter/received_callbacks 200
echo "=== Get counter - fetched events ==="
RESULT="4"
do_curl GET /counter/fetched_callbacks 200
echo "=== Get counter - current events ==="
RESULT="1"
do_curl GET /counter/current_messages 200
echo "=== CR reset ==="
RESULT="OK"
do_curl GET /reset 200
echo "=== Get counter - callbacks ==="
RESULT="0"
do_curl GET /counter/received_callbacks 200
echo "=== Get counter - fetched events ==="
RESULT="0"
do_curl GET /counter/fetched_callbacks 200
echo "=== Get counter - current events ==="
RESULT="0"
do_curl GET /counter/current_messages 200
# Check delay
echo "=== Set delay 10 sec==="
RESULT="*"
do_curl POST /forcedelay?delay=10 200
TSECONDS=$SECONDS
echo "=== Send a request, dealyed ==="
RESULT="*"
#create payload
echo "{\"DATA-MSG\":\"msg-del1\"}" > .tmp.json
do_curl POST '/callbacks/test' 200 .tmp.json
if [ $(($SECONDS-$TSECONDS)) -lt 10 ]; then
echo " Delay failed $(($SECONDS-$TSECONDS))"
echo " Exiting...."
exit 1
else
echo " Delay OK $(($SECONDS-$TSECONDS))"
fi
echo "=== Fetch an event ==="
RESULT="json:{\"DATA-MSG\":\"msg-del1\"}"
do_curl GET '/get-event/test' 200
echo "********************"
echo "*** All tests ok ***"
echo "********************"