@@ -403,6 +403,71 @@ func TestReconcile_BackendResourceLimits(t *testing.T) {
403403 assert .Equal (t , resources .Limits [corev1 .ResourceMemory ], resourcev1 .MustParse ("256Mi" ))
404404}
405405
406+ func TestReconcile_BackendSecurityContext (t * testing.T ) {
407+ logf .SetLogger (argocd .ZapLogger (true ))
408+ s := scheme .Scheme
409+ addKnownTypesToScheme (s )
410+
411+ fakeClient := fake .NewFakeClientWithScheme (s , util .NewClusterVersion ("4.12.1" ), newGitopsService ())
412+ reconciler := newReconcileGitOpsService (fakeClient , s )
413+
414+ _ , err := reconciler .Reconcile (context .TODO (), newRequest ("test" , "test" ))
415+ assertNoError (t , err )
416+
417+ deployment := appsv1.Deployment {}
418+ err = fakeClient .Get (context .TODO (), types.NamespacedName {Name : serviceName , Namespace : serviceNamespace }, & deployment )
419+ assertNoError (t , err )
420+
421+ securityContext := deployment .Spec .Template .Spec .Containers [0 ].SecurityContext
422+ want := & corev1.SecurityContext {
423+ AllowPrivilegeEscalation : util .BoolPtr (false ),
424+ Capabilities : & corev1.Capabilities {
425+ Drop : []corev1.Capability {
426+ "ALL" ,
427+ },
428+ },
429+ RunAsNonRoot : util .BoolPtr (true ),
430+ SeccompProfile : & corev1.SeccompProfile {
431+ Type : corev1 .SeccompProfileTypeRuntimeDefault ,
432+ },
433+ }
434+ assert .DeepEqual (t , securityContext , want )
435+ }
436+
437+ func TestReconcile_KamSecurityContext (t * testing.T ) {
438+ logf .SetLogger (argocd .ZapLogger (true ))
439+ s := scheme .Scheme
440+ addKnownTypesToScheme (s )
441+
442+ util .SetConsoleAPIFound (true )
443+ defer util .SetConsoleAPIFound (false )
444+
445+ fakeClient := fake .NewFakeClientWithScheme (s , util .NewClusterVersion ("4.12.1" ), newGitopsService ())
446+ reconciler := newReconcileGitOpsService (fakeClient , s )
447+
448+ _ , err := reconciler .Reconcile (context .TODO (), newRequest ("test" , "test" ))
449+ assertNoError (t , err )
450+
451+ deployment := appsv1.Deployment {}
452+ err = fakeClient .Get (context .TODO (), types.NamespacedName {Name : cliName , Namespace : serviceNamespace }, & deployment )
453+ assertNoError (t , err )
454+
455+ securityContext := deployment .Spec .Template .Spec .Containers [0 ].SecurityContext
456+ want := & corev1.SecurityContext {
457+ AllowPrivilegeEscalation : util .BoolPtr (false ),
458+ Capabilities : & corev1.Capabilities {
459+ Drop : []corev1.Capability {
460+ "ALL" ,
461+ },
462+ },
463+ RunAsNonRoot : util .BoolPtr (true ),
464+ SeccompProfile : & corev1.SeccompProfile {
465+ Type : corev1 .SeccompProfileTypeRuntimeDefault ,
466+ },
467+ }
468+ assert .DeepEqual (t , securityContext , want )
469+ }
470+
406471func TestReconcile_testArgoCDForOperatorUpgrade (t * testing.T ) {
407472 logf .SetLogger (argocd .ZapLogger (true ))
408473 s := scheme .Scheme
0 commit comments