|
|
|
|
@ -19,6 +19,7 @@ package fake
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"io"
|
|
|
|
|
"sync"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
|
|
|
@ -49,6 +50,7 @@ type FailingKubeClient struct {
|
|
|
|
|
WaitDuration time.Duration
|
|
|
|
|
// RecordedWaitOptions stores the WaitOptions passed to GetWaiter for testing
|
|
|
|
|
RecordedWaitOptions []kube.WaitOption
|
|
|
|
|
mu sync.Mutex
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var _ kube.Interface = &FailingKubeClient{}
|
|
|
|
|
@ -158,9 +160,14 @@ func (f *FailingKubeClient) GetWaiter(ws kube.WaitStrategy) (kube.Waiter, error)
|
|
|
|
|
return f.GetWaiterWithOptions(ws)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *FailingKubeClient) GetWaiterWithOptions(ws kube.WaitStrategy, opts ...kube.WaitOption) (kube.Waiter, error) {
|
|
|
|
|
// Record the WaitOptions for testing
|
|
|
|
|
func (f *FailingKubeClient) appendRecordedWaitOptionsLocked(opts ...kube.WaitOption) {
|
|
|
|
|
f.mu.Lock()
|
|
|
|
|
defer f.mu.Unlock()
|
|
|
|
|
f.RecordedWaitOptions = append(f.RecordedWaitOptions, opts...)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (f *FailingKubeClient) GetWaiterWithOptions(ws kube.WaitStrategy, opts ...kube.WaitOption) (kube.Waiter, error) {
|
|
|
|
|
f.appendRecordedWaitOptionsLocked(opts...)
|
|
|
|
|
waiter, _ := f.PrintingKubeClient.GetWaiterWithOptions(ws, opts...)
|
|
|
|
|
printingKubeWaiter, _ := waiter.(*PrintingKubeWaiter)
|
|
|
|
|
return &FailingKubeWaiter{
|
|
|
|
|
|