...
1
16
17 package auth_test
18
19 import (
20 "os"
21 "reflect"
22 "testing"
23
24 clientauth "k8s.io/client-go/tools/auth"
25 )
26
27 func TestLoadFromFile(t *testing.T) {
28 loadAuthInfoTests := []struct {
29 authData string
30 authInfo *clientauth.Info
31 expectErr bool
32 }{
33 {
34 `{"user": "user", "password": "pass"}`,
35 &clientauth.Info{User: "user", Password: "pass"},
36 false,
37 },
38 {
39 "", nil, true,
40 },
41 }
42 for _, loadAuthInfoTest := range loadAuthInfoTests {
43 tt := loadAuthInfoTest
44 aifile, err := os.CreateTemp("", "testAuthInfo")
45 if err != nil {
46 t.Errorf("Unexpected error: %v", err)
47 }
48 if tt.authData != "missing" {
49 defer os.Remove(aifile.Name())
50 defer aifile.Close()
51 _, err = aifile.WriteString(tt.authData)
52 if err != nil {
53 t.Errorf("Unexpected error: %v", err)
54 }
55 } else {
56 aifile.Close()
57 os.Remove(aifile.Name())
58 }
59 authInfo, err := clientauth.LoadFromFile(aifile.Name())
60 gotErr := err != nil
61 if gotErr != tt.expectErr {
62 t.Errorf("expected errorness: %v, actual errorness: %v", tt.expectErr, gotErr)
63 }
64 if !reflect.DeepEqual(authInfo, tt.authInfo) {
65 t.Errorf("Expected %v, got %v", tt.authInfo, authInfo)
66 }
67 }
68 }
69
View as plain text