unit tests: Fixes kubeadm enforce requirements test

enforceRequirements will run preflight checks, including whether the user
is privileged is not. Because of this, the test will make different assertions
based on the user's UID. However, we don't have UIDs on Windows, so we're asserting
the wrong thing.

This fix addresses the issue.
This commit is contained in:
Claudiu Belu 2023-01-10 16:56:14 +00:00
parent 2ed47bd81b
commit 3af2c257e8

View File

@ -27,6 +27,7 @@ import (
clientset "k8s.io/client-go/kubernetes"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmapiv1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta3"
"k8s.io/kubernetes/cmd/kubeadm/app/preflight"
"k8s.io/kubernetes/cmd/kubeadm/app/util/output"
testutil "k8s.io/kubernetes/cmd/kubeadm/test"
)
@ -113,7 +114,10 @@ func TestEnforceRequirements(t *testing.T) {
expErr := tt.expectedErr
// pre-flight check expects the user to be root, so the root and non-root should hit different errors
if os.Getuid() != 0 && len(tt.expectedErrNonRoot) != 0 {
isPrivileged := preflight.IsPrivilegedUserCheck{}
// this will return an array of errors if we're not running as a privileged user.
_, errors := isPrivileged.Check()
if len(errors) != 0 && len(tt.expectedErrNonRoot) != 0 {
expErr = tt.expectedErrNonRoot
}
if err != nil && !strings.Contains(err.Error(), expErr) {