From 9f5f061c22c3698d778a0fbda9ffeecd39895d90 Mon Sep 17 00:00:00 2001 From: "Kay Marquardt (Gnadelwartz)" Date: Mon, 29 Jun 2020 11:13:25 +0200 Subject: [PATCH] adjust remaing tests --- test/ALL-tests.inc.sh | 11 +++-- test/d-process_message-test.sh | 43 +++++++++++++------ .../d-process_message-test.input | 13 ------ .../d-process_message-test.result | 6 --- .../d-process_message-test2.input | 13 ++++++ .../d-process_message-test2.result | 22 ++++++++++ .../d-send_message-test.result | 2 + test/e-env-test.sh | 4 +- test/e-env-test/blocked.jssh | 1 + test/e-env-test/botconfig.jssh | 3 ++ test/e-env-test/count.jssh | 1 + 11 files changed, 81 insertions(+), 38 deletions(-) create mode 100644 test/d-process_message-test/d-process_message-test2.input create mode 100644 test/d-process_message-test/d-process_message-test2.result create mode 100644 test/e-env-test/blocked.jssh create mode 100644 test/e-env-test/botconfig.jssh create mode 100644 test/e-env-test/count.jssh diff --git a/test/ALL-tests.inc.sh b/test/ALL-tests.inc.sh index 3bbf4d8..020bac6 100644 --- a/test/ALL-tests.inc.sh +++ b/test/ALL-tests.inc.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.98-pre2-10-gae4610a +#### $$VERSION$$ v0.98-pre2-18-g3a51b51 # common variables export TESTME DIRME TESTDIR LOGFILE REFDIR TESTNAME @@ -26,10 +26,12 @@ export SUCCESS NOSUCCESS NOSUCCESS=" FAILED!" # default input, reference and output files -export INPUTFILE REFFILE OUTPUTFILE +export INPUTFILE REFFILE INPUTFILE2 REFFILE2 OUTPUTFILE + OUTPUTFILE="${TESTDIR}/${REFDIR}.out" INPUTFILE="${DIRME}/${REFDIR}/${REFDIR}.input" REFFILE="${DIRME}/${REFDIR}/${REFDIR}.result" - OUTPUTFILE="${TESTDIR}/${REFDIR}.out" + INPUTFILE2="${DIRME}/${REFDIR}/${REFDIR}2.input" + REFFILE2="${DIRME}/${REFDIR}/${REFDIR}2.result" # do not query telegram when testing export BASHBOT_URL TESTTOKEN @@ -54,7 +56,8 @@ compare_sorted() { sort -d -o "${1}.sort" "${1}" sort -d -o "${2}.sort" "${2}" diff -c "${1}.sort" "${2}.sort" || ret=1 - rm -f "${1}.sort" "${2}.sort" + [[ "${1}" != "${TESTDIR}"* ]] && rm -f "${1}" + [[ "${2}" != "${TESTDIR}"* ]] && rm -f "${2}" return "$ret" } diff --git a/test/d-process_message-test.sh b/test/d-process_message-test.sh index 4f9a5e0..6efbf4d 100755 --- a/test/d-process_message-test.sh +++ b/test/d-process_message-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.98-pre2-10-gae4610a +#### $$VERSION$$ v0.98-pre2-18-g3a51b51 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh @@ -20,23 +20,40 @@ get_file() { } # get telegram input from file -export UPDATE UPD -UPDATE="$(cat "${INPUTFILE}")" -declare -A UPD -source <( printf 'UPD=( %s )' "$(sed <<<"${UPDATE}" -E -e 's/\t/=/g' -e 's/=(true|false)/="\1"/')" ) +export UPDATE +declare -Ax UPD -# run process_message -echo "Check process_message ..." +# run process_message -------------- +ARRAYS="USER CHAT REPLYTO FORWARD URLS CONTACT CAPTION LOCATION MESSAGE VENUE SERVICE" + +echo "Check process_message regular message..." + +UPDATE="$(< "${INPUTFILE}")" +Json2Array 'UPD' <"${INPUTFILE}" set -x -{ process_message "0"; set +x; } >>"${LOGFILE}" 2>&1; -echo "Compare results" - -USER[ID]="123456789" -CHAT[ID]="123456789" +{ pre_process_message "0"; process_message "0"; set +x; } >>"${LOGFILE}" 2>&1; +USER[ID]="123456789"; CHAT[ID]="123456789" # output processed input -print_array "USER" "CHAT" "REPLYTO" "FORWARD" "URLS" "CONTACT" "CAPTION" "LOCATION" "MESSAGE" "VENUE" "SERVICE">"${OUTPUTFILE}" +# shellcheck disable=SC2086 +print_array ${ARRAYS} >"${OUTPUTFILE}" compare_sorted "${REFFILE}" "${OUTPUTFILE}" || exit 1 + +# run process_message ------------ +echo "Check process_message service message..." + +UPDATE="$(cat "${INPUTFILE2}")" +Json2Array 'UPD' <"${INPUTFILE2}" +set -x +{ pre_process_message "0"; process_message "0"; set +x; } >>"${LOGFILE}" 2>&1; +USER[ID]="123456789"; CHAT[ID]="123456789" + +# output processed input +# shellcheck disable=SC2086 +print_array ${ARRAYS} >"${OUTPUTFILE}" +compare_sorted "${REFFILE2}" "${OUTPUTFILE}" || exit 1 + + echo "${SUCCESS}" cd "${DIRME}" || exit 1 diff --git a/test/d-process_message-test/d-process_message-test.input b/test/d-process_message-test/d-process_message-test.input index 798449c..e166651 100644 --- a/test/d-process_message-test/d-process_message-test.input +++ b/test/d-process_message-test/d-process_message-test.input @@ -89,16 +89,3 @@ ["result",0,"message","voice","duration"] 2 ["result",0,"message","voice","mime_type"] "audio/ogg" ["result",0,"message","voice","file_size"] 4262 -["result",0,"message","new_chat_participant","id"] 123456789 -["result",0,"message","new_chat_participant","is_bot"] false -["result",0,"message","new_chat_participant","first_name"] "Kay" -["result",0,"message","new_chat_participant","last_name"] "M" -["result",0,"message","new_chat_member","id"] 123456789 -["result",0,"message","new_chat_member","is_bot"] false -["result",0,"message","new_chat_member","first_name"] "Kay" -["result",0,"message","new_chat_member","last_name"] "M" -["result",0,"message","new_chat_members",0,"id"] 123456789 -["result",0,"message","new_chat_members",0,"is_bot"] false -["result",0,"message","new_chat_members",0,"first_name"] "Kay" -["result",0,"message","new_chat_members",0,"last_name"] "M" -["result",0,"message","left_chat_member","id"] 123456789 diff --git a/test/d-process_message-test/d-process_message-test.result b/test/d-process_message-test/d-process_message-test.result index 6aa75b2..1f2586c 100644 --- a/test/d-process_message-test/d-process_message-test.result +++ b/test/d-process_message-test/d-process_message-test.result @@ -41,9 +41,3 @@ VENUE: FOURSQUARE 4c4321afce54e21eee980d1a VENUE: LATITUDE 49.631824 VENUE: LONGITUDE 8.377072 VENUE: TITLE Kolb's Biergarten -SERVICE: 0 yes -SERVICE: LEFTMEMBER 123456789 -SERVICE: NEWMEMBER 123456789 -SERVICE: NEWPHOTO -SERVICE: NEWTITLE -SERVICE: PINNED diff --git a/test/d-process_message-test/d-process_message-test2.input b/test/d-process_message-test/d-process_message-test2.input new file mode 100644 index 0000000..feaad12 --- /dev/null +++ b/test/d-process_message-test/d-process_message-test2.input @@ -0,0 +1,13 @@ +["result",0,"message","new_chat_participant","id"] 123456789 +["result",0,"message","new_chat_participant","is_bot"] false +["result",0,"message","new_chat_participant","first_name"] "Kay" +["result",0,"message","new_chat_participant","last_name"] "M" +["result",0,"message","new_chat_member","id"] 123456789 +["result",0,"message","new_chat_member","is_bot"] false +["result",0,"message","new_chat_member","first_name"] "Kay" +["result",0,"message","new_chat_member","last_name"] "M" +["result",0,"message","new_chat_members",0,"id"] 123456789 +["result",0,"message","new_chat_members",0,"is_bot"] false +["result",0,"message","new_chat_members",0,"first_name"] "Kay" +["result",0,"message","new_chat_members",0,"last_name"] "M" +["result",0,"message","left_chat_member","id"] 123456789 diff --git a/test/d-process_message-test/d-process_message-test2.result b/test/d-process_message-test/d-process_message-test2.result new file mode 100644 index 0000000..bb02e3c --- /dev/null +++ b/test/d-process_message-test/d-process_message-test2.result @@ -0,0 +1,22 @@ +USER: FIRST_NAME +USER: ID 123456789 +USER: LAST_NAME +USER: USERNAME +CHAT: ALL_ADMIN +CHAT: FIRST_NAME +CHAT: ID 123456789 +CHAT: LAST_NAME +CHAT: TITLE +CHAT: TYPE +CHAT: USERNAME +CAPTION: 0 +LOCATION: LATITUDE +LOCATION: LONGITUDE +MESSAGE: 0 /_new_chat_member 123456789 Kay M +MESSAGE: ID +SERVICE: 0 yes +SERVICE: LEFTMEMBER 123456789 +SERVICE: NEWMEMBER 123456789 +SERVICE: NEWPHOTO +SERVICE: NEWTITLE +SERVICE: PINNED diff --git a/test/d-send_message-test/d-send_message-test.result b/test/d-send_message-test/d-send_message-test.result index c6c9c6a..3399681 100644 --- a/test/d-send_message-test/d-send_message-test.result +++ b/test/d-send_message-test/d-send_message-test.result @@ -2,7 +2,9 @@ chat:123456 JSON:"text":"\# test for text only output" URL:https://my-json-server.typicode.com/topkecleon/telegram-bot-bash/getMe?123456789:BASHBOTTESTSCRIPTbashbottestscript_/sendMessage chat:123456 JSON:"text":"This is a normal text" +URL:https://my-json-server.typicode.com/topkecleon/telegram-bot-bash/getMe?123456789:BASHBOTTESTSCRIPTbashbottestscript_/sendMessage +chat:123456 JSON:"text":"This is a normal text\nwith a line break" URL:https://my-json-server.typicode.com/topkecleon/telegram-bot-bash/getMe?123456789:BASHBOTTESTSCRIPTbashbottestscript_/sendMessage chat:123456 JSON:"text":" This is a HTML<\/b> text","parse_mode":"html" diff --git a/test/e-env-test.sh b/test/e-env-test.sh index 7107b73..b3d7457 100755 --- a/test/e-env-test.sh +++ b/test/e-env-test.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#### $$VERSION$$ v0.98-pre2-0-ga597303 +#### $$VERSION$$ v0.98-pre2-18-g3a51b51 # include common functions and definitions # shellcheck source=test/ALL-tests.inc.sh @@ -33,7 +33,7 @@ cp ${TESTDIR}/*commands.sh "${BASHBOT_ETC}" || exit 1 set -f cp -r "${TESTDIR}/bashbot.sh" "${TESTDIR}/modules" "${BASHBOT_BIN}" || exit 1 -TESTFILES="${TOKENFILE} ${ACLFILE} ${ADMINFILE}" +TESTFILES="${TOKENFILE} ${ACLFILE}" echo "Check first run in ENVIRONMENT ..." diff --git a/test/e-env-test/blocked.jssh b/test/e-env-test/blocked.jssh new file mode 100644 index 0000000..2de89ec --- /dev/null +++ b/test/e-env-test/blocked.jssh @@ -0,0 +1 @@ +["blocked_user_or_chat_id"] "name and reason" diff --git a/test/e-env-test/botconfig.jssh b/test/e-env-test/botconfig.jssh new file mode 100644 index 0000000..1585280 --- /dev/null +++ b/test/e-env-test/botconfig.jssh @@ -0,0 +1,3 @@ +["bot_config_key"] "config_key_value" +["bottoken"] "123456789:BASHBOTTESTSCRIPTbashbottestscript_" +["botadmin"] "?" diff --git a/test/e-env-test/count.jssh b/test/e-env-test/count.jssh new file mode 100644 index 0000000..9dadf52 --- /dev/null +++ b/test/e-env-test/count.jssh @@ -0,0 +1 @@ +["counted_user_chat_id"] "num_messages_seen"