Storage sizes can now be configured. Due to limitations of yaml/load-as-edn volumes.yaml was split into datavolume.yaml and rootvolume.yaml. This way, we are able to follow volume size recommendations described in jira. Valid config was updated. Tests were updated.
79 lines
No EOL
4.2 KiB
Clojure
79 lines
No EOL
4.2 KiB
Clojure
(ns dda.c4k-gitea.gitea-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-common.common-test :as ct]
|
|
[dda.c4k-common.base64 :as b64]
|
|
[dda.c4k-gitea.gitea :as cut]))
|
|
|
|
(st/instrument `cut/generate-appini-env)
|
|
(st/instrument `cut/generate-ingress)
|
|
(st/instrument `cut/generate-secrets)
|
|
|
|
(deftest should-generate-appini-env
|
|
(is (= {:APP_NAME-c1 "",
|
|
:APP_NAME-c2 "test gitea",
|
|
:GITEA__mailer__FROM-c1 "",
|
|
:GITEA__mailer__FROM-c2 "test@test.com",
|
|
:GITEA__mailer__HOST-c1 "m.t.de:123",
|
|
:GITEA__mailer__HOST-c2 "mail.test.com:123",
|
|
:GITEA__server__DOMAIN-c1 "test.de",
|
|
:GITEA__server__DOMAIN-c2 "test.com",
|
|
:GITEA__server__ROOT_URL-c1 "https://test.de",
|
|
:GITEA__server__ROOT_URL-c2 "https://test.com",
|
|
:GITEA__server__SSH_DOMAIN-c1 "test.de",
|
|
:GITEA__server__SSH_DOMAIN-c2 "test.com",
|
|
:GITEA__service__EMAIL_DOMAIN_WHITELIST-c1 "adb.de",
|
|
:GITEA__service__EMAIL_DOMAIN_WHITELIST-c2 "test.com,test.net",
|
|
:GITEA__service__NO_REPLY_ADDRESS-c1 "",
|
|
:GITEA__service__NO_REPLY_ADDRESS-c2 "noreply@test.com"}
|
|
(ct/map-diff (cut/generate-appini-env {:default-app-name ""
|
|
:fqdn "test.de"
|
|
:mailer-from ""
|
|
:mailer-host-port "m.t.de:123"
|
|
:service-domain-whitelist "adb.de"
|
|
:service-noreply-address ""
|
|
})
|
|
(cut/generate-appini-env {:default-app-name "test gitea"
|
|
:fqdn "test.com"
|
|
:mailer-from "test@test.com"
|
|
:mailer-host-port "mail.test.com:123"
|
|
:service-domain-whitelist "test.com,test.net"
|
|
:service-noreply-address "noreply@test.com"
|
|
})))))
|
|
|
|
(deftest should-generate-certificate
|
|
(is (= {:name-c2 "prod", :name-c1 "staging"}
|
|
(ct/map-diff (cut/generate-certificate {})
|
|
(cut/generate-certificate {:issuer "prod"})))))
|
|
|
|
(deftest should-generate-secret
|
|
(is (= {:GITEA__database__USER-c1 "",
|
|
:GITEA__database__USER-c2 (b64/encode "pg-user"),
|
|
:GITEA__database__PASSWD-c1 "",
|
|
:GITEA__database__PASSWD-c2 (b64/encode "pg-pw"),
|
|
:GITEA__mailer__USER-c1 "",
|
|
:GITEA__mailer__USER-c2 (b64/encode "maileruser"),
|
|
:GITEA__mailer__PASSWD-c1 "",
|
|
:GITEA__mailer__PASSWD-c2 (b64/encode "mailerpw")}
|
|
(ct/map-diff (cut/generate-secrets {:postgres-db-user ""
|
|
:postgres-db-password ""
|
|
:mailer-user ""
|
|
:mailer-pw ""})
|
|
(cut/generate-secrets {:postgres-db-user "pg-user"
|
|
:postgres-db-password "pg-pw"
|
|
:mailer-user "maileruser"
|
|
:mailer-pw "mailerpw"})))))
|
|
|
|
(deftest should-generate-root-volume
|
|
(is (= {:storage-c1 "5Gi",
|
|
:storage-c2 "20Gi"}
|
|
(ct/map-diff (cut/generate-root-volume {:volume-total-storage-size 6})
|
|
(cut/generate-root-volume {:volume-total-storage-size 101})))))
|
|
|
|
(deftest should-generate-data-volume
|
|
(is (= {:storage-c1 "1Gi",
|
|
:storage-c2 "15Gi"}
|
|
(ct/map-diff (cut/generate-data-volume {:volume-total-storage-size 6})
|
|
(cut/generate-data-volume {:volume-total-storage-size 20}))))) |