From 6bb2aff4ea8a0de453c51d5e35e19fa08c3a536a Mon Sep 17 00:00:00 2001 From: Mayank Kumar Date: Mon, 12 Mar 2018 00:36:37 -0700 Subject: [PATCH] add UT for validatePSPRunAsUser --- .../extensions/validation/validation_test.go | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkg/apis/extensions/validation/validation_test.go b/pkg/apis/extensions/validation/validation_test.go index d3a0d0fce1d..0e325d35a6e 100644 --- a/pkg/apis/extensions/validation/validation_test.go +++ b/pkg/apis/extensions/validation/validation_test.go @@ -2813,3 +2813,31 @@ func TestIsValidSysctlPattern(t *testing.T) { } } } + +func Test_validatePSPRunAsUser(t *testing.T) { + var testCases = []struct { + name string + runAsUserStrategy extensions.RunAsUserStrategyOptions + fail bool + }{ + {"Invalid RunAsUserStrategy", extensions.RunAsUserStrategyOptions{Rule: extensions.RunAsUserStrategy("someInvalidStrategy")}, true}, + {"RunAsUserStrategyMustRunAs", extensions.RunAsUserStrategyOptions{Rule: extensions.RunAsUserStrategyMustRunAs}, false}, + {"RunAsUserStrategyMustRunAsNonRoot", extensions.RunAsUserStrategyOptions{Rule: extensions.RunAsUserStrategyMustRunAsNonRoot}, false}, + {"RunAsUserStrategyMustRunAsNonRoot With Valid Range", extensions.RunAsUserStrategyOptions{Rule: extensions.RunAsUserStrategyMustRunAs, Ranges: []extensions.UserIDRange{{Min: 2, Max: 3}, {Min: 4, Max: 5}}}, false}, + {"RunAsUserStrategyMustRunAsNonRoot With Invalid Range", extensions.RunAsUserStrategyOptions{Rule: extensions.RunAsUserStrategyMustRunAs, Ranges: []extensions.UserIDRange{{Min: 2, Max: 3}, {Min: 5, Max: 4}}}, true}, + } + + for _, testCase := range testCases { + t.Run(testCase.name, func(t *testing.T) { + errList := validatePSPRunAsUser(field.NewPath("status"), &testCase.runAsUserStrategy) + actualErrors := len(errList) + expectedErrors := 1 + if !testCase.fail { + expectedErrors = 0 + } + if actualErrors != expectedErrors { + t.Errorf("In testCase %v, expected %v errors, got %v errors", testCase.name, expectedErrors, actualErrors) + } + }) + } +}