(ns dda.c4k-taiga.backup-test (:require #?(:clj [clojure.test :refer [deftest is are testing run-tests]] :cljs [cljs.test :refer-macros [deftest is are testing run-tests]]) [clojure.spec.test.alpha :as st] [dda.c4k-taiga.backup :as cut])) (st/instrument `cut/generate-secret) (st/instrument `cut/generate-config) (st/instrument `cut/generate-cron) (deftest should-generate-config (is (= {:apiVersion "v1" :kind "ConfigMap" :metadata {:name "backup-config" :namespace "taiga" :labels {:app.kubernetes.io/name "backup" :app.kubernetes.io/part-of "taiga"}} :data {:restic-repository "s3:restic-repository"}} (cut/generate-config {:restic-repository "s3:restic-repository"})))) (deftest should-generate-secret (is (= {:apiVersion "v1" :kind "Secret" :metadata {:name "backup-secret", :namespace "taiga"} :type "Opaque" :data {:aws-access-key-id "YXdzLWlk", :aws-secret-access-key "YXdzLXNlY3JldA==", :restic-password "cmVzdGljLXB3"}} (cut/generate-secret {:aws-access-key-id "aws-id" :aws-secret-access-key "aws-secret" :restic-password "restic-pw"}))) (is (= {:apiVersion "v1" :kind "Secret" :metadata {:name "backup-secret", :namespace "taiga"} :type "Opaque" :data {:aws-access-key-id "YXdzLWlk", :aws-secret-access-key "YXdzLXNlY3JldA==", :restic-password "cmVzdGljLXB3" :restic-new-password "bmV3LXJlc3RpYy1wdw=="}} (cut/generate-secret {:aws-access-key-id "aws-id" :aws-secret-access-key "aws-secret" :restic-password "restic-pw" :restic-new-password "new-restic-pw"}))))