diff options
| author | EuAndreh <eu@euandre.org> | 2025-12-05 19:57:57 -0300 |
|---|---|---|
| committer | EuAndreh <eu@euandre.org> | 2025-12-05 19:57:57 -0300 |
| commit | e1b99db2364971d456a62e8ec7567e6b5250d004 (patch) | |
| tree | 8b1b7772cc44d90b97856d5d02481f3649e65908 /test/com/github/ivarref/yoltq/error_poller_test.clj | |
| parent | rm -rf *: setup change to Clojure (diff) | |
| parent | Update for release (diff) | |
| download | fiinha-e1b99db2364971d456a62e8ec7567e6b5250d004.tar.gz fiinha-e1b99db2364971d456a62e8ec7567e6b5250d004.tar.xz | |
Merge remote-tracking branch 'upstream/main', where "upstream" is yoltq.
Diffstat (limited to 'test/com/github/ivarref/yoltq/error_poller_test.clj')
| -rw-r--r-- | test/com/github/ivarref/yoltq/error_poller_test.clj | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/com/github/ivarref/yoltq/error_poller_test.clj b/test/com/github/ivarref/yoltq/error_poller_test.clj new file mode 100644 index 0000000..4d92b81 --- /dev/null +++ b/test/com/github/ivarref/yoltq/error_poller_test.clj @@ -0,0 +1,35 @@ +(ns com.github.ivarref.yoltq.error-poller-test + (:require [clojure.edn :as edn] + [clojure.test :refer [deftest is]] + [clojure.tools.logging :as log] + [com.github.ivarref.yoltq.error-poller :as ep] + [com.github.ivarref.yoltq.log-init :as logconfig])) + + +(deftest error-poller + (logconfig/init-logging! + [[#{"datomic.*" "com.datomic.*" "org.apache.*"} :warn] + [#{"*"} (edn/read-string + (System/getProperty "TAOENSSO_TIMBRE_MIN_LEVEL_EDN" ":info"))]]) + (let [cfg {:system-error-callback-backoff 100} + time (atom 0) + tick! (fn [& [amount]] + (swap! time + (or amount 1))) + verify (fn [state now-ns error-count expected-callback] + (let [{:keys [errors state run-callback] :as res} (ep/handle-error-count state cfg now-ns error-count)] + (log/info errors "=>" state "::" run-callback) + (is (= expected-callback run-callback)) + res))] + (-> {} + (verify (tick!) 0 nil) + (verify (tick!) 1 nil) + (verify (tick!) 1 nil) + (verify (tick!) 1 :error) + (verify (tick! 100) 0 nil) + (verify (tick!) 0 :error) + (verify (tick!) 0 :recovery) + (verify (tick!) 1 nil) + (verify (tick!) 1 nil) + (verify (tick!) 1 :error) + (verify (tick! 100) 1 nil) + (verify (tick!) 1 :error)))) |
