26 lines
907 B
Clojure
26 lines
907 B
Clojure
|
(ns cmd-test
|
||
|
(:require
|
||
|
[babashka.process :as p]
|
||
|
[testoperenv.cmd :refer [cmd-ok? run-cmd run-cmd-in-dir]]))
|
||
|
|
||
|
|
||
|
(require '[clojure.test :refer [deftest is testing]])
|
||
|
(deftest test-cmd-ok?
|
||
|
(testing "cmd-ok? returns true when exit code is 0"
|
||
|
(is (cmd-ok? {:exit 0})))
|
||
|
(testing "cmd-ok? returns false when exit code is not 0"
|
||
|
(is (not (cmd-ok? {:exit 1})))))
|
||
|
|
||
|
(deftest test-run-cmd
|
||
|
(testing "run-cmd returns stdout when exit code is 0"
|
||
|
(is (= "foobar" (run-cmd "echo" "-n" "foobar"))))
|
||
|
(testing "run-cmd throws exception when exit code is not 0"
|
||
|
(is (thrown? clojure.lang.ExceptionInfo (run-cmd "false")))))
|
||
|
|
||
|
(deftest test-run-cmd-in-dir
|
||
|
(testing "run-cmd-in-dir changes directory"
|
||
|
(is (= "python" (run-cmd-in-dir "python" "bash" "-c" "basename $(pwd)"))))
|
||
|
(testing "run-cmd-in-dir restores directory"
|
||
|
(is (= "testoperenv" (run-cmd "bash" "-c" "basename $(pwd)")))))
|
||
|
|