require "json" module Guff module API module TestAPI private def do_test_version( context : HTTP::Server::Context, args : Hash(String, String) ) {version: Guff::VERSION}.to_json end private def do_test_get_posts( context : HTTP::Server::Context, args : Hash(String, String) ) [{foo: "bar"}, {foo: "asdf"}].to_json end MOCK_USERS = [{ "id": "0", "name": "Guest", "active": true, }, { "id": "1", "name": "Admin", "active": false, }, { "id": "2", "name": "Test User 1", "active": false, }, { "id": "3", "name": "Test User 2", "active": false, }, { "id": "4", "name": "Test User<<<<>>>>>&&&&&&2", "active": false, }] private def do_test_get_users( context : HTTP::Server::Context, args : Hash(String, String) ) user_id = "0" with_session(context) do |session| user_id = session["user_id"]? || "0" false end # build result users = MOCK_USERS.map { |row| row.merge({ "active": (row["id"] == user_id) }) } # return result { "users": users } end private def do_test_set_user( context : HTTP::Server::Context, args : Hash(String, String) ) with_session(context) do |session| session["user_id"] = args["user_id"] true end { ok: true } end private def do_test_error( context : HTTP::Server::Context, args : Hash(String, String) ) raise "some random error" end end end end