Skip to content

Commit db185ff

Browse files
committed
fake: Add ServiceAccount Token subresource
1 parent 4381fa0 commit db185ff

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

pkg/client/fake/client.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
jsonpatch "gopkg.in/evanphx/json-patch.v4"
3434
appsv1 "k8s.io/api/apps/v1"
3535
autoscalingv1 "k8s.io/api/autoscaling/v1"
36+
authenticationv1 "k8s.io/api/authentication/v1"
3637
corev1 "k8s.io/api/core/v1"
3738
policyv1 "k8s.io/api/policy/v1"
3839
policyv1beta1 "k8s.io/api/policy/v1beta1"
@@ -1128,7 +1129,7 @@ func (sw *fakeSubResourceClient) Get(ctx context.Context, obj, subResource clien
11281129
}
11291130
scale, isScale := subResource.(*autoscalingv1.Scale)
11301131
if !isScale {
1131-
return apierrors.NewBadRequest(fmt.Sprintf("expected Scale, got %t", subResource))
1132+
return apierrors.NewBadRequest(fmt.Sprintf("expected Scale, got %T", subResource))
11321133
}
11331134
scaleOut, err := extractScale(obj)
11341135
if err != nil {
@@ -1149,13 +1150,26 @@ func (sw *fakeSubResourceClient) Create(ctx context.Context, obj client.Object,
11491150
_, isEviction = subResource.(*policyv1.Eviction)
11501151
}
11511152
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))
11531154
}
11541155
if _, isPod := obj.(*corev1.Pod); !isPod {
11551156
return apierrors.NewNotFound(schema.GroupResource{}, "")
11561157
}
11571158

11581159
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 nil
11591173
default:
11601174
return fmt.Errorf("fakeSubResourceWriter does not support create for %s", sw.subResource)
11611175
}
@@ -1176,7 +1190,7 @@ func (sw *fakeSubResourceClient) Update(ctx context.Context, obj client.Object,
11761190

11771191
scale, isScale := updateOptions.SubResourceBody.(*autoscalingv1.Scale)
11781192
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))
11801194
}
11811195
if err := applyScale(obj, scale); err != nil {
11821196
return err

0 commit comments

Comments
 (0)