Try to avoid getting a second username prompt in a test in e2e_test.go
This commit is contained in:
parent
2715741c2c
commit
bedf4e5a39
@ -659,8 +659,13 @@ func TestE2EFullIntegration_Browser(t *testing.T) { // nolint:gocyclo
|
|||||||
"--oidc-session-cache", sessionCachePath,
|
"--oidc-session-cache", sessionCachePath,
|
||||||
})
|
})
|
||||||
|
|
||||||
// Run "kubectl get namespaces" which should trigger a browser-less CLI prompt login via the plugin.
|
// Run "kubectl get --raw /healthz" which should trigger a browser-less CLI prompt login via the plugin.
|
||||||
kubectlCmd := exec.CommandContext(testCtx, "kubectl", "get", "namespace", "--kubeconfig", kubeconfigPath)
|
// Avoid using something like "kubectl get namespaces" for this test because we expect the auth to fail,
|
||||||
|
// and kubectl might call the credential exec plugin a second time to try to auth again if it needs to do API
|
||||||
|
// discovery, in which case this test would hang until the kubectl subprocess is killed because the process
|
||||||
|
// would be stuck waiting for input on the second username prompt. "kubectl get --raw /healthz" doesn't need
|
||||||
|
// to do API discovery, so we know it will only call the credential exec plugin once.
|
||||||
|
kubectlCmd := exec.CommandContext(testCtx, "kubectl", "get", "--raw", "/healthz", "--kubeconfig", kubeconfigPath)
|
||||||
kubectlCmd.Env = append(os.Environ(), env.ProxyEnv()...)
|
kubectlCmd.Env = append(os.Environ(), env.ProxyEnv()...)
|
||||||
ptyFile, err := pty.Start(kubectlCmd)
|
ptyFile, err := pty.Start(kubectlCmd)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user