type testcase … func newPodEvent(eventtype watch.EventType, name string, phase v1.PodPhase, message string) watch.Event { … } func newEvent(eventtype, message string) watch.Event { … } func newPod(name string, phase v1.PodPhase, message string) *v1.Pod { … } func TestRecyclerPod(t *testing.T) { … } type mockRecyclerClient … type mockEvent … func (c *mockRecyclerClient) CreatePod(pod *v1.Pod) (*v1.Pod, error) { … } func (c *mockRecyclerClient) GetPod(name, namespace string) (*v1.Pod, error) { … } func (c *mockRecyclerClient) DeletePod(name, namespace string) error { … } func (c *mockRecyclerClient) WatchPod(name, namespace string, stopChannel chan struct{ … } func (c *mockRecyclerClient) Event(eventtype, message string) { … }