# vi:filetype= my $ExePath; BEGIN { use FindBin; $ExePath = "$FindBin::Bin/../haskell/bin/restyscript"; if (!-f $ExePath) { $skip = "$ExePath is not found.\n"; return; } if (!-x $ExePath) { $skip = "$ExePath is not an executable.\n"; return; } }; use t::OpenResty $skip ? (skip_all => $skip) : (); plan tests => 3 * blocks(); run_tests; __DATA__ === TEST 1: Delete existing actions --- request DELETE /=/action?_user=$TestAccount&_password=$TestPass&_use_cookie=1 --- response {"success":1,"warning":"Builtin actions were skipped."} === TEST 2: Create an action with builtin vars --- request POST /=/action/Foo { "description": "test builtin vars", "definition": "select $_ACCOUNT as account, $_ROLE as role;" } --- response {"success":1} === TEST 3: Invoke the action with explicit variable binding --- request GET /=/action/Foo/_ACCOUNT/32?_ROLE=56 --- response [[{"account":"tester","role":"Admin"}]] === TEST 4: Invoke the action w/o binding --- request GET /=/action/Foo/~/~ --- response [[{"account":"tester","role":"Admin"}]] === TEST 5: Create an action with non-recognized builtin vars --- request POST /=/action/Bar { "description": "test builtin vars", "definition": "select $_blah as account, $_foo as role;" } --- response {"success":0,"error":"Unknown built-in parameter: _blah"}