From 3af2c257e81f14a8d69b7116bdad392c4b38b178 Mon Sep 17 00:00:00 2001 From: Claudiu Belu Date: Tue, 10 Jan 2023 16:56:14 +0000 Subject: [PATCH] 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. --- cmd/kubeadm/app/cmd/upgrade/common_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/kubeadm/app/cmd/upgrade/common_test.go b/cmd/kubeadm/app/cmd/upgrade/common_test.go index 004b7f80c28..481b724714e 100644 --- a/cmd/kubeadm/app/cmd/upgrade/common_test.go +++ b/cmd/kubeadm/app/cmd/upgrade/common_test.go @@ -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) {