dda-backup/test/dda/backup/core/domain_test.clj

57 lines
2.3 KiB
Clojure
Raw Normal View History

2024-08-16 15:36:28 +00:00
(ns dda.backup.core.domain-test
(:require
[clojure.test :refer [deftest is are testing run-tests]]
[clojure.spec.alpha :as s]
[clojure.spec.test.alpha :as st]
[dda.backup.core.domain :as cut]))
(st/instrument `cut/repo-command)
(deftest should-verify-command
(is (= {:app "restic", :params ["-r" "repo/dir" "-v" "init" "--cacert" "ca"]}
(s/conform ::cut/command ["restic" "-r" "repo/dir" "-v" "init" "--cacert" "ca"]))))
(deftest should-verify-commands
(is (= [{:app "ls"}
{:app "restic", :params ["-r" "repo/dir" "-v" "init" "--cacert" "ca"]}]
(s/conform ::cut/commands [["ls"]
["restic" "-r" "repo/dir" "-v" "init" "--cacert" "ca"]]))))
(deftest should-calculate-repo-command
(is (= [[{:dir "dir"}
"restic"
"-r"
"repo/dir"
"-v"
"--cacert"
"ca"
"backup"
"file1"
"file2"]]
(cut/repo-command {:certificate-file "ca"
:directory "dir"
:restic-repository "repo"
:backup-path "dir"
:days-to-keep 39
:months-to-keep 3}
["backup" "file1" "file2"])))
(is (= [["restic" "-r" "repo/dir" "-v" "--cacert" "ca" "snapshots"]]
(cut/repo-command {:certificate-file "ca"
:restic-repository "repo"
:backup-path "dir"
:days-to-keep 39
:months-to-keep 3}
["snapshots"])))
(is (= [["restic" "-r" "repo/dir" "-v" "--password-file" "password" "snapshots"]]
(cut/repo-command {:password-file "password"
:restic-repository "repo"
:backup-path "dir"
:days-to-keep 39
:months-to-keep 3}
["snapshots"])))
(is (= [["restic" "-r" "repo/dir" "-v" "snapshots"]]
(cut/repo-command {:restic-repository "repo"
:backup-path "dir"
:days-to-keep 39
:months-to-keep 3}
["snapshots"]))))