File tree Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Expand file tree Collapse file tree 1 file changed +17
-2
lines changed Original file line number Diff line number Diff line change 1
1
(ns test-server
2
2
(:require [babashka.cli :as cli]
3
3
[babashka.http-server :as server]
4
+ [babashka.http-client :as client]
4
5
[lread.status-line :as status]))
5
6
6
7
(def cli-spec {:help {:desc " This usage help" :alias :h }
31
32
(if (:help opts)
32
33
(usage-help )
33
34
(do
34
- (status/line :detail " Static dir: %s" (:dir opts))
35
- (server/exec opts)))))
35
+ (status/line :detail " Test server static dir: %s" (:dir opts))
36
+ (let [server (future (server/exec opts))
37
+ deadline (+ (System/currentTimeMillis ) 15000 )
38
+ test-url (str " http://localhost:" (:port opts)) ]
39
+ (loop []
40
+ (let [resp (try (client/get test-url)
41
+ (catch Throwable _ :not-ready ))]
42
+ (when (= :not-ready resp)
43
+ (if (< (System/currentTimeMillis ) deadline)
44
+ (do
45
+ (println " - waiting for test-server to be ready" test-url)
46
+ (Thread/sleep 1000 )
47
+ (recur ))
48
+ (throw (ex-info " Timed out waiting for ready test server" {}))))))
49
+ (println " Test server ready" )
50
+ @server)))))
You can’t perform that action at this time.
0 commit comments