Skip to content

Commit

Permalink
Start cleaning up tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rads authored and borkdude committed Jun 12, 2024
1 parent d36f1c7 commit fb19322
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 38 deletions.
7 changes: 3 additions & 4 deletions test/babashka/bbin/migrate_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@
[babashka.bbin.migrate :as migrate]
[babashka.bbin.scripts :as scripts]
[babashka.bbin.test-util
:refer [bbin-dirs-fixture reset-test-dir test-dir]
:as test-util]
:refer [bbin-dirs-fixture reset-test-dir test-dir]]
[babashka.bbin.util :as util]
[babashka.fs :as fs]
[clojure.edn :as edn]
[clojure.string :as str]
[clojure.test :refer [deftest is testing]])
[clojure.test :refer [deftest is testing use-fixtures]])
(:import (java.time Instant)))

(test-util/use-fixtures :once (bbin-dirs-fixture))
(use-fixtures :once (bbin-dirs-fixture))

(defn- parse-edn-out [s]
(->> (str/split-lines s)
Expand Down
53 changes: 53 additions & 0 deletions test/babashka/bbin/scripts/maven_jar_test.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
(ns babashka.bbin.scripts.maven-jar-test
(:require [babashka.bbin.dirs :as dirs]
[babashka.bbin.scripts :as scripts]
[babashka.bbin.test-util
:refer [bbin-dirs-fixture
bbin-private-keys-fixture
reset-test-dir]]
[babashka.bbin.util :as util]
[babashka.fs :as fs]
[babashka.process :as p]
[clojure.edn :as edn]
[clojure.string :as str]
[clojure.test :refer [deftest is testing use-fixtures]]))

(use-fixtures :once
(bbin-dirs-fixture)
(bbin-private-keys-fixture))

(defn run-install [cli-opts]
(some-> (with-out-str (scripts/install (assoc cli-opts :edn true)))
edn/read-string))

(defn run-ls []
(some-> (with-out-str (scripts/ls {:edn true}))
edn/read-string))

(defn exec-cmd-line [script-name]
(concat (when util/windows? ["cmd" "/c"])
[(str (fs/canonicalize (fs/file (dirs/bin-dir nil) (name script-name)) {:nofollow-links true}))]))

(defn run-bin-script [script-name & script-args]
(let [args (concat (exec-cmd-line script-name) script-args)
{:keys [out]} (p/sh args {:err :inherit})]
(str/trim out)))

(def maven-lib
{:lib 'org.babashka/http-server
:coords {:mvn/version "0.1.11"}})

(deftest install-from-mvn-version-test
(testing "install */* --mvn/version *"
(reset-test-dir)
(dirs/ensure-bbin-dirs {})
(let [cli-opts {:script/lib (str (:lib maven-lib))
:mvn/version (-> maven-lib :coords :mvn/version)}
out (run-install cli-opts)]
(is (= maven-lib out))
(is (fs/exists? (fs/file (dirs/bin-dir nil) (name (:lib maven-lib)))))
(is (str/starts-with? (run-bin-script (:lib maven-lib) "--help")
"Serves static assets using web server."))
(is (= '{http-server {:lib org.babashka/http-server
:coords {:mvn/version "0.1.11"}}}
(run-ls))))))
26 changes: 3 additions & 23 deletions test/babashka/bbin/scripts_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,16 @@
:refer [bbin-dirs-fixture
bbin-private-keys-fixture
reset-test-dir
test-dir]
:as test-util]
test-dir]]
[babashka.bbin.util :as util]
[babashka.fs :as fs]
[babashka.process :refer [sh]]
[clojure.edn :as edn]
[clojure.string :as str]
[clojure.test :refer [deftest is testing]])
[clojure.test :refer [deftest is testing use-fixtures]])
(:import (clojure.lang ExceptionInfo)))

(test-util/use-fixtures :once
(use-fixtures :once
(bbin-dirs-fixture)
(bbin-private-keys-fixture))

Expand Down Expand Up @@ -135,25 +134,6 @@
(is (fs/exists? bin-file))
(is (= "Hello world!" (run-bin-script 'hello))))))

(def maven-lib
{:lib 'org.babashka/http-server
:coords {:mvn/version "0.1.11"}})

(deftest install-from-mvn-version-test
(testing "install */* --mvn/version *"
(reset-test-dir)
(dirs/ensure-bbin-dirs {})
(let [cli-opts {:script/lib (str (:lib maven-lib))
:mvn/version (-> maven-lib :coords :mvn/version)}
out (run-install cli-opts)]
(is (= maven-lib out))
(is (fs/exists? (fs/file (dirs/bin-dir nil) (name (:lib maven-lib)))))
(is (str/starts-with? (run-bin-script (:lib maven-lib) "--help")
"Serves static assets using web server."))
(is (= '{http-server {:lib org.babashka/http-server
:coords {:mvn/version "0.1.11"}}}
(run-ls))))))

(deftest install-from-lib-local-root-dir-test
(testing "install */* --local/root *"
(reset-test-dir)
Expand Down
12 changes: 1 addition & 11 deletions test/babashka/bbin/test_util.clj
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
[babashka.bbin.dirs :as dirs]
[babashka.fs :as fs]
[clojure.edn :as edn]
[clojure.string :as str]
[clojure.test :as test]))
[clojure.string :as str]))

(defmethod clojure.test/report :begin-test-var [m]
(println "===" (-> m :var meta :name))
Expand Down Expand Up @@ -50,12 +49,3 @@
(if (#{:edn} (:out opts))
(edn/read-string out)
out)))

(defn use-fixtures
"A wrapper for `use-fixtures` to fix an issue with Kaocha."
[type & fixtures]
(let [k (case type
:once ::test/once-fixtures
:each ::test/each-fixtures)]
(apply test/use-fixtures type fixtures)
(alter-meta! *ns* assoc k fixtures)))

0 comments on commit fb19322

Please sign in to comment.