...
1
16
17 package nodeidentifier
18
19 import (
20 "testing"
21
22 "k8s.io/apiserver/pkg/authentication/user"
23 )
24
25 func TestDefaultNodeIdentifier_NodeIdentity(t *testing.T) {
26 tests := []struct {
27 name string
28 user user.Info
29 expectNodeName string
30 expectIsNode bool
31 }{
32 {
33 name: "nil user",
34 user: nil,
35 expectNodeName: "",
36 expectIsNode: false,
37 },
38 {
39 name: "node username without group",
40 user: &user.DefaultInfo{Name: "system:node:foo"},
41 expectNodeName: "",
42 expectIsNode: false,
43 },
44 {
45 name: "node group without username",
46 user: &user.DefaultInfo{Name: "foo", Groups: []string{"system:nodes"}},
47 expectNodeName: "",
48 expectIsNode: false,
49 },
50 {
51 name: "node group and username",
52 user: &user.DefaultInfo{Name: "system:node:foo", Groups: []string{"system:nodes"}},
53 expectNodeName: "foo",
54 expectIsNode: true,
55 },
56 }
57 for _, tt := range tests {
58 t.Run(tt.name, func(t *testing.T) {
59 nodeName, isNode := NewDefaultNodeIdentifier().NodeIdentity(tt.user)
60 if nodeName != tt.expectNodeName {
61 t.Errorf("DefaultNodeIdentifier.NodeIdentity() got = %v, want %v", nodeName, tt.expectNodeName)
62 }
63 if isNode != tt.expectIsNode {
64 t.Errorf("DefaultNodeIdentifier.NodeIdentity() got = %v, want %v", isNode, tt.expectIsNode)
65 }
66 })
67 }
68 }
69
View as plain text