@@ -24,13 +24,14 @@ import (
2424
2525func TestRestrictiveSecurityContext (t * testing.T ) {
2626 var uid int64 = 42457
27- sc := RestrictiveSecurityContext (uid )
27+ var gid int64 = 42458
28+ sc := RestrictiveSecurityContext (uid , gid )
2829
2930 if sc .RunAsUser == nil || * sc .RunAsUser != uid {
3031 t .Errorf ("expected RunAsUser %d, got %v" , uid , sc .RunAsUser )
3132 }
32- if sc .RunAsGroup == nil || * sc .RunAsGroup != uid {
33- t .Errorf ("expected RunAsGroup %d, got %v" , uid , sc .RunAsGroup )
33+ if sc .RunAsGroup == nil || * sc .RunAsGroup != gid {
34+ t .Errorf ("expected RunAsGroup %d, got %v" , gid , sc .RunAsGroup )
3435 }
3536 if sc .RunAsNonRoot == nil || ! * sc .RunAsNonRoot {
3637 t .Error ("expected RunAsNonRoot true" )
@@ -44,15 +45,52 @@ func TestRestrictiveSecurityContext(t *testing.T) {
4445 if sc .SeccompProfile == nil || sc .SeccompProfile .Type != corev1 .SeccompProfileTypeRuntimeDefault {
4546 t .Errorf ("expected SeccompProfile RuntimeDefault, got %v" , sc .SeccompProfile )
4647 }
47- if sc .ReadOnlyRootFilesystem == nil || ! * sc .ReadOnlyRootFilesystem {
48- t .Error ("expected ReadOnlyRootFilesystem true" )
48+ if sc .ReadOnlyRootFilesystem != nil {
49+ t .Errorf ("expected ReadOnlyRootFilesystem unset, got %v" , sc .ReadOnlyRootFilesystem )
50+ }
51+ }
52+
53+ func TestRestrictivePodSecurityContext (t * testing.T ) {
54+ var uid int64 = 42425
55+ var gid int64 = 42426
56+ psc := RestrictivePodSecurityContext (uid , gid )
57+
58+ if psc .RunAsUser == nil || * psc .RunAsUser != uid {
59+ t .Errorf ("expected RunAsUser %d, got %v" , uid , psc .RunAsUser )
60+ }
61+ if psc .RunAsGroup == nil || * psc .RunAsGroup != gid {
62+ t .Errorf ("expected RunAsGroup %d, got %v" , gid , psc .RunAsGroup )
63+ }
64+ if psc .RunAsNonRoot == nil || ! * psc .RunAsNonRoot {
65+ t .Error ("expected RunAsNonRoot true" )
66+ }
67+ if psc .FSGroup == nil || * psc .FSGroup != gid {
68+ t .Errorf ("expected FSGroup %d, got %v" , gid , psc .FSGroup )
69+ }
70+ if psc .SeccompProfile == nil || psc .SeccompProfile .Type != corev1 .SeccompProfileTypeRuntimeDefault {
71+ t .Errorf ("expected SeccompProfile RuntimeDefault, got %v" , psc .SeccompProfile )
72+ }
73+ }
74+
75+ func TestRestrictivePodSecurityContextNoSupplementalGroups (t * testing.T ) {
76+ psc := RestrictivePodSecurityContext (42425 , 42425 )
77+ if psc .SupplementalGroups != nil {
78+ t .Errorf ("expected no SupplementalGroups, got %v" , psc .SupplementalGroups )
4979 }
5080}
5181
52- func TestRestrictiveSecurityContextWithGID (t * testing.T ) {
53- var uid int64 = 42415
54- var gid int64 = 42416
55- sc := RestrictiveSecurityContextWithGID (uid , gid )
82+ func TestRestrictivePodSecurityContextWithSupplementalGroups (t * testing.T ) {
83+ psc := RestrictivePodSecurityContext (42425 , 42425 , 48 )
84+
85+ if len (psc .SupplementalGroups ) != 1 || psc .SupplementalGroups [0 ] != 48 {
86+ t .Errorf ("expected SupplementalGroups [48], got %v" , psc .SupplementalGroups )
87+ }
88+ }
89+
90+ func TestPrivilegedSecurityContext (t * testing.T ) {
91+ var uid int64 = 42407
92+ var gid int64 = 42408
93+ sc := PrivilegedSecurityContext (uid , gid )
5694
5795 if sc .RunAsUser == nil || * sc .RunAsUser != uid {
5896 t .Errorf ("expected RunAsUser %d, got %v" , uid , sc .RunAsUser )
@@ -63,20 +101,37 @@ func TestRestrictiveSecurityContextWithGID(t *testing.T) {
63101 if sc .RunAsNonRoot == nil || ! * sc .RunAsNonRoot {
64102 t .Error ("expected RunAsNonRoot true" )
65103 }
66- if sc .AllowPrivilegeEscalation == nil || * sc .AllowPrivilegeEscalation {
67- t .Error ("expected AllowPrivilegeEscalation false" )
104+ if sc .Privileged == nil || ! * sc .Privileged {
105+ t .Error ("expected Privileged true" )
106+ }
107+ if sc .Capabilities != nil {
108+ t .Errorf ("expected no Capabilities set, got %v" , sc .Capabilities )
109+ }
110+ if sc .ReadOnlyRootFilesystem != nil {
111+ t .Errorf ("expected ReadOnlyRootFilesystem unset, got %v" , sc .ReadOnlyRootFilesystem )
112+ }
113+ }
114+
115+ func TestPrivilegedSecurityContextRootUser (t * testing.T ) {
116+ sc := PrivilegedSecurityContext (0 , 42408 )
117+
118+ if sc .RunAsUser == nil || * sc .RunAsUser != 0 {
119+ t .Errorf ("expected RunAsUser 0, got %v" , sc .RunAsUser )
120+ }
121+ if sc .RunAsNonRoot == nil || * sc .RunAsNonRoot {
122+ t .Error ("expected RunAsNonRoot false when uid is 0" )
68123 }
69124}
70125
71126func TestRestrictiveSecurityContextNoAddCaps (t * testing.T ) {
72- sc := RestrictiveSecurityContext (42457 )
127+ sc := RestrictiveSecurityContext (42457 , 42457 )
73128 if sc .Capabilities .Add != nil {
74129 t .Errorf ("expected no Add capabilities, got %v" , sc .Capabilities .Add )
75130 }
76131}
77132
78133func TestRestrictiveSecurityContextWithAddCaps (t * testing.T ) {
79- sc := RestrictiveSecurityContext (42457 , "NET_BIND_SERVICE" , "CHOWN" )
134+ sc := RestrictiveSecurityContext (42457 , 42457 , "NET_BIND_SERVICE" , "CHOWN" )
80135
81136 if len (sc .Capabilities .Drop ) != 1 || sc .Capabilities .Drop [0 ] != "ALL" {
82137 t .Errorf ("expected Drop [ALL], got %v" , sc .Capabilities .Drop )
0 commit comments