@@ -32,95 +32,106 @@ func TestHandleGetAction(t *testing.T) {
32
32
idr := NewInitDryRunGetter (masterName , serviceSubnet )
33
33
34
34
var tests = []struct {
35
+ name string
35
36
action core.GetActionImpl
36
37
expectedHandled bool
37
38
expectedObjectJSON []byte
38
39
expectedErr bool
39
40
}{
40
41
{
42
+ name : "get default services" ,
41
43
action : core .NewGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "services" }, "default" , "kubernetes" ),
42
44
expectedHandled : true ,
43
45
expectedObjectJSON : []byte (`{"metadata":{"name":"kubernetes","namespace":"default","creationTimestamp":null,"labels":{"component":"apiserver","provider":"kubernetes"}},"spec":{"ports":[{"name":"https","port":443,"targetPort":6443}],"clusterIP":"10.96.0.1"},"status":{"loadBalancer":{}}}` ),
44
46
expectedErr : false ,
45
47
},
46
48
{
49
+ name : "get nodes" ,
47
50
action : core .NewRootGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "nodes" }, masterName ),
48
51
expectedHandled : true ,
49
52
expectedObjectJSON : []byte (`{"metadata":{"name":"master-foo","creationTimestamp":null,"labels":{"kubernetes.io/hostname":"master-foo"}},"spec":{},"status":{"daemonEndpoints":{"kubeletEndpoint":{"Port":0}},"nodeInfo":{"machineID":"","systemUUID":"","bootID":"","kernelVersion":"","osImage":"","containerRuntimeVersion":"","kubeletVersion":"","kubeProxyVersion":"","operatingSystem":"","architecture":""}}}` ),
50
53
expectedErr : false ,
51
54
},
52
55
{
56
+ name : "get clusterrolebinings" ,
53
57
action : core .NewRootGetAction (schema.GroupVersionResource {Group : rbac .GroupName , Version : rbac .SchemeGroupVersion .Version , Resource : "clusterrolebindings" }, "system:node" ),
54
58
expectedHandled : true ,
55
59
expectedObjectJSON : []byte (`` ),
56
60
expectedErr : true , // we expect a NotFound error here
57
61
},
58
62
{
63
+ name : "get kube-system secret bootstrap-token-abcdef" ,
59
64
action : core .NewGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "secrets" }, "kube-system" , "bootstrap-token-abcdef" ),
60
65
expectedHandled : true ,
61
66
expectedObjectJSON : []byte (`` ),
62
67
expectedErr : true , // we expect a NotFound error here
63
68
},
64
69
{ // an ask for a kubernetes service in the _kube-system_ ns should not be answered
70
+ name : "get kube-system services" ,
65
71
action : core .NewGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "services" }, "kube-system" , "kubernetes" ),
66
72
expectedHandled : false ,
67
73
expectedObjectJSON : []byte (`` ),
68
74
expectedErr : false ,
69
75
},
70
76
{ // an ask for an other service than kubernetes should not be answered
77
+ name : "get default my-other-service" ,
71
78
action : core .NewGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "services" }, "default" , "my-other-service" ),
72
79
expectedHandled : false ,
73
80
expectedObjectJSON : []byte (`` ),
74
81
expectedErr : false ,
75
82
},
76
83
{ // an ask for an other node than the master should not be answered
84
+ name : "get other-node" ,
77
85
action : core .NewRootGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "nodes" }, "other-node" ),
78
86
expectedHandled : false ,
79
87
expectedObjectJSON : []byte (`` ),
80
88
expectedErr : false ,
81
89
},
82
90
{ // an ask for a secret in any other ns than kube-system should not be answered
91
+ name : "get default secret bootstrap-token-abcdef" ,
83
92
action : core .NewGetAction (schema.GroupVersionResource {Version : "v1" , Resource : "secrets" }, "default" , "bootstrap-token-abcdef" ),
84
93
expectedHandled : false ,
85
94
expectedObjectJSON : []byte (`` ),
86
95
expectedErr : false ,
87
96
},
88
97
}
89
98
for _ , rt := range tests {
90
- handled , obj , actualErr := idr .HandleGetAction (rt .action )
91
- objBytes := []byte (`` )
92
- if obj != nil {
93
- var err error
94
- objBytes , err = json .Marshal (obj )
95
- if err != nil {
96
- t .Fatalf ("couldn't marshal returned object" )
99
+ t .Run (rt .name , func (t * testing.T ) {
100
+ handled , obj , actualErr := idr .HandleGetAction (rt .action )
101
+ objBytes := []byte (`` )
102
+ if obj != nil {
103
+ var err error
104
+ objBytes , err = json .Marshal (obj )
105
+ if err != nil {
106
+ t .Fatalf ("couldn't marshal returned object" )
107
+ }
97
108
}
98
- }
99
109
100
- if handled != rt .expectedHandled {
101
- t .Errorf (
102
- "failed HandleGetAction:\n \t expected handled: %t\n \t actual: %t %v" ,
103
- rt .expectedHandled ,
104
- handled ,
105
- rt .action ,
106
- )
107
- }
110
+ if handled != rt .expectedHandled {
111
+ t .Errorf (
112
+ "failed HandleGetAction:\n \t expected handled: %t\n \t actual: %t %v" ,
113
+ rt .expectedHandled ,
114
+ handled ,
115
+ rt .action ,
116
+ )
117
+ }
108
118
109
- if ! bytes .Equal (objBytes , rt .expectedObjectJSON ) {
110
- t .Errorf (
111
- "failed HandleGetAction:\n \t expected object: %q\n \t actual: %q" ,
112
- rt .expectedObjectJSON ,
113
- objBytes ,
114
- )
115
- }
119
+ if ! bytes .Equal (objBytes , rt .expectedObjectJSON ) {
120
+ t .Errorf (
121
+ "failed HandleGetAction:\n \t expected object: %q\n \t actual: %q" ,
122
+ rt .expectedObjectJSON ,
123
+ objBytes ,
124
+ )
125
+ }
116
126
117
- if (actualErr != nil ) != rt .expectedErr {
118
- t .Errorf (
119
- "failed HandleGetAction:\n \t expected error: %t\n \t actual: %t %v" ,
120
- rt .expectedErr ,
121
- (actualErr != nil ),
122
- rt .action ,
123
- )
124
- }
127
+ if (actualErr != nil ) != rt .expectedErr {
128
+ t .Errorf (
129
+ "failed HandleGetAction:\n \t expected error: %t\n \t actual: %t %v" ,
130
+ rt .expectedErr ,
131
+ (actualErr != nil ),
132
+ rt .action ,
133
+ )
134
+ }
135
+ })
125
136
}
126
137
}
0 commit comments