;;;; cl-scopes/test-web - test web (client and server) functionality (defpackage :scopes/test-web (:use :common-lisp) (:local-nicknames (:config :scopes/config) (:core :scopes/core) (:client :scopes/web/client) (:server :scopes/web/server) (:t :scopes/testing)) (:export #:run) (:import-from :scopes/testing #:deftest #:==)) (in-package :scopes/test-web) (defvar *config* nil) (defun run () (let ((t:*test-suite* (t:test-suite "web")) (*config* nil) (server:*listener* nil)) (load (t:test-path "config-web" "etc")) (let ((cfg (cadr (config:children *config*)))) (test-server-config cfg) (server:start cfg)) (sleep 0.1) (let ((cfg (car (config:children *config*)))) (test-client cfg)) (sleep 0.1) (server:stop) (t:show-result))) (t:deftest test-server-config (cfg) (== (parse-integer (server:port cfg)) 8899)) (t:deftest test-client (cfg) (== (client:url cfg) "http://localhost:8899") (== (dexador:get (client:url cfg)) "Hello World!"))