* Update clojure CLI flags in script/test * Throw error when not one of version or path ...with qualified symbol pod-spec * Fix some minor formatting issues * Check for new error message in pod-registry test * Add a test for resolve fn in edn data readers * Add CI config * Try using clojure tools-deps image in CI * Check for new error message in sci pod-registry test * Use latest version of buddy in pod-registry test ...for more platform support * Stop depending on babashka Instead accept an arg for the thing we were getting from it (location of the bb.edn file) * Save maven deps in cache in CI
39 lines
1.8 KiB
Clojure
39 lines
1.8 KiB
Clojure
(ns babashka.pods.sci-test
|
|
(:require [babashka.pods.sci :as pods]
|
|
[babashka.pods.test-common :refer [test-program assertions pod-registry]]
|
|
[clojure.string :as str]
|
|
[clojure.test :refer [deftest is]]
|
|
[sci.core :as sci]))
|
|
|
|
(deftest sci-test
|
|
(let [out (java.io.StringWriter.)
|
|
err (java.io.StringWriter.)
|
|
ctx-ref (volatile! nil)
|
|
ctx (sci/init {:namespaces {'babashka.pods
|
|
{'load-pod (fn [& args]
|
|
(apply pods/load-pod @ctx-ref args))
|
|
'invoke pods/invoke
|
|
'unload-pod pods/unload-pod
|
|
'add-transit-read-handler! pods/add-transit-read-handler!
|
|
'add-transit-write-handler! pods/add-transit-write-handler!
|
|
'set-default-transit-write-handler! pods/set-default-transit-write-handler!}}
|
|
:classes {'System System
|
|
'java.time.LocalDateTime java.time.LocalDateTime
|
|
'java.lang.Class Class}})
|
|
_ (vreset! ctx-ref ctx)
|
|
ret (sci/binding [sci/out out
|
|
sci/err err]
|
|
(sci/eval-string* ctx test-program))]
|
|
(assertions out err ret)))
|
|
|
|
(deftest pod-registry-test
|
|
(let [out (java.io.StringWriter.)
|
|
err (java.io.StringWriter.)
|
|
ex (binding [*out* out
|
|
*err* err]
|
|
(try (load-string
|
|
pod-registry)
|
|
(catch Exception e
|
|
e)))]
|
|
(is (str/includes? (str out) "c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2"))
|
|
(is (str/includes? (pr-str ex) "Version or path must be provided"))))
|