77
88. "github.com/onsi/ginkgo/v2"
99. "github.com/onsi/gomega"
10+ "gopkg.in/yaml.v2"
1011
1112corev1 "k8s.io/api/core/v1"
1213metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -16,7 +17,7 @@ import (
1617)
1718
1819var _ = Describe ("Collect" , func () {
19- It ("loadConfiguration loads configuration from ConfigMap" , func () {
20+ It ("loadConfiguration loads configuration from ConfigMap (YAML) " , func () {
2021sinceSecond := int64 (600 )
2122collectorConfig := & utils.Configuration {
2223Logs : []utils.Log {
@@ -28,7 +29,7 @@ var _ = Describe("Collect", func() {
2829},
2930}
3031
31- jsonBytes , err := json .Marshal (collectorConfig )
32+ jsonBytes , err := yaml .Marshal (collectorConfig )
3233Expect (err ).To (BeNil ())
3334
3435configMap := & corev1.ConfigMap {
@@ -54,4 +55,44 @@ var _ = Describe("Collect", func() {
5455Expect (err ).To (BeNil ())
5556Expect (collectorConfig ).ToNot (BeNil ())
5657})
58+
59+ It ("loadConfiguration loads configuration from ConfigMap (JSON)" , func () {
60+ sinceSecond := int64 (600 )
61+ collectorConfig := & utils.Configuration {
62+ Logs : []utils.Log {
63+ {Namespace : "kube-system" , SinceSeconds : & sinceSecond },
64+ },
65+ Resources : []utils.Resource {
66+ {Group : "" , Version : "v1" , Kind : "Service" },
67+ {Group : "" , Version : "v1" , Kind : "Pod" },
68+ {Group : "apps" , Version : "v1" , Kind : "Deployment" },
69+ },
70+ }
71+
72+ jsonBytes , err := json .Marshal (collectorConfig )
73+ Expect (err ).To (BeNil ())
74+
75+ configMap := & corev1.ConfigMap {
76+ ObjectMeta : metav1.ObjectMeta {
77+ Namespace : "default" ,
78+ Name : "bar" ,
79+ },
80+ Data : map [string ]string {
81+ "config" : string (jsonBytes ),
82+ },
83+ }
84+
85+ collector , err := utils .GetCollectorInstance (scheme , env .Config , "" , configMap .Name )
86+ Expect (err ).To (BeNil ())
87+ Expect (k8sClient .Create (context .TODO (), configMap )).To (Succeed ())
88+
89+ waitForObject (context .TODO (), k8sClient , configMap )
90+
91+ os .Setenv ("COLLECTOR_NAMESPACE" , configMap .Namespace )
92+ config := textlogger .NewConfig (textlogger .Verbosity (1 ))
93+ logger := textlogger .NewLogger (config )
94+ collectorConfig , err = utils .LoadConfiguration (collector , context .TODO (), logger )
95+ Expect (err ).To (BeNil ())
96+ Expect (collectorConfig ).ToNot (BeNil ())
97+ })
5798})
0 commit comments