mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 01:06:27 +00:00
Decorator for Create should be called on out, not obj
obj is not what we return
This commit is contained in:
parent
7d57060d9e
commit
1002f80569
@ -373,7 +373,7 @@ func (e *Store) Create(ctx context.Context, obj runtime.Object, createValidation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if e.Decorator != nil {
|
if e.Decorator != nil {
|
||||||
if err := e.Decorator(obj); err != nil {
|
if err := e.Decorator(out); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -311,6 +311,11 @@ func TestStoreCreate(t *testing.T) {
|
|||||||
// re-define delete strategy to have graceful delete capability
|
// re-define delete strategy to have graceful delete capability
|
||||||
defaultDeleteStrategy := testRESTStrategy{scheme, names.SimpleNameGenerator, true, false, true}
|
defaultDeleteStrategy := testRESTStrategy{scheme, names.SimpleNameGenerator, true, false, true}
|
||||||
registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy}
|
registry.DeleteStrategy = testGracefulStrategy{defaultDeleteStrategy}
|
||||||
|
registry.Decorator = func(obj runtime.Object) error {
|
||||||
|
pod := obj.(*example.Pod)
|
||||||
|
pod.Status.Phase = example.PodPhase("Testing")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// create the object with denying admission
|
// create the object with denying admission
|
||||||
objA, err := registry.Create(testContext, podA, denyCreateValidation, false)
|
objA, err := registry.Create(testContext, podA, denyCreateValidation, false)
|
||||||
@ -324,6 +329,11 @@ func TestStoreCreate(t *testing.T) {
|
|||||||
t.Errorf("Unexpected error: %v", err)
|
t.Errorf("Unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// verify the decorator was called
|
||||||
|
if objA.(*example.Pod).Status.Phase != example.PodPhase("Testing") {
|
||||||
|
t.Errorf("Decorator was not called: %#v", objA)
|
||||||
|
}
|
||||||
|
|
||||||
// get the object
|
// get the object
|
||||||
checkobj, err := registry.Get(testContext, podA.Name, &metav1.GetOptions{})
|
checkobj, err := registry.Get(testContext, podA.Name, &metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user