@@ -25,8 +25,8 @@ var _ = Describe("LightrunJavaAgent controller", func() {
25
25
timeout = time .Second * 10
26
26
duration = time .Second * 10
27
27
interval = time .Millisecond * 250
28
- namespace = "default "
29
- initContainerImage = "lightruncom/lightrun-init-agent:0.1 "
28
+ wrongNamespace = "wrong-namespace "
29
+ initContainerImage = "lightruncom/lightrun-init-agent:latest "
30
30
agentPlatform = "linux"
31
31
initVolumeName = "lightrun-agent-init"
32
32
javaEnv = "JAVA_TOOL_OPTIONS"
@@ -44,47 +44,77 @@ var _ = Describe("LightrunJavaAgent controller", func() {
44
44
var patchedDepl appsv1.Deployment
45
45
deplRequest := types.NamespacedName {
46
46
Name : deployment ,
47
- Namespace : namespace ,
47
+ Namespace : testNamespace ,
48
48
}
49
49
50
50
var patchedDepl2 appsv1.Deployment
51
51
deplRequest2 := types.NamespacedName {
52
52
Name : deployment + "-2" ,
53
- Namespace : namespace ,
53
+ Namespace : testNamespace ,
54
+ }
55
+
56
+ var patchedDepl3 appsv1.Deployment
57
+ deplRequest3 := types.NamespacedName {
58
+ Name : deployment + "-3" ,
59
+ Namespace : wrongNamespace ,
54
60
}
55
61
56
62
var cm corev1.ConfigMap
57
63
cmRequest := types.NamespacedName {
58
64
Name : cmNamePrefix + lragent1Name ,
59
- Namespace : namespace ,
65
+ Namespace : testNamespace ,
60
66
}
61
67
62
68
var lrAgent agentsv1beta.LightrunJavaAgent
63
69
lrAgentRequest := types.NamespacedName {
64
70
Name : lragent1Name ,
65
- Namespace : namespace ,
71
+ Namespace : testNamespace ,
66
72
}
67
73
68
74
var lrAgent2 agentsv1beta.LightrunJavaAgent
69
75
lrAgentRequest2 := types.NamespacedName {
70
76
Name : "lragent2" ,
71
- Namespace : namespace ,
77
+ Namespace : testNamespace ,
72
78
}
73
79
74
80
var lrAgent3 agentsv1beta.LightrunJavaAgent
75
81
lrAgentRequest3 := types.NamespacedName {
76
82
Name : "duplicate" ,
77
- Namespace : namespace ,
83
+ Namespace : testNamespace ,
84
+ }
85
+
86
+ var lrAgent4 agentsv1beta.LightrunJavaAgent
87
+ lrAgentRequest4 := types.NamespacedName {
88
+ Name : "wrong-namespace" ,
89
+ Namespace : wrongNamespace ,
78
90
}
79
91
80
92
ctx := context .Background ()
81
93
Context ("When setting up the test environment" , func () {
94
+ It ("Should create a test Namespace" , func () {
95
+ By ("Creating a Namespace" )
96
+ ns := corev1.Namespace {
97
+ ObjectMeta : metav1.ObjectMeta {
98
+ Name : testNamespace ,
99
+ },
100
+ }
101
+ Expect (k8sClient .Create (ctx , & ns )).Should (Succeed ())
102
+ })
103
+ It ("Should create a wrong Namespace" , func () {
104
+ By ("Creating a Namespace" )
105
+ ns := corev1.Namespace {
106
+ ObjectMeta : metav1.ObjectMeta {
107
+ Name : wrongNamespace ,
108
+ },
109
+ }
110
+ Expect (k8sClient .Create (ctx , & ns )).Should (Succeed ())
111
+ })
82
112
It ("Should create LightrunJavaAgent custom resource" , func () {
83
113
By ("Creating a first LightrunJavaAgent resource" )
84
114
lrAgent := agentsv1beta.LightrunJavaAgent {
85
115
ObjectMeta : metav1.ObjectMeta {
86
116
Name : lragent1Name ,
87
- Namespace : namespace ,
117
+ Namespace : testNamespace ,
88
118
},
89
119
Spec : agentsv1beta.LightrunJavaAgentSpec {
90
120
DeploymentName : deployment ,
@@ -109,7 +139,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
109
139
lrAgent2 := agentsv1beta.LightrunJavaAgent {
110
140
ObjectMeta : metav1.ObjectMeta {
111
141
Name : "lragent2" ,
112
- Namespace : namespace ,
142
+ Namespace : testNamespace ,
113
143
},
114
144
Spec : agentsv1beta.LightrunJavaAgentSpec {
115
145
DeploymentName : deployment + "-2" ,
@@ -133,7 +163,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
133
163
secret := corev1.Secret {
134
164
ObjectMeta : metav1.ObjectMeta {
135
165
Name : secret ,
136
- Namespace : namespace ,
166
+ Namespace : testNamespace ,
137
167
},
138
168
StringData : secretData ,
139
169
}
@@ -150,7 +180,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
150
180
TypeMeta : metav1.TypeMeta {APIVersion : appsv1 .SchemeGroupVersion .String (), Kind : "Deployment" },
151
181
ObjectMeta : metav1.ObjectMeta {
152
182
Name : deployment ,
153
- Namespace : namespace ,
183
+ Namespace : testNamespace ,
154
184
},
155
185
Spec : appsv1.DeploymentSpec {
156
186
Selector : & metav1.LabelSelector {
@@ -331,7 +361,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
331
361
lrAgent := agentsv1beta.LightrunJavaAgent {
332
362
ObjectMeta : metav1.ObjectMeta {
333
363
Name : "lragent" ,
334
- Namespace : namespace ,
364
+ Namespace : testNamespace ,
335
365
},
336
366
}
337
367
Expect (k8sClient .Delete (ctx , & lrAgent )).Should (Succeed ())
@@ -435,7 +465,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
435
465
TypeMeta : metav1.TypeMeta {APIVersion : appsv1 .SchemeGroupVersion .String (), Kind : "Deployment" },
436
466
ObjectMeta : metav1.ObjectMeta {
437
467
Name : deployment + "-2" ,
438
- Namespace : namespace ,
468
+ Namespace : testNamespace ,
439
469
},
440
470
Spec : appsv1.DeploymentSpec {
441
471
Selector : & metav1.LabelSelector {
@@ -510,7 +540,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
510
540
depl := appsv1.Deployment {
511
541
ObjectMeta : metav1.ObjectMeta {
512
542
Name : deployment + "-2" ,
513
- Namespace : namespace ,
543
+ Namespace : testNamespace ,
514
544
},
515
545
}
516
546
Expect (k8sClient .Delete (ctx , & depl )).Should (Succeed ())
@@ -534,7 +564,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
534
564
TypeMeta : metav1.TypeMeta {APIVersion : appsv1 .SchemeGroupVersion .String (), Kind : "Deployment" },
535
565
ObjectMeta : metav1.ObjectMeta {
536
566
Name : deployment + "-2" ,
537
- Namespace : namespace ,
567
+ Namespace : testNamespace ,
538
568
},
539
569
Spec : appsv1.DeploymentSpec {
540
570
Selector : & metav1.LabelSelector {
@@ -586,7 +616,7 @@ var _ = Describe("LightrunJavaAgent controller", func() {
586
616
lrAgent3 := agentsv1beta.LightrunJavaAgent {
587
617
ObjectMeta : metav1.ObjectMeta {
588
618
Name : "duplicate" ,
589
- Namespace : namespace ,
619
+ Namespace : testNamespace ,
590
620
},
591
621
Spec : agentsv1beta.LightrunJavaAgentSpec {
592
622
DeploymentName : deployment + "-2" ,
@@ -615,7 +645,6 @@ var _ = Describe("LightrunJavaAgent controller", func() {
615
645
return lrAgent3 .Status .DeploymentStatus == "ReconcileFailed"
616
646
}).Should (BeTrue ())
617
647
})
618
-
619
648
It ("Should not add finalizer to the duplicate CR" , func () {
620
649
Eventually (func () bool {
621
650
if err := k8sClient .Get (ctx , lrAgentRequest3 , & lrAgent3 ); err != nil {
@@ -635,5 +664,93 @@ var _ = Describe("LightrunJavaAgent controller", func() {
635
664
})
636
665
637
666
})
638
-
667
+ Context ("When trying to patch deployment in the wrong namespace " , func () {
668
+ It ("Should create Deployment" , func () {
669
+ By ("Creating deployment" )
670
+ depl := appsv1.Deployment {
671
+ TypeMeta : metav1.TypeMeta {APIVersion : appsv1 .SchemeGroupVersion .String (), Kind : "Deployment" },
672
+ ObjectMeta : metav1.ObjectMeta {
673
+ Name : deployment + "-3" ,
674
+ Namespace : wrongNamespace ,
675
+ },
676
+ Spec : appsv1.DeploymentSpec {
677
+ Selector : & metav1.LabelSelector {
678
+ MatchLabels : map [string ]string {"app" : "app" },
679
+ },
680
+ Template : corev1.PodTemplateSpec {
681
+ ObjectMeta : metav1.ObjectMeta {
682
+ Labels : map [string ]string {"app" : "app" },
683
+ },
684
+ Spec : corev1.PodSpec {
685
+ Containers : []corev1.Container {
686
+ {
687
+ Name : "app" ,
688
+ Image : "busybox" ,
689
+ },
690
+ {
691
+ Name : "app2" ,
692
+ Image : "busybox" ,
693
+ Env : []corev1.EnvVar {
694
+ {
695
+ Name : javaEnv ,
696
+ Value : "-Djava.net.preferIPv4Stack=true" ,
697
+ },
698
+ },
699
+ },
700
+ {
701
+ Name : "no-patch" ,
702
+ Image : "busybox" ,
703
+ },
704
+ },
705
+ },
706
+ },
707
+ },
708
+ }
709
+ Expect (k8sClient .Create (ctx , & depl )).Should (Succeed ())
710
+ })
711
+ It ("Should create CR in the wrong namespace" , func () {
712
+ By ("Creating new CR" )
713
+ lrAgent4 := agentsv1beta.LightrunJavaAgent {
714
+ ObjectMeta : metav1.ObjectMeta {
715
+ Name : "wrong-namespace" ,
716
+ Namespace : wrongNamespace ,
717
+ },
718
+ Spec : agentsv1beta.LightrunJavaAgentSpec {
719
+ DeploymentName : deployment + "-3" ,
720
+ SecretName : secret ,
721
+ ServerHostname : server ,
722
+ AgentName : agentName ,
723
+ AgentTags : agentTags ,
724
+ AgentConfig : agentConfig ,
725
+ AgentEnvVarName : javaEnv ,
726
+ ContainerSelector : containerSelector ,
727
+ InitContainer : agentsv1beta.InitContainer {
728
+ Image : initContainerImage ,
729
+ SharedVolumeName : initVolumeName ,
730
+ SharedVolumeMountPath : "/lightrun" ,
731
+ },
732
+ },
733
+ }
734
+ Expect (k8sClient .Create (ctx , & lrAgent4 )).Should (Succeed ())
735
+ })
736
+ It ("Should not change the CR status" , func () {
737
+ Consistently (func () bool {
738
+ if err := k8sClient .Get (ctx , lrAgentRequest4 , & lrAgent4 ); err != nil {
739
+ return false
740
+ }
741
+ return lrAgent4 .Status .DeploymentStatus == "" && lrAgent4 .Status .Conditions == nil
742
+ }).Should (BeTrue ())
743
+ })
744
+ It ("Should not patch the deployment" , func () {
745
+ Consistently (func () bool {
746
+ if err := k8sClient .Get (ctx , deplRequest3 , & patchedDepl3 ); err != nil {
747
+ return false
748
+ }
749
+ if _ , ok := patchedDepl3 .Annotations ["lightrun.com/lightrunjavaagent" ]; ! ok && len (patchedDepl3 .Finalizers ) == 0 {
750
+ return true
751
+ }
752
+ return false
753
+ }).Should (BeTrue ())
754
+ })
755
+ })
639
756
})
0 commit comments