// waitForProject will execute a client list of projects looking for the project with specified name // if not found, it will retry up to numRetries at the specified delayInterval func waitForProject(t *testing.T, client client.Interface, projectName string, delayInterval time.Duration, numRetries int) { for i := 0; i <= numRetries; i++ { projects, err := client.Projects().List(labels.Everything(), fields.Everything()) if err != nil { t.Errorf("unexpected error: %v", err) } if (len(projects.Items) == 1) && (projects.Items[0].Name == projectName) { fmt.Printf("Waited %v times with interval %v\n", i, delayInterval) return } else { time.Sleep(delayInterval) } } t.Errorf("expected project %v not found", projectName) }