improve testing & fix deps

This commit is contained in:
Michael Jerger 2024-08-30 16:50:18 +02:00
parent e0e59e2620
commit 0d9324017d
10 changed files with 22 additions and 35 deletions

View file

@ -9,9 +9,10 @@
;; --------------------------------------------------------- ;; ---------------------------------------------------------
:deps :deps
{;; Application {;; Application
org.clojure/clojure {:mvn/version "1.11.4"} ;;org.clojure/clojure {:mvn/version "1.11.4"}
org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha" org.clojure/spec.alpha {:mvn/version "0.5.238"}
:git/sha "79e7daaead944583eece42ff5665be208d019861"} ;; org.babashka/spec.alpha {:git/url "https://github.com/babashka/spec.alpha"
;; :git/sha "644a7fc216e43d5da87b07471b0f87d874107d1a"}
orchestra/orchestra {:mvn/version "2021.01.01-1"} orchestra/orchestra {:mvn/version "2021.01.01-1"}
babashka/babashka.curl {:mvn/version "0.1.2"}} babashka/babashka.curl {:mvn/version "0.1.2"}}
;; --------------------------------------------------------- ;; ---------------------------------------------------------
@ -28,7 +29,8 @@
;; call with :watch? true to start file watcher and re-run tests on saved changes ;; call with :watch? true to start file watcher and re-run tests on saved changes
:test/run :test/run
{:extra-paths ["test"] {:extra-paths ["test"]
:extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}} :extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}
expound/expound {:mvn/version "0.9.0"}}
:main-opts ["-m" "kaocha.runner"] :main-opts ["-m" "kaocha.runner"]
:exec-fn kaocha.runner/exec-fn :exec-fn kaocha.runner/exec-fn
:exec-args {:randomize? false :exec-args {:randomize? false

View file

@ -3,6 +3,7 @@
[clojure.spec.alpha :as s])) [clojure.spec.alpha :as s]))
(s/def ::command (s/cat (s/def ::command (s/cat
:opts (s/? map?)
:app string? :app string?
:params (s/* string?))) :params (s/* string?)))
(s/def ::commands (s/coll-of ::command)) (s/def ::commands (s/coll-of ::command))

View file

@ -30,9 +30,11 @@
(s/merge ::pg-config (s/merge ::pg-config
::rd/restic-config)) ::rd/restic-config))
(s/def ::pg-command (s/* string?))
(defn-spec psql-command ::cd/command (defn-spec psql-command ::cd/command
[config ::pg-config [config ::pg-config
command ::cd/command] command ::pg-command]
(let [{:keys [pg-host pg-port pg-db pg-user]} config] (let [{:keys [pg-host pg-port pg-db pg-user]} config]
(into (into
["psql" "-d" pg-db "-h" pg-host "-p" (str pg-port) "-U" pg-user ["psql" "-d" pg-db "-h" pg-host "-p" (str pg-port) "-U" pg-user
@ -41,7 +43,7 @@
(defn-spec pgdumpall-command ::cd/command (defn-spec pgdumpall-command ::cd/command
[config ::pg-role-dump-config [config ::pg-role-dump-config
command ::cd/command] command ::pg-command]
(let [{:keys [pg-host pg-port pg-user pg-role-prefix]} config] (let [{:keys [pg-host pg-port pg-user pg-role-prefix]} config]
(into (into
[] []
@ -54,7 +56,7 @@
(defn-spec pgdump-command ::cd/command (defn-spec pgdump-command ::cd/command
[config ::pg-db-dump-config [config ::pg-db-dump-config
command ::cd/command] command ::pg-command]
(let [{:keys [pg-host pg-port pg-db pg-user]} config] (let [{:keys [pg-host pg-port pg-db pg-user]} config]
(into (into
[] []

View file

@ -1,13 +1,8 @@
(ns dda.backup.backup.domain-test (ns dda.backup.backup.domain-test
(:require (:require
[clojure.test :refer [deftest is are testing run-tests]] [clojure.test :refer [deftest is are testing run-tests]]
[clojure.spec.test.alpha :as st]
[dda.backup.backup.domain :as cut])) [dda.backup.backup.domain :as cut]))
(st/instrument `cut/backup-files-command)
(st/instrument `cut/backup-role-command)
(st/instrument `cut/backup-db-command)
(deftest should-calculate-backup-files-command (deftest should-calculate-backup-files-command
(is (= [[{:dir "dir-to-backup"} (is (= [[{:dir "dir-to-backup"}
"restic" "restic"

View file

@ -6,7 +6,13 @@
(deftest should-verify-command (deftest should-verify-command
(is (= {:app "restic", :params ["-r" "repo/dir" "-v" "init" "--cacert" "ca"]} (is (= {:app "restic", :params ["-r" "repo/dir" "-v" "init" "--cacert" "ca"]}
(s/conform ::cut/command ["restic" "-r" "repo/dir" "-v" "init" "--cacert" "ca"])))) (s/conform ::cut/command ["restic" "-r" "repo/dir" "-v" "init" "--cacert" "ca"])))
(is (= {:app "restic"}
(s/conform ::cut/command ["restic"])))
(is (= {:opts {:dir "dir"} :app "restic", :params ["-r" "repo/dir" "-v" "init" "--cacert" "ca"]}
(s/conform ::cut/command [{:dir "dir"} "restic" "-r" "repo/dir" "-v" "init" "--cacert" "ca"])))
(is (= {:opts {:dir "dir"} :app "restic"}
(s/conform ::cut/command [{:dir "dir"} "restic"]))))
(deftest should-verify-commands (deftest should-verify-commands
(is (= [{:app "ls"} (is (= [{:app "ls"}

View file

@ -1,7 +1,7 @@
(ns dda.backup.monitoring.domain-test (ns dda.backup.monitoring.domain-test
(:require (:require
[clojure.test :refer [deftest is are testing run-tests]] [clojure.test :refer [deftest is are testing run-tests]]
[clojure.spec.test.alpha :as st] [orchestra.spec.test :as st]
[dda.backup.monitoring.domain :as cut])) [dda.backup.monitoring.domain :as cut]))
(deftest should-generate-monitoring-data (deftest should-generate-monitoring-data

View file

@ -1,13 +1,8 @@
(ns dda.backup.postgresql.domain-test (ns dda.backup.postgresql.domain-test
(:require (:require
[clojure.test :refer [deftest is are testing run-tests]] [clojure.test :refer [deftest is are testing run-tests]]
[clojure.spec.test.alpha :as st]
[dda.backup.postgresql.domain :as cut])) [dda.backup.postgresql.domain :as cut]))
(st/instrument `cut/pgpass)
(st/instrument `cut/db-drop-command)
(st/instrument `cut/db-create-command)
(deftest should-calculate-pgpass (deftest should-calculate-pgpass
(is (= "localhost:5432:mydb:user:password\nlocalhost:5432:template1:user:password\n" (is (= "localhost:5432:mydb:user:password\nlocalhost:5432:template1:user:password\n"
(cut/pgpass {:restic-repository "repo" (cut/pgpass {:restic-repository "repo"

View file

@ -1,7 +1,7 @@
(ns dda.backup.restic.domain-test (ns dda.backup.restic.domain-test
(:require (:require
[clojure.test :refer [deftest is are testing run-tests]] [clojure.test :refer [deftest is are testing run-tests]]
[clojure.spec.test.alpha :as st] [orchestra.spec.test :as st]
[dda.backup.restic.domain :as cut])) [dda.backup.restic.domain :as cut]))
(st/instrument `cut/repo-command) (st/instrument `cut/repo-command)

View file

@ -1,12 +1,8 @@
(ns dda.backup.restore.domain-test (ns dda.backup.restore.domain-test
(:require (:require
[clojure.test :refer [deftest is are testing run-tests]] [clojure.test :refer [deftest is are testing run-tests]]
[clojure.spec.test.alpha :as st]
[dda.backup.restore.domain :as cut])) [dda.backup.restore.domain :as cut]))
(st/instrument `cut/restore-dir-command)
(st/instrument `cut/restore-db-command)
(deftest should-calculate-restore-dir (deftest should-calculate-restore-dir
(is (= [["rm" "-rf" "dir-to-backup"] (is (= [["rm" "-rf" "dir-to-backup"]
["restic" ["restic"

View file

@ -10,16 +10,6 @@
;; --------------------------------------------------------- ;; ---------------------------------------------------------
#kaocha/v1 {:plugins [:orchestra #kaocha/v1 {:plugins [:orchestra]
:kaocha.plugin.alpha/info
:profiling
:print-invocations
:hooks
:notifier
:kaocha.plugin/version-filter]
:kaocha/bindings {kaocha.stacktrace/*stacktrace-filters* []
kaocha.stacktrace/*stacktrace-stop-list* []}
:reporter kaocha.report/documentation} :reporter kaocha.report/documentation}