X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test;h=e19539b16ba09d9177986689113b139b94f03a50;hb=5c589dc3c8016c2f43174b1cf6de3e934835a142;hp=55a4c2956318b04c5ac1e0c7c830cb4b358bfa0f;hpb=00507589b4984d50a34a383975fc6323db19bcfa;p=lmno-server diff --git a/test b/test index 55a4c29..e19539b 100755 --- a/test +++ b/test @@ -85,24 +85,34 @@ contains() grep -q "$2" <<< $1 } -# Post to a URL endpoint with optional JSON data +# POST to a URL endpoint with optional JSON data # # Usage: # -# curl_post [data] +# curl_post [data] [CURL_OPTIONS] curl_post() { - $CURL -X POST ${2:+-H 'Content-Type: application/json' -d "$2"} $URL/$1 + $CURL ${3:-} -X POST ${2:+-H 'Content-Type: application/json' -d "$2"} $URL/$1 } -# Get form a URL endpoint +# PUT to a URL endpoint with optional JSON data # # Usage: # -# curl_get +# curl_post [data] [CURL_OPTIONS] +curl_put() +{ + $CURL ${3:-} -X PUT ${2:+-H 'Content-Type: application/json' -d "$2"} $URL/$1 +} + +# GET from a URL endpoint +# +# Usage: +# +# curl_get [CURL_OPTIONS] curl_get() { - $CURL $URL/$1 + $CURL ${2:-} $URL/$1 } # Create a new game of the specified engine type @@ -295,6 +305,45 @@ tictactoe_move() curl_post $tictactoe_game_path/move "{ \"move\": $1 }" } +lmno_profile() +{ + curl_put /profile "{ \"nickname\": \"$1\" }" "-c .test-cookie" +} + +tictactoe_player_info() +{ + curl_get $tictactoe_game_path/events "-m 0.1 -b .test-cookie" 2>&1 \ + | grep player-info -A 1 \ + | grep ^data +} + +tictactoe_player() +{ + curl_put $tictactoe_game_path/player "{ \"name\": \"$1\" }" "-b .test-cookie" +} + +TEST_SUBSECTION "Tic Tac Toe player-info" + +TEST "Hit LMNO /profile to set name to 'curl'" +lmno_profile curl +TEST_END + +TEST "Verify player-info event reports 'curl' name" +result=$(tictactoe_player_info) +test "$result" = 'data: {"id":1,"name":"curl"}' +TEST_END + +TEST_SUBSECTION "Tic Tac Toe /player" + +TEST "Change name to 'newname'" +tictactoe_player newname +TEST_END + +TEST "Verify player-info event reports 'newname'" +result=$(tictactoe_player_info) +test "$result" = 'data: {"id":1,"name":"newname"}' +TEST_END + TEST_SUBSECTION "Tic Tac Toe /move" TEST "Move to the center square"