From 3612f5835c616519652280bb28f295452f761506 Mon Sep 17 00:00:00 2001 From: shockrah Date: Mon, 27 Jul 2020 21:04:13 -0700 Subject: [PATCH] testing around channel deletion confirmed working --- server/tests/main.sh | 1 + server/tests/todo.md | 2 +- server/tests/verify_basic_cases.sh | 14 +++++++++++--- server/tests/verify_err_cases.sh | 9 ++++++++- server/tests/verify_mal_cases.sh | 22 ++++++++++++++++++++++ 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/server/tests/main.sh b/server/tests/main.sh index 9cc0559..6ce67f7 100644 --- a/server/tests/main.sh +++ b/server/tests/main.sh @@ -20,6 +20,7 @@ log_result() { red='\033[1;91m' nc='\033[0m' if [ $expect != $actual ];then + echo -e ${red}${name}${nc} ${green}$expect ${red}$actual${nc} echo -e ${red}==========${nc} echo "$result" | sed 's/^/\t/g' echo -e ${red}==========${nc} diff --git a/server/tests/todo.md b/server/tests/todo.md index ded6d99..af47f70 100644 --- a/server/tests/todo.md +++ b/server/tests/todo.md @@ -12,7 +12,7 @@ All required, none finished Malicious users not done -* create\_channel - not done +* create\_channel - sql driver is totally fucked m80 * delete\_channel - not ready for testing diff --git a/server/tests/verify_basic_cases.sh b/server/tests/verify_basic_cases.sh index 365e8be..69bd432 100644 --- a/server/tests/verify_basic_cases.sh +++ b/server/tests/verify_basic_cases.sh @@ -2,7 +2,7 @@ # Available tests marked with `TEST` - ez grep usage -active_tests='list_all_channels create_channel' +active_tests='list_all_channels create_channel delete_channel' list_all_channels() { # TEST result=$(curl --silent -i $GET $url/channels/list -d $simple_key) @@ -11,12 +11,20 @@ list_all_channels() { # TEST } create_channel() { - echo create_channel 0 0 + kv='{"secret":"secret", "name":"a test channel", "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() { - echo delete_channel 0 0 + kv='{"secret":"secret", "name":"sample channel"}' + 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" } + +# Dispatcher to run our tests if [ -z $1 ];then for cmd in $active_tests;do $cmd diff --git a/server/tests/verify_err_cases.sh b/server/tests/verify_err_cases.sh index a5af94e..8b8844f 100644 --- a/server/tests/verify_err_cases.sh +++ b/server/tests/verify_err_cases.sh @@ -1,6 +1,6 @@ #!/bin/bash -active_tests='list_channels_no_key list_channels_bad_key' +active_tests='list_channels_no_key list_channels_bad_key delete_channel_missing_param' list_channels_no_key() { result=$($crl $GET $url/channels/list) @@ -14,6 +14,13 @@ list_channels_bad_key() { log_result list_channels_bad_key 401 $code "$result" } +delete_channel_missing_param() { + kv='{"secret":"secret"}' + result=$($crl $POST $url/channels/delete -d "$kv") + code=$(echo "$result" | grep HTTP\/1.1 | awk '{print $2}') + log_result delete_channel_missing_param 400 $code "$result" +} +# Dispatcher to run our tests if [ -z $1 ];then for cmd in $active_tests;do $cmd diff --git a/server/tests/verify_mal_cases.sh b/server/tests/verify_mal_cases.sh index a9bf588..7c97afd 100644 --- a/server/tests/verify_mal_cases.sh +++ b/server/tests/verify_mal_cases.sh @@ -1 +1,23 @@ #!/bin/bash + +active_tests='malicious_list_channels' + +malicious_list_channels() { + key='{"secret": ";-- select * from members;"}' + result=$(curl --silent -i -X GET localhost:8888/channels/list -d '{"secret": "-- select * from members;"}') + code=$(echo "$result" | grep HTTP\/1.1 | awk '{print $2}') + log_result malicious_list_channels 401 $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