summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-09-19 12:27:28 +0800
committereltrac <hi@eltr.ac>2026-09-19 12:27:28 +0800
commit20af4c8cd606c696f742ed6aa3ee33b6832a37af (patch)
tree1e200ceacd1a83540cf74f10765c9ad2293965b0
parentef9ca471427b636c1fa42244923a04c548a04d82 (diff)
test: fix processor test failure and server not shutting down when test throws error
-rw-r--r--test/weepinbell/test_utility.clj27
1 files changed, 16 insertions, 11 deletions
diff --git a/test/weepinbell/test_utility.clj b/test/weepinbell/test_utility.clj
index 0e120c9..8a18e7d 100644
--- a/test/weepinbell/test_utility.clj
+++ b/test/weepinbell/test_utility.clj
@@ -4,10 +4,10 @@
[weepinbell.processor :as p]
[taoensso.timbre :refer [merge-config!]]))
-(def mock-callbacks {:on-create (fn [])
- :on-delete (fn [])
- :on-update (fn [])
- :on-receive (fn [])})
+(def mock-callbacks {:on-create (fn [_])
+ :on-delete (fn [_])
+ :on-update (fn [_])
+ :on-receive (fn [_])})
(defmacro with-webmention [existance [source-route source-resp target-route target-resp] & body]
(let [source-url (str "http://localhost:38888" source-route)
@@ -21,14 +21,19 @@
~'storage {:append (fn [~'_] (deliver ~'created true))
:update (fn [~'_ ~'_ ~'_] (deliver ~'updated true))
:delete (fn [~'_ ~'_] (deliver ~'deleted true))
- :get (fn [~'_ ~'_] (= ~existance :old))}
+ :get (fn [~'_ ~'_]
+ (when (= ~existance :old)
+ {:webmention {:id "test-id"
+ :source ~source-url
+ :target ~target-url}}))}
~'server (run-server handler# {:port 38888 :join? false})]
- (p/process-webmention {:s ~source-url :t ~target-url}
- mock-callbacks
- ~'storage
- {})
- ~@body
- (~'server))))
+ (try
+ (p/process-webmention {:s ~source-url :t ~target-url}
+ mock-callbacks
+ ~'storage
+ {})
+ ~@body
+ (finally (~'server))))))
(defn disable-logging []
(merge-config! {:min-level :report}))