diff --git a/test/e2e/suite/issuers/acme/certificate/webhook.go b/test/e2e/suite/issuers/acme/certificate/webhook.go index 014b3e5dd..470c68234 100644 --- a/test/e2e/suite/issuers/acme/certificate/webhook.go +++ b/test/e2e/suite/issuers/acme/certificate/webhook.go @@ -156,18 +156,17 @@ var _ = framework.CertManagerDescribe("ACME webhook DNS provider", func() { var order *v1alpha1.Order pollErr := wait.PollImmediate(500*time.Millisecond, time.Second*30, func() (bool, error) { - l, err := f.CertManagerClientSet.CertmanagerV1alpha1().Orders(f.Namespace.Name).List(metav1.ListOptions{ - LabelSelector: "acme.cert-manager.io/certificate-name=" + cert.Name, - }) + orders, err := listOwnedOrders(f.CertManagerClientSet, cert) Expect(err).NotTo(HaveOccurred()) - log.Logf("Found %d orders for certificate", len(l.Items)) - if len(l.Items) == 1 { - order = &l.Items[0] + log.Logf("Found %d orders for certificate", len(orders)) + if len(orders) == 1 { + order = orders[0] log.Logf("Found order named %q", order.Name) return true, nil } + log.Logf("Waiting as one Order should exist, but we found %d", len(orders)) return false, nil }, ) @@ -218,3 +217,21 @@ func listOwnedChallenges(cl versioned.Interface, owner *v1alpha1.Order) ([]*v1al return owned, nil } + +func listOwnedOrders(cl versioned.Interface, owner *v1alpha1.Certificate) ([]*v1alpha1.Order, error) { + l, err := cl.CertmanagerV1alpha1().Orders(owner.Namespace).List(metav1.ListOptions{}) + if err != nil { + return nil, err + } + + var owned []*v1alpha1.Order + for _, o := range l.Items { + v, ok := o.Annotations[v1alpha1.CertificateNameKey] + if !ok || v != owner.Name { + continue + } + owned = append(owned, &o) + } + + return owned, nil +}