43 lines
1.5 KiB
Common Lisp
43 lines
1.5 KiB
Common Lisp
;;;; 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)
|
|
(:message :scopes/core/message)
|
|
(:server :scopes/web/server)
|
|
(:t :scopes/testing))
|
|
(:export #:run)
|
|
(:import-from :scopes/testing #:deftest #:== #:has-prefix))
|
|
|
|
(in-package :scopes/test-web)
|
|
|
|
(defvar *config* nil)
|
|
|
|
(defun run ()
|
|
(let ((t:*test-suite* (t:test-suite "web"))
|
|
(*config* nil))
|
|
(load (t:test-path "config-web" "etc"))
|
|
(core:setup-services *config*)
|
|
(let ((server (core:find-service :server))
|
|
(client (core:find-service :client)))
|
|
(test-server-config server)
|
|
(sleep 0.1)
|
|
(test-fileserver client)
|
|
;(test-message client)
|
|
(sleep 0.1)
|
|
(server:stop (core:find-service :server))
|
|
(t:show-result))))
|
|
|
|
(t:deftest test-server-config (server)
|
|
(== (parse-integer (server:port (core:config server))) 8899))
|
|
|
|
(t:deftest test-fileserver (client)
|
|
(let ((msg (message:simple-message '(:test :get-page) '(:path "demo.html"))))
|
|
(== (client:base-url (core:config client)) "http://localhost:8899")
|
|
(has-prefix (client:get-page client msg) "Hello Fileserver!")))
|
|
|
|
(t:deftest test-message (client)
|
|
(let ((msg (message:simple-message '(:test :data))))
|
|
(== (client:send-message client msg) "Hello World!")))
|