30 lines
890 B
Common Lisp
30 lines
890 B
Common Lisp
;;;; cl-scopes/test-web - test web (client and server) functionality
|
|
|
|
(defpackage :scopes/test-web
|
|
(:use :common-lisp)
|
|
(:local-nicknames (:config :scopes/config)
|
|
(: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")))
|
|
(load (t:test-path "config-web" "etc"))
|
|
(test-server)
|
|
(t:show-result)))
|
|
|
|
(defun app (env)
|
|
'(200 (:content-type "text/plain") ("Hello World!")))
|
|
|
|
(t:deftest test-server ()
|
|
(let ((cfg (car (config:children *config*))))
|
|
(== (parse-integer (server:port cfg)) 8888)
|
|
(setf server:*server*
|
|
(clack:clackup #'app
|
|
:port (parse-integer (server:port cfg))
|
|
:address (server:address cfg)))))
|