scopes/web: check client: dexador:get from clack server
This commit is contained in:
		
							parent
							
								
									9f1e1cc3ce
								
							
						
					
					
						commit
						cb9b9204b4
					
				
					 5 changed files with 34 additions and 7 deletions
				
			
		|  | @ -6,12 +6,14 @@ | ||||||
|   :version "0.0.1" |   :version "0.0.1" | ||||||
|   :homepage "https://www.cyberconcepts.org" |   :homepage "https://www.cyberconcepts.org" | ||||||
|   :description "Web client and server functionality." |   :description "Web client and server functionality." | ||||||
|   :depends-on (:alexandria :clack :com.inuoe.jzon :lack :log4cl :str |   :depends-on (:alexandria :clack :com.inuoe.jzon :dexador :lack :log4cl :str | ||||||
|                :scopes-core) |                :scopes-core) | ||||||
|   :components ((:file "web/server") |   :components ((:file "web/client") | ||||||
|  |                (:file "web/server") | ||||||
|                (:file "util") |                (:file "util") | ||||||
|                (:file "testing" :depends-on ("util")) |                (:file "testing" :depends-on ("util")) | ||||||
|                (:file "test/test-web" :depends-on ("testing" "web/server"))) |                (:file "test/test-web"  | ||||||
|  |                       :depends-on ("testing" "web/client" "web/server"))) | ||||||
|   :long-description "scopes/web: Web server and web/API/REST client." |   :long-description "scopes/web: Web server and web/API/REST client." | ||||||
|   :in-order-to ((test-op (test-op "scopes-web/test")))) |   :in-order-to ((test-op (test-op "scopes-web/test")))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -7,3 +7,5 @@ | ||||||
| 
 | 
 | ||||||
| (make-instance 'server:config :parent *config* | (make-instance 'server:config :parent *config* | ||||||
|                :port "8899") |                :port "8899") | ||||||
|  | 
 | ||||||
|  | (make-instance 'client:config :parent *config*) | ||||||
|  |  | ||||||
|  | @ -3,6 +3,7 @@ | ||||||
| (defpackage :scopes/test-web | (defpackage :scopes/test-web | ||||||
|   (:use :common-lisp) |   (:use :common-lisp) | ||||||
|   (:local-nicknames (:config :scopes/config) |   (:local-nicknames (:config :scopes/config) | ||||||
|  |                     (:client :scopes/web/client) | ||||||
|                     (:server :scopes/web/server) |                     (:server :scopes/web/server) | ||||||
|                     (:t :scopes/testing)) |                     (:t :scopes/testing)) | ||||||
|   (:export #:run) |   (:export #:run) | ||||||
|  | @ -17,12 +18,22 @@ | ||||||
|         (*config* nil) |         (*config* nil) | ||||||
|         (server:*listener* nil)) |         (server:*listener* nil)) | ||||||
|     (load (t:test-path "config-web" "etc")) |     (load (t:test-path "config-web" "etc")) | ||||||
|     (let ((cfg (car (config:children *config*)))) |     (let ((cfg (cadr (config:children *config*)))) | ||||||
|       (test-server-config cfg) |       (test-server-config cfg) | ||||||
|       (server:start cfg)) |       (server:start cfg)) | ||||||
|     (sleep 1) |     (sleep 0.1) | ||||||
|  |     (let ((cfg (car (config:children *config*)))) | ||||||
|  |       (test-client cfg)) | ||||||
|  |     (sleep 0.1) | ||||||
|     (server:stop) |     (server:stop) | ||||||
|     (t:show-result))) |     (t:show-result))) | ||||||
| 
 | 
 | ||||||
| (t:deftest test-server-config (cfg) | (t:deftest test-server-config (cfg) | ||||||
|   (== (parse-integer (server:port cfg)) 8899)) |   (== (parse-integer (server:port cfg)) 8899)) | ||||||
|  | 
 | ||||||
|  | (t:deftest test-client (cfg) | ||||||
|  |   (== (client:url cfg) "http://localhost:8899") | ||||||
|  |   ;(print (dexador:get "https://github.com"))) | ||||||
|  |   ;(print (dexador:get "http://127.0.0.1:8899"))) | ||||||
|  |   (print (client:url cfg)) | ||||||
|  |   (print (dexador:get (client:url cfg)))) | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								web/client.lisp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								web/client.lisp
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | ;;;; cl-scopes/web/client - web client functionality | ||||||
|  | 
 | ||||||
|  | (defpackage :scopes/web/client | ||||||
|  |   (:use :common-lisp) | ||||||
|  |   (:local-nicknames (:config :scopes/config)) | ||||||
|  |   (:export #:config #:url)) | ||||||
|  | 
 | ||||||
|  | (in-package :scopes/web/client) | ||||||
|  | 
 | ||||||
|  | (defclass config (config:base) | ||||||
|  |   ((url :reader url :initarg :url :initform "http://localhost:8899"))) | ||||||
|  | 
 | ||||||
|  | @ -24,7 +24,7 @@ | ||||||
| 
 | 
 | ||||||
| (defun start (cfg) | (defun start (cfg) | ||||||
|   (setf *listener* |   (setf *listener* | ||||||
|     (clack:clackup #'app |     (clack:clackup #'(lambda (env) (app env)) | ||||||
|                    :port (parse-integer (port cfg)) |                    :port (parse-integer (port cfg)) | ||||||
|                    :address (address cfg)))) |                    :address (address cfg)))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue