racket/collects/tests/web-server/pr/galler2.rkt
2012-04-24 14:49:33 -06:00

39 lines
1.1 KiB
Racket

#lang racket
(require net/url
web-server/http
web-server/http/request
web-server/servlet-env
rackunit)
(define (start req)
(error "Bad"))
(define-values (pipe-read-p pipe-write-p)
(make-pipe))
(define server-t
(thread
(λ ()
(parameterize ([current-output-port pipe-write-p])
(serve/servlet start
#:launch-browser? #f
#:quit? #f
#:listen-ip #f
#:port 0
#:servlet-responder
(λ (url exn)
(response/xexpr
"Good!"))
#:servlet-path "/")))))
;; Wait for server to start
(define port-embedded-line (read-line pipe-read-p))
(match-define (regexp #rx"Your Web application is running at http://localhost:([0-9]+)\\."
(list _ port-string))
port-embedded-line)
(define port (string->number port-string))
(void (read-line pipe-read-p))
(check-equal? "Good!"
(port->string (get-pure-port (string->url (format "http://localhost:~a/" port)))))