diff --git a/test/etc/config-web.lisp b/test/etc/config-web.lisp index 6d59bf4..323476f 100644 --- a/test/etc/config-web.lisp +++ b/test/etc/config-web.lisp @@ -6,7 +6,7 @@ (let ((cfg (core:add-config *config* :server :class 'server:config - :setup #'server:start + :setup #'server:setup :port "8899")))) (let ((cfg (core:add-config *config* :client diff --git a/test/test-web.lisp b/test/test-web.lisp index fff153b..372fd0e 100644 --- a/test/test-web.lisp +++ b/test/test-web.lisp @@ -20,17 +20,16 @@ (server:*listener* nil)) (load (t:test-path "config-web" "etc")) (core:setup-services *config*) - (let ((cfg (cadr (config:children *config*)))) - (test-server-config cfg)) + (test-server-config) (sleep 0.1) (test-client) (sleep 0.1) (server:stop) (t:show-result))) -(t:deftest test-server-config (cfg) - ;(let ((cfg (core:config (core:find-service :server)))) - (== (parse-integer (server:port cfg)) 8899)) +(t:deftest test-server-config () + (let ((cfg (core:config (core:find-service :server)))) + (== (parse-integer (server:port cfg)) 8899))) (t:deftest test-client () (let ((cfg (core:config (core:find-service :client)))) diff --git a/web/server.lisp b/web/server.lisp index 6f160b9..2237500 100644 --- a/web/server.lisp +++ b/web/server.lisp @@ -5,7 +5,7 @@ (:local-nicknames (:config :scopes/config) (:core :scopes/core)) (:export #:config #:address #:port - #:*listener* #:start #:stop)) + #:*listener* #:setup #:start #:stop)) (in-package :scopes/web/server) @@ -30,3 +30,12 @@ (defun stop () (clack:stop *listener*)) + +;;;; context = service + +(defclass context (core:context) ()) + +(defun setup (cfg) + (prog1 + (make-instance 'context :config cfg :name (core:name cfg)) + (start cfg)))