github.com/operator-framework/operator-lifecycle-manager@v0.30.0/test/e2e/util/gomega/assertions.go (about) 1 package gomega 2 3 import ( 4 "context" 5 6 . "github.com/onsi/gomega" 7 "github.com/operator-framework/operator-lifecycle-manager/test/e2e/ctx" 8 "github.com/operator-framework/operator-lifecycle-manager/test/e2e/util" 9 k8scontrollerclient "sigs.k8s.io/controller-runtime/pkg/client" 10 ) 11 12 func EventuallyResource(actual k8scontrollerclient.Object, intervals ...interface{}) AsyncAssertion { 13 client := ctx.Ctx().Client() 14 clone := actual.DeepCopyObject().(k8scontrollerclient.Object) 15 key := k8scontrollerclient.ObjectKeyFromObject(actual) 16 getObjectFn := func() k8scontrollerclient.Object { 17 if err := client.Get(context.Background(), key, clone); err != nil { 18 util.Logf("ERROR getting resource '%s'", util.ObjectToJsonString(key), err) 19 return nil 20 } 21 return clone 22 } 23 return Eventually(getObjectFn, intervals...) 24 }