X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/012d05c2b62332eb400d66b806e48216d39358c6..eda0cc87eedfbbe5a15a91a59489e31f69e30998:/test/oauth/common.sh?ds=sidebyside diff --git a/test/oauth/common.sh b/test/oauth/common.sh index 8b21fd12..342e5786 100644 --- a/test/oauth/common.sh +++ b/test/oauth/common.sh @@ -10,13 +10,13 @@ fi testname="${MH_TEST_DIR}/$$" -arith_eval 64001 + `id -u` % 1000 +arith_eval 64001 + $$ % 1000 http_port=${arith_val} -arith_eval 64000 + `id -u` % 1000 +arith_eval ${http_port} + 1 pop_port=${arith_val} -arith_eval 64002 + `id -u` % 1000 +arith_eval ${pop_port} + 1 smtp_port=${arith_val} cat >> ${MH} < "${pop_message}" < @@ -73,6 +73,10 @@ start_fakesmtp() { > /dev/null } +clean_fakesmtp() { + rm "${testname}.smtp-req" +} + fake_creds() { cat > "${MHTMPDIR}/oauth-test" } @@ -82,6 +86,10 @@ fake_http_response() { cat >> "${testname}.http-res" } +clean_fakehttp() { + rm -f "${testname}.http-res" +} + fake_json_response() { (echo 'Content-Type: application/json'; echo; @@ -91,9 +99,10 @@ fake_json_response() { # The format of the POST request is mostly dependent on curl, and could possibly # change with newer or older curl versions, or by configuration. curl 7.39.0 # makes POST requests like this on FreeBSD 10 and Ubuntu 14.04. If you find -# this failing, you'll need to make this a smarter comparison. +# this failing, you'll need to make this a smarter comparison. Note that it is +# sorted, so that it doesn't depend on the JSON being in a specific order. expect_http_post() { - cat > "${testname}.expected-http-req" < "${testname}.expected-http-req" < "${testname}.expected-creds" + cat > "${MHTMPDIR}/$$.expected-creds" } test_inc() { - run_test "inc -host 127.0.0.1 -port ${pop_port} -oauth test -user nobody@example.com -width 80" "$@" + run_test "inc -host 127.0.0.1 -port ${pop_port} -sasl -saslmech xoauth2 -authservice test -user nobody@example.com -width 80" "$@" } test_inc_success() { @@ -133,7 +142,7 @@ test_inc_success() { } test_send_no_servers() { - run_test "send -draft -server 127.0.0.1 -port ${smtp_port} -oauth test -user nobody@example.com" "$@" + run_test "send -draft -server 127.0.0.1 -port ${smtp_port} -sasl -saslmech xoauth2 -authservice test -user nobody@example.com" "$@" } test_send_only_fakesmtp() { @@ -144,11 +153,15 @@ test_send_only_fakesmtp() { test_send() { start_fakehttp test_send_only_fakesmtp "$@" - check "${testname}.http-req" "${testname}.expected-http-req" + sort -o "${testname}.http-req.sorted" "${testname}.http-req" + rm "${testname}.http-req" + check "${testname}.http-req.sorted" "${testname}.expected-http-req" } check_http_req() { - check "${testname}.http-req" "${testname}.expected-http-req" + sort -o "${testname}.http-req.sorted" "${testname}.http-req" + rm "${testname}.http-req" + check "${testname}.http-req.sorted" "${testname}.expected-http-req" } check_creds_private() { @@ -167,7 +180,7 @@ check_creds() { # it against our "correct" output. f="${MHTMPDIR}/oauth-test" - sed 's/^expire:.*/expire:/' "$f" > "$f".notime - check "$f".notime "${testname}.expected-creds" + sed 's/^\(expire.*:\).*/\1/' "$f" > "$f".notime + check "$f".notime "${MHTMPDIR}/$$.expected-creds" rm "$f" }