@@ -32,6 +32,7 @@ import (
32
32
// Using v4 to match upstream
33
33
jsonpatch "gopkg.in/evanphx/json-patch.v4"
34
34
appsv1 "k8s.io/api/apps/v1"
35
+ authenticationv1 "k8s.io/api/authentication/v1"
35
36
autoscalingv1 "k8s.io/api/autoscaling/v1"
36
37
corev1 "k8s.io/api/core/v1"
37
38
policyv1 "k8s.io/api/policy/v1"
@@ -1128,7 +1129,7 @@ func (sw *fakeSubResourceClient) Get(ctx context.Context, obj, subResource clien
1128
1129
}
1129
1130
scale , isScale := subResource .(* autoscalingv1.Scale )
1130
1131
if ! isScale {
1131
- return apierrors .NewBadRequest (fmt .Sprintf ("expected Scale, got %t " , subResource ))
1132
+ return apierrors .NewBadRequest (fmt .Sprintf ("expected Scale, got %T " , subResource ))
1132
1133
}
1133
1134
scaleOut , err := extractScale (obj )
1134
1135
if err != nil {
@@ -1149,13 +1150,26 @@ func (sw *fakeSubResourceClient) Create(ctx context.Context, obj client.Object,
1149
1150
_ , isEviction = subResource .(* policyv1.Eviction )
1150
1151
}
1151
1152
if ! isEviction {
1152
- return apierrors .NewBadRequest (fmt .Sprintf ("got invalid type %t , expected Eviction" , subResource ))
1153
+ return apierrors .NewBadRequest (fmt .Sprintf ("got invalid type %T , expected Eviction" , subResource ))
1153
1154
}
1154
1155
if _ , isPod := obj .(* corev1.Pod ); ! isPod {
1155
1156
return apierrors .NewNotFound (schema.GroupResource {}, "" )
1156
1157
}
1157
1158
1158
1159
return sw .client .Delete (ctx , obj )
1160
+ case "token" :
1161
+ tokenRequest , isTokenRequest := subResource .(* authenticationv1.TokenRequest )
1162
+ if ! isTokenRequest {
1163
+ return apierrors .NewBadRequest (fmt .Sprintf ("got invalid type %T, expected TokenRequest" , subResource ))
1164
+ }
1165
+ if _ , isServiceAccount := obj .(* corev1.ServiceAccount ); ! isServiceAccount {
1166
+ return apierrors .NewNotFound (schema.GroupResource {}, "" )
1167
+ }
1168
+
1169
+ tokenRequest .Status .Token = "fake-token"
1170
+ tokenRequest .Status .ExpirationTimestamp = metav1 .Date (6041 , 1 , 1 , 0 , 0 , 0 , 0 , time .UTC )
1171
+
1172
+ return sw .client .Get (ctx , client .ObjectKeyFromObject (obj ), obj )
1159
1173
default :
1160
1174
return fmt .Errorf ("fakeSubResourceWriter does not support create for %s" , sw .subResource )
1161
1175
}
@@ -1176,7 +1190,7 @@ func (sw *fakeSubResourceClient) Update(ctx context.Context, obj client.Object,
1176
1190
1177
1191
scale , isScale := updateOptions .SubResourceBody .(* autoscalingv1.Scale )
1178
1192
if ! isScale {
1179
- return apierrors .NewBadRequest (fmt .Sprintf ("expected Scale, got %t " , updateOptions .SubResourceBody ))
1193
+ return apierrors .NewBadRequest (fmt .Sprintf ("expected Scale, got %T " , updateOptions .SubResourceBody ))
1180
1194
}
1181
1195
if err := applyScale (obj , scale ); err != nil {
1182
1196
return err
0 commit comments