rewrite tests to new syntax

This commit is contained in:
Michiel Borkent 2021-03-25 10:54:07 +01:00
parent 29f4452fef
commit f7457e64d2

View file

@ -27,30 +27,25 @@
(bb :sum)))))
(deftest babashka-task-test
(with-config {:tasks {:sum {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}}}
(with-config {:tasks {:sum [:babashka "-e" "(+ 1 2 3)"]}}
(let [res (bb :sum)]
(is (= 6 res)))))
(deftest shell-task-test
(let [temp-dir (fs/create-temp-dir)
temp-file (fs/create-file (fs/path temp-dir "temp-file.txt"))]
(with-config {:tasks {:clean {:task/type :shell
:task/args ["rm" (str temp-file)]}}}
(with-config {:tasks {:clean [:shell "rm" (str temp-file)]}}
(is (fs/exists? temp-file))
(bb :clean)
(is (not (fs/exists? temp-file))))))
(deftest do-task-test
#_(deftest do-task-test
(testing ":and-do"
(let [temp-dir (fs/create-temp-dir)
temp-file (fs/create-file (fs/path temp-dir "temp-file.txt"))]
(with-config {:tasks {:clean {:task/type :shell
:task/args ["rm" (str temp-file)]}
:sum {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:all {:task/type :babashka
:task/args [:do :clean :and-do :sum]}}}
(with-config {:tasks {:clean [:shell "rm" (str temp-file)]
:sum [:babashka "-e" "(+ 1 2 3)"]
:all [:babashka :clean:sum]}}
(is (fs/exists? temp-file))
(let [res (bb :all)]
(is (= 6 res)))
@ -58,75 +53,55 @@
(testing ":and-do shortcut"
(let [temp-dir (fs/create-temp-dir)
temp-file (fs/create-file (fs/path temp-dir "temp-file.txt"))]
(with-config {:tasks {:clean {:task/type :shell
:task/args ["rm" (str temp-file)]}
:sum {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:all {:task/type :babashka
:task/args [:do :clean :and-do :sum]}}}
(with-config {:tasks {:clean [:shell :clean:sum]
:sum [:babashka "-e" "(+ 1 2 3)"]
:all [:babashka :clean:sum]}}
(is (fs/exists? temp-file))
(let [res (bb :clean:sum)]
(is (= 6 res)))
(is (not (fs/exists? temp-file)))))))
(testing ":do always continuing"
(with-config {:tasks {:sum-1 {:task/type :babashka
:task/args ["-e" "(do (+ 4 5 6) nil)"]}
:sum-2 {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:all {:task/type :babashka
:task/args [:do :sum-1 :do :sum-2]}}}
(with-config {:tasks {:sum-1 [:babashka "-e" "(do (+ 4 5 6) nil)"]
:sum-2 [:babashka "-e" "(+ 1 2 3)"]
:all [:babashka :sum-1:sum2]}}
(is (= 6 (bb :all))))
(with-config {:tasks {:div-by-zero {:task/type :babashka
:task/args ["-e" "(/ 1 0)"]}
:sum {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:all {:task/type :babashka
:task/args [:do :div-by-zero :do :sum]}}}
#_(with-config {:tasks {:div-by-zero [:babashka "-e" "(/ 1 0)"]
:sum [:babashka "-e" "(+ 1 2 3)"]
:all[:babashka :div-by-zero:sum] }}
(is (= 6 (bb :all)))))
(testing ":and-do failing"
(with-config {:tasks {:div-by-zero {:task/type :babashka
:task/args ["-e" "(/ 1 0)"]}
:sum {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:all {:task/type :babashka
:task/args [:do :div-by-zero :and-do :sum]}}}
(with-config {:tasks {:div-by-zero [:babashka "-e" "(/ 1 0)"]
:sum [:babashka "-e" "(+ 1 2 3)"]
:all [:babashka :div-by-zero:sum]}}
(is (thrown-with-msg? Exception #"Divide"
(bb :all)))))
(testing ":or-do short-cutting"
(with-config {:tasks {:sum-1 {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:sum-2 {:task/type :babashka
:task/args ["-e" "(+ 4 5 6)"]}
:all {:task/type :babashka
:task/args [:do :sum-1 :or-do :sum-2]}}}
(with-config {:tasks {:sum-1 [:babashka "-e" "(+ 1 2 3)"]
:sum-2 [:babashka "-e" "(+ 4 5 6)"]
:all [:or [:sum1] [:sum2]]}}
(is (= 6 (bb :all)))))
(testing ":or-do succeeding after failing"
(with-config {:tasks {:div-by-zero {:task/type :babashka
:task/args ["-e" "(/ 1 0)"]}
:sum {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}
:all {:task/type :babashka
:task/args [:do :div-by-zero :or-do :sum]}}}
(with-config {:tasks {:div-by-zero [:babashka "-e" "(/ 1 0)"]
:sum [:babashka "-e" "(+ 1 2 3)"]
:all [:babashka [:or [:div-by-zero] [:sum]]]}}
(is (= 6 (bb :all))))))
(deftest prioritize-user-task-test
(is (map? (bb :describe)))
(with-config {:tasks {:describe {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]}}}
(with-config {:tasks {:describe [:babashka "-e" "(+ 1 2 3)"]}}
(is (= 6 (bb :describe)))))
(deftest help-task-test
(with-config {:tasks {:cool-task {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]
:task/help "Usage: bb :cool-task
#_(deftest help-task-test
(with-config {:tasks {:cool-task ^{:task/help "Usage: bb :cool-task
Addition is a pretty advanced topic. Let us start with the identity element
0. ..."}}}
0. ..."}
[:babashka "-e" "(+ 1 2 3)"]}}
(is (str/includes? (apply test-utils/bb nil
(map str [:help :cool-task]))
"Usage: bb :cool-task"))))
(deftest list-tasks-test
#_(deftest list-tasks-test
(with-config {:tasks {:cool-task-1 {:task/type :babashka
:task/args ["-e" "(+ 1 2 3)"]
:task/description "Return the sum of 1, 2 and 3."
@ -149,9 +124,7 @@ Addition is a pretty advanced topic. Let us start with the identity element
(deftest main-task-test
(with-config {:paths ["test-resources/task_scripts"]
:tasks {:main-task {:task/type :main
:main 'tasks ;; this calls tasks/-main
:task/args [1 2 3]}}}
:tasks {:main-task [:main 'tasks 1 2 3]}}
(is (= '("1" "2" "3") (bb :main-task)))
(let [res (apply test-utils/bb nil
(map str [:help :main-task]))]