aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorIvar Refsdal <ivar.refsdal@nsd.no>2021-09-17 14:25:08 +0200
committerIvar Refsdal <ivar.refsdal@nsd.no>2021-09-17 14:25:08 +0200
commitad8a41bd7d9e6fed77f633a75ef36410b7afbef1 (patch)
tree6ddc2760f1bb6ab3abd88cfef428a161b28da875 /test
parentSave bindings on put (diff)
downloadfiinha-ad8a41bd7d9e6fed77f633a75ef36410b7afbef1.tar.gz
fiinha-ad8a41bd7d9e6fed77f633a75ef36410b7afbef1.tar.xz
Start add bindings ...
Diffstat (limited to 'test')
-rw-r--r--test/com/github/ivarref/yoltq/virtual_test.clj32
1 files changed, 31 insertions, 1 deletions
diff --git a/test/com/github/ivarref/yoltq/virtual_test.clj b/test/com/github/ivarref/yoltq/virtual_test.clj
index 41d2461..575dc1b 100644
--- a/test/com/github/ivarref/yoltq/virtual_test.clj
+++ b/test/com/github/ivarref/yoltq/virtual_test.clj
@@ -8,7 +8,9 @@
[com.github.ivarref.yoltq.utils :as uu]
[clojure.tools.logging :as log]
[com.github.ivarref.yoltq.impl :as i]
- [com.github.ivarref.yoltq :as yq]))
+ [com.github.ivarref.yoltq :as yq]
+ [clojure.pprint :as pprint]
+ [clojure.edn :as edn]))
(use-fixtures :each vq/call-with-virtual-queue!)
@@ -230,3 +232,31 @@
(is (nil? (uu/get-error (assoc-in @dq/*config* [:handlers :q :max-retries] 1) :q)))))
+(deftest consume-expect-test
+ (let [conn (u/empty-conn)
+ seen (atom #{})]
+ (dq/init! {:conn conn})
+ (dq/add-consumer! :q (fn [payload]
+ (when (= #{1 2} (swap! seen conj payload))
+ (throw (ex-info "oops" {})))
+ payload))
+
+ @(d/transact conn [(dq/put :q 1)])
+ @(d/transact conn [(dq/put :q 2)])
+
+ (is (= 1 (vq/consume-expect! :q :done)))
+ (vq/consume-expect! :q :error)))
+
+
+(def ^:dynamic *some-binding* nil)
+
+
+(deftest binding-test
+ (let [conn (u/empty-conn)]
+ (dq/init! {:conn conn
+ :bindings [#'*some-binding*]})
+ (dq/add-consumer! :q (fn [_] *some-binding*))
+ (binding [*some-binding* 1] @(d/transact conn [(dq/put :q nil)]))
+ #_(binding [*some-binding* 2] @(d/transact conn [(dq/put :q nil)]))
+ #_@(d/transact conn [(dq/put :q nil)])
+ (is (= 1 (vq/consume-expect! :q :done)))))