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]]
|
#?(:clj [orchestra.core :refer [defn-spec]]
|
||||||
:cljs [orchestra.core :refer-macros [defn-spec]])
|
:cljs [orchestra.core :refer-macros [defn-spec]])
|
||||||
[clojure.spec.alpha :as s]
|
[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]))
|
[dda.c4k-common.namespace.namespace-internal :as int]))
|
||||||
|
|
||||||
(s/def ::namespace ::int/namespace)
|
(s/def ::namespace ::int/namespace)
|
||||||
|
@ -17,3 +19,10 @@
|
||||||
(let [final-config (merge default-config
|
(let [final-config (merge default-config
|
||||||
config)]
|
config)]
|
||||||
[(int/generate-namespace final-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
|
(:require
|
||||||
#?(:clj [clojure.test :refer [deftest is are testing run-tests]]
|
#?(:clj [clojure.test :refer [deftest is are testing run-tests]]
|
||||||
:cljs [cljs.test :refer-macros [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]
|
[clojure.spec.test.alpha :as st]
|
||||||
[dda.c4k-common.namespace :as cut]))
|
[dda.c4k-common.namespace :as cut]))
|
||||||
|
|
||||||
(st/instrument `cut/generate)
|
(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
|
(deftest should-generate-simple-ingress
|
||||||
(is (= [{:apiVersion "v1"
|
(is (= [{:apiVersion "v1"
|
||||||
|
@ -15,4 +23,11 @@
|
||||||
(is (= [{:apiVersion "v1"
|
(is (= [{:apiVersion "v1"
|
||||||
:kind "Namespace"
|
:kind "Namespace"
|
||||||
:metadata {:name "myapp"}}]
|
: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