#!/bin/bash # Available tests marked with `TEST` - ez grep usage active_tests='list_all_channels create_channel delete_channel send_message ' list_all_channels() { # TEST result=$(curl --silent -i $GET $url/channels/list -d $simple_key) code=$(echo "$result" | grep HTTP\/1.1 | awk '{print $2}') log_result "good_list_all_channels" 200 $code "$result" } create_channel() { kv="{\"id\":$id,\"secret\":\"$secret\", \"name\":\"sample\", \"kind\":2, \"description\":\"some bs description\"}" result=$($crl $POST $url/channels/create -d "$kv") code=$(echo "$result" | grep HTTP\/1.1 | awk '{print $2}') log_result good_create_channel 200 $code "$result" } delete_channel() { kv="{\"id\":$id,\"secret\":\"$secret\", \"name\":\"sample\"}" result=$($crl $POST $url/channels/delete -d "$kv") code=$(echo "$result" | grep HTTP\/1.1 | awk '{print $2}') log_result good_delete_channel 200 $code "$result" } send_message() { # ignoring the reaction to this as its not _completely_ relevant for this test $crl $POST $url/channels/create -d "{\"id\":$id, \"secret\":\"$secret\",\"name\":\"msgchannel\",\"kind\":2}" > /dev/null # now we can try sending the right parameters to send a basic message kv="{\"id\":$id,\"secret\":\"$secret\", \"content\":\"message sample\", \"channel\":\"msgchannel\"}" result=$($crl $POST $url/message/send -d "$kv") code=$(echo "$result" | grep HTTP\/1.1 | awk '{print $2}') # non-existant channel for now but whatever ignore for now log_result good_send_message 200 $code "$result" } # Dispatcher to run our tests if [ -z $1 ];then for cmd in $active_tests;do $cmd done else for cmd in $@;do $cmd echo '\n'$? done fi