(module test-servlet mzscheme
(require (lib "contract.ss")
(lib "pretty.ss")
(lib "cut.ss" "srfi" "26")
(lib "servlet.ss" "web-server")
(only (lib "manager.ss" "web-server" "managers") manager?)
(lib "lru.ss" "web-server" "managers"))
(require (file "delirium.ss")
(file "all-tests.ss")
(file "test-base.ss"))
(define interface-version 'v2)
(define (start initial-request)
(run-delirium initial-request all-tests))
(define (instance-expiration-handler response)
(fail "Expired instance!"))
(define manager
(let ([memory-threshold (* 32 1024 1024)])
(create-LRU-manager
instance-expiration-handler 5 (* 30 60) (cut >= (current-memory-use) memory-threshold) #:initial-count 12 #:inform-p (lambda args (void)))))
(provide/contract
[interface-version symbol?]
[start (-> request? response?)]
[instance-expiration-handler (-> request? response?)]
[manager manager?])
)