add load-and-adjust-ns-helper
This commit is contained in:
parent
991cf57c4f
commit
f99a0dd747
3 changed files with 30 additions and 1 deletions
src
main/cljc/dda/c4k_common
test
|
@ -3,6 +3,8 @@
|
|||
#?(:clj [orchestra.core :refer [defn-spec]]
|
||||
:cljs [orchestra.core :refer-macros [defn-spec]])
|
||||
[clojure.spec.alpha :as s]
|
||||
[dda.c4k-common.predicate :as cp]
|
||||
[dda.c4k-common.yaml :as yaml]
|
||||
[dda.c4k-common.namespace.namespace-internal :as int]))
|
||||
|
||||
(s/def ::namespace ::int/namespace)
|
||||
|
@ -17,3 +19,10 @@
|
|||
(let [final-config (merge default-config
|
||||
config)]
|
||||
[(int/generate-namespace final-config)]))
|
||||
|
||||
(defn-spec load-and-adjust-namespace cp/map-or-seq?
|
||||
[file string?
|
||||
namespace ::namespace]
|
||||
(->
|
||||
(yaml/load-as-edn file)
|
||||
(assoc-in [:metadata :namespace] namespace)))
|
||||
|
|
|
@ -2,10 +2,18 @@
|
|||
(:require
|
||||
#?(:clj [clojure.test :refer [deftest is are testing run-tests]]
|
||||
:cljs [cljs.test :refer-macros [deftest is are testing run-tests]])
|
||||
#?(:cljs [shadow.resource :as rc])
|
||||
[clojure.spec.test.alpha :as st]
|
||||
[dda.c4k-common.namespace :as cut]))
|
||||
|
||||
(st/instrument `cut/generate)
|
||||
(st/instrument `cut/load-and-adjust-namespace)
|
||||
|
||||
#?(:cljs
|
||||
(defmethod yaml/load-resource :namespace-test [resource-name]
|
||||
(case resource-name
|
||||
"namespace-test/dummy.yaml" (rc/inline "namespace-test/dummy.yaml")
|
||||
(throw (js/Error. (str "Undefined Resource: " resource-name))))))
|
||||
|
||||
(deftest should-generate-simple-ingress
|
||||
(is (= [{:apiVersion "v1"
|
||||
|
@ -15,4 +23,11 @@
|
|||
(is (= [{:apiVersion "v1"
|
||||
:kind "Namespace"
|
||||
:metadata {:name "myapp"}}]
|
||||
(cut/generate {:namespace "myapp"}))))
|
||||
(cut/generate {:namespace "myapp"}))))
|
||||
|
||||
(deftest should-load-and-replace-ns
|
||||
(is (= {:apiVersion "v1"
|
||||
:kind "Dummy"
|
||||
:metadata {:name "dummy"
|
||||
:namespace "xy"}}
|
||||
(cut/load-and-adjust-namespace "namespace-test/dummy.yaml" "xy"))))
|
5
src/test/resources/namespace-test/dummy.yaml
Normal file
5
src/test/resources/namespace-test/dummy.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
apiVersion: v1
|
||||
kind: Dummy
|
||||
metadata:
|
||||
name: dummy
|
||||
namespace: default
|
Loading…
Reference in a new issue