Skip to content

Commit 1fa81d4

Browse files
committed
chore: additional E2E reliability test improvements
Signed-off-by: Jonathan West <jgwest@gmail.com>
1 parent fb60a7a commit 1fa81d4

41 files changed

Lines changed: 394 additions & 380 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

test/openshift/e2e/ginkgo/fixture/agent/fixture.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import (
2929
argov1beta1api "github.com/argoproj-labs/argocd-operator/api/v1beta1"
3030
"github.com/argoproj-labs/argocd-operator/common"
3131
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture"
32-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/certutil"
32+
certutilFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/certutil"
3333
k8sFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
3434
osFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/os"
3535
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/utils"
@@ -158,8 +158,8 @@ func CreateRequiredSecrets(cfg PrincipalSecretsConfig) {
158158
}
159159
Expect(k8sClient.Create(ctx, jwtSecret)).To(Succeed())
160160

161-
caKey, caCert, caCertPEM := certutil.GenerateCertificateAuthority(caSubject)
162-
caKeyPEM := certutil.EncodePrivateKeyToPEM(caKey)
161+
caKey, caCert, caCertPEM := certutilFixture.GenerateCertificateAuthority(caSubject)
162+
caKeyPEM := certutilFixture.EncodePrivateKeyToPEM(caKey)
163163

164164
caSecret := &corev1.Secret{
165165
ObjectMeta: metav1.ObjectMeta{
@@ -176,7 +176,7 @@ func CreateRequiredSecrets(cfg PrincipalSecretsConfig) {
176176
Expect(k8sClient.Create(ctx, caSecret)).To(Succeed())
177177

178178
principalDNS, principalIPs := aggregateSANs(cfg.PrincipalNamespaceName, cfg.PrincipalServiceName, cfg.AdditionalPrincipalSANs)
179-
principalCertPEM, principalKeyPEM := certutil.IssueCertificate(caCert, caKey, certutil.CertificateRequest{
179+
principalCertPEM, principalKeyPEM := certutilFixture.IssueCertificate(caCert, caKey, certutilFixture.CertificateRequest{
180180
CommonName: cfg.PrincipalServiceName,
181181
DNSNames: principalDNS,
182182
IPAddresses: principalIPs,
@@ -185,7 +185,7 @@ func CreateRequiredSecrets(cfg PrincipalSecretsConfig) {
185185
createTLSSecret(ctx, k8sClient, cfg.PrincipalNamespaceName, cfg.PrincipalTLSSecretName, principalCertPEM, principalKeyPEM, caCertPEM)
186186

187187
resourceProxyDNS, resourceProxyIPs := aggregateSANs(cfg.PrincipalNamespaceName, cfg.ResourceProxyServiceName, cfg.AdditionalResourceProxySANs)
188-
resourceProxyCertPEM, resourceProxyKeyPEM := certutil.IssueCertificate(caCert, caKey, certutil.CertificateRequest{
188+
resourceProxyCertPEM, resourceProxyKeyPEM := certutilFixture.IssueCertificate(caCert, caKey, certutilFixture.CertificateRequest{
189189
CommonName: cfg.ResourceProxyServiceName,
190190
DNSNames: resourceProxyDNS,
191191
IPAddresses: resourceProxyIPs,
@@ -218,7 +218,7 @@ func CreateRequiredAgentSecrets(cfg AgentSecretsConfig) {
218218
caKey := parsePrivateKey(caKeyPEM)
219219

220220
clientDNS, clientIPs := aggregateClientSANs(cfg.ClientDNSNames)
221-
clientCertPEM, clientKeyPEM := certutil.IssueCertificate(caCert, caKey, certutil.CertificateRequest{
221+
clientCertPEM, clientKeyPEM := certutilFixture.IssueCertificate(caCert, caKey, certutilFixture.CertificateRequest{
222222
CommonName: cfg.ClientCommonName,
223223
DNSNames: clientDNS,
224224
IPAddresses: clientIPs,

test/openshift/e2e/ginkgo/fixture/argocd/fixture.go

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import (
1818
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1919
"k8s.io/client-go/util/retry"
2020
"sigs.k8s.io/controller-runtime/pkg/client"
21+
22+
routeFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/route"
2123
)
2224

2325
// Update will update an ArgoCD CR. Update will keep trying to update object until it succeeds, or times out.
@@ -267,26 +269,20 @@ func fetchArgoCD(f func(*argov1beta1api.ArgoCD) bool) matcher.GomegaMatcher {
267269

268270
}
269271

272+
// NOTE: this should only be called from sequential tests. If you call it from a parallel test, there is a risk that another test will login to a different Argo CD instance.
270273
func LogInToDefaultArgoCDInstance() error {
271274
k8sClient, _, err := utils.GetE2ETestKubeClientWithError()
272275
if err != nil {
273276
return err
274277
}
275278

276-
var routeList routev1.RouteList
277-
Expect(k8sClient.List(context.Background(), &routeList, client.InNamespace("openshift-gitops"))).To(Succeed())
279+
route := &routev1.Route{ObjectMeta: metav1.ObjectMeta{Name: "openshift-gitops-server", Namespace: "openshift-gitops"}}
278280

279-
var route *routev1.Route
280-
for idx := range routeList.Items {
281-
idxRoute := routeList.Items[idx]
281+
Eventually(func() error {
282+
return k8sClient.Get(context.Background(), client.ObjectKeyFromObject(route), route)
283+
}, "3m", "2s").Should(Succeed())
282284

283-
if idxRoute.Name == "openshift-gitops-server" {
284-
route = &idxRoute
285-
}
286-
}
287-
if route == nil {
288-
return fmt.Errorf("unable to locate route")
289-
}
285+
Eventually(route, "3m", "2s").Should(routeFixture.HaveAdmittedIngress())
290286

291287
secret := &corev1.Secret{ObjectMeta: metav1.ObjectMeta{Name: "openshift-gitops-cluster", Namespace: "openshift-gitops"}}
292288
if err := k8sClient.Get(context.Background(), client.ObjectKeyFromObject(secret), secret); err != nil {
@@ -307,6 +303,7 @@ func LogInToDefaultArgoCDInstance() error {
307303

308304
}
309305

306+
// NOTE: this should only be called from sequential tests. If you call it from a parallel test, there is a risk that another test will login to a different Argo CD instance.
310307
func RunArgoCDCLI(args ...string) (string, error) {
311308

312309
cmdArgs := append([]string{"argocd"}, args...)

test/openshift/e2e/ginkgo/fixture/fixture.go

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ import (
2626

2727
"github.com/onsi/gomega/format"
2828
gitopsoperatorv1alpha1 "github.com/redhat-developer/gitops-operator/api/v1alpha1"
29-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/argocd"
29+
argocdFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/argocd"
3030
deploymentFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/deployment"
31-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
31+
k8sFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
3232
osFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/os"
3333
subscriptionFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/subscription"
3434
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/utils"
@@ -69,7 +69,7 @@ func EnsureParallelCleanSlate() {
6969
err := k8sClient.Get(context.Background(), client.ObjectKeyFromObject(defaultOpenShiftGitOpsArgoCD), defaultOpenShiftGitOpsArgoCD)
7070
Expect(err).ToNot(HaveOccurred())
7171

72-
Eventually(defaultOpenShiftGitOpsArgoCD, "5m", "5s").Should(argocd.BeAvailableWithCustomSleepTime(3 * time.Second))
72+
Eventually(defaultOpenShiftGitOpsArgoCD, "5m", "5s").Should(argocdFixture.BeAvailableWithCustomSleepTime(3 * time.Second))
7373
}
7474
// Unlike sequential clean slate, parallel clean slate cannot assume that there are no other tests running. This limits our ability to clean up old test artifacts.
7575
}
@@ -119,7 +119,7 @@ func EnsureSequentialCleanSlateWithError() error {
119119
defaultOpenShiftGitOpsArgoCD := &argov1beta1api.ArgoCD{
120120
ObjectMeta: metav1.ObjectMeta{Name: "openshift-gitops", Namespace: "openshift-gitops"},
121121
}
122-
Eventually(defaultOpenShiftGitOpsArgoCD, "3m", "5s").Should(k8s.ExistByName())
122+
Eventually(defaultOpenShiftGitOpsArgoCD, "3m", "5s").Should(k8sFixture.ExistByName())
123123

124124
// Ensure that default state of ArgoCD CR in openshift-gitops is restored
125125
if err := updateWithoutConflict(defaultOpenShiftGitOpsArgoCD, func(obj client.Object) {
@@ -201,7 +201,7 @@ func EnsureSequentialCleanSlateWithError() error {
201201

202202
// Finally, wait for default openshift-gitops instance to be ready.
203203
failure := InterceptGomegaFailure(func() {
204-
Eventually(defaultOpenShiftGitOpsArgoCD, "5m", "5s").Should(argocd.BeAvailable())
204+
Eventually(defaultOpenShiftGitOpsArgoCD, "5m", "5s").Should(argocdFixture.BeAvailable())
205205
})
206206
// Output debug information on argo startup failure
207207
if failure != nil {
@@ -931,6 +931,17 @@ func OutputDebug(namespaceParams ...any) {
931931
GinkgoWriter.Println(kubectlOutput)
932932
GinkgoWriter.Println("----------------------------------------------------------------")
933933

934+
kubectlOutput, err = osFixture.ExecCommandWithOutputParam(false, true, "kubectl", "get", "statefulsets", "-n", namespace)
935+
if err != nil {
936+
GinkgoWriter.Println("unable to get statefulsets for namespace", err, kubectlOutput)
937+
} else {
938+
GinkgoWriter.Println("")
939+
GinkgoWriter.Println("----------------------------------------------------------------")
940+
GinkgoWriter.Println("'kubectl get statefulsets -n " + namespace + ":")
941+
GinkgoWriter.Println(kubectlOutput)
942+
GinkgoWriter.Println("----------------------------------------------------------------")
943+
}
944+
934945
kubectlOutput, err = osFixture.ExecCommandWithOutputParam(false, true, "kubectl", "get", "events", "-n", namespace)
935946
if err != nil {
936947
GinkgoWriter.Println("unable to get events for namespace", err, kubectlOutput)

test/openshift/e2e/ginkgo/fixture/promoter/fixture.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1717
apiregistrationv1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
1818

19-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/certutil"
19+
certutilFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/certutil"
2020
k8sFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
2121
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/utils"
2222
)
@@ -49,7 +49,7 @@ func CreateAPIServerTLSSecrets(cfg PromoterAPIServerTLSSecretConfig) {
4949

5050
By("Creating API Server TLS secrets")
5151

52-
caKey, caCert, caCertPEM := certutil.GenerateCertificateAuthority(caSubject)
52+
caKey, caCert, caCertPEM := certutilFixture.GenerateCertificateAuthority(caSubject)
5353
caBundleSecret := &corev1.Secret{
5454
ObjectMeta: metav1.ObjectMeta{
5555
Name: cfg.CABundleSecretName,
@@ -61,7 +61,7 @@ func CreateAPIServerTLSSecrets(cfg PromoterAPIServerTLSSecretConfig) {
6161
}
6262
Expect(k8sClient.Create(ctx, caBundleSecret)).To(Succeed())
6363

64-
apiServerCertPEM, apiServerKeyPEM := certutil.IssueCertificate(caCert, caKey, certutil.CertificateRequest{
64+
apiServerCertPEM, apiServerKeyPEM := certutilFixture.IssueCertificate(caCert, caKey, certutilFixture.CertificateRequest{
6565
CommonName: cfg.APIServerServiceName,
6666
DNSNames: []string{
6767
cfg.APIServerServiceName,

test/openshift/e2e/ginkgo/parallel/1-009_validate-manage-other-namespace_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
appFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/application"
2929
argocdFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/argocd"
3030
k8sFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
31-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/namespace"
31+
namespaceFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/namespace"
3232
secretFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/secret"
3333
fixtureUtils "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/utils"
3434
corev1 "k8s.io/api/core/v1"
@@ -71,7 +71,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() {
7171
Eventually(argoCDInRandomNS, "5m", "5s").Should(argocdFixture.BeAvailable())
7272

7373
By("modifying the labels of another namespace to add the argocd managed-by label")
74-
namespace.Update(nsTest_1_9_custom, func(n *corev1.Namespace) {
74+
namespaceFixture.Update(nsTest_1_9_custom, func(n *corev1.Namespace) {
7575
n.Labels["argocd.argoproj.io/managed-by"] = argoCDInRandomNS.Namespace
7676
})
7777

@@ -113,7 +113,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() {
113113
Eventually(app, "4m", "5s").Should(appFixture.HaveSyncStatusCode(argocdv1alpha1.SyncStatusCodeSynced))
114114

115115
By("removing managed-by label from that other Namespace")
116-
namespace.Update(nsTest_1_9_custom, func(n *corev1.Namespace) {
116+
namespaceFixture.Update(nsTest_1_9_custom, func(n *corev1.Namespace) {
117117
delete(n.Labels, "argocd.argoproj.io/managed-by")
118118
})
119119

test/openshift/e2e/ginkgo/parallel/1-023_validate_repo_server_tls_test.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() {
8686
ac.Spec.Repo.VerifyTLS = true
8787
})
8888

89-
Eventually(func() bool {
89+
// Check that the service has what we need, here.
90+
91+
checkArgoCDServer := func() bool {
9092
depl := &appsv1.Deployment{ObjectMeta: metav1.ObjectMeta{Name: "argocd-server", Namespace: nsTest_1_23_custom.Name}}
9193
if err := k8sClient.Get(ctx, client.ObjectKeyFromObject(depl), depl); err != nil {
9294
GinkgoWriter.Println(err)
@@ -116,7 +118,10 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() {
116118
"text",
117119
})
118120

119-
}).Should(BeTrue())
121+
}
122+
123+
Eventually(checkArgoCDServer).Should(BeTrue())
124+
Consistently(checkArgoCDServer, "20s", "5s").Should(BeTrue())
120125

121126
Eventually(argoCDTest_1_23_custom, "5m", "5s").Should(argocdFixture.BeAvailable())
122127

test/openshift/e2e/ginkgo/parallel/1-030_validate_reencrypt_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() {
169169
// Print the response body
170170
GinkgoWriter.Println(string(body))
171171

172+
GinkgoWriter.Println(r.Status.Ingress, r.Spec.Host)
173+
172174
return strings.Contains(string(body), "Your browser does not support JavaScript.")
173175

174176
}, "90s", "5s").Should(BeTrue())

test/openshift/e2e/ginkgo/parallel/1-034_validate_webhook_notifications_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ import (
2727
. "github.com/onsi/gomega"
2828
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture"
2929
argocdFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/argocd"
30-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/configmap"
31-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/deployment"
30+
configmapFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/configmap"
31+
deploymentFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/deployment"
3232
k8sFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
33-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/notificationsconfiguration"
34-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/os"
33+
notificationsconfigurationFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/notificationsconfiguration"
34+
osFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/os"
3535
fixtureUtils "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/utils"
3636
appsv1 "k8s.io/api/apps/v1"
3737
corev1 "k8s.io/api/core/v1"
@@ -281,7 +281,7 @@ Xq+NinfrqOLJkIZ/u/PJu4KqN3M=
281281
}
282282

283283
Expect(k8sClient.Create(ctx, depl)).To(Succeed())
284-
Eventually(depl, "4m", "5s").Should(deployment.HaveAvailableReplicas(1))
284+
Eventually(depl, "4m", "5s").Should(deploymentFixture.HaveAvailableReplicas(1))
285285

286286
argocd := &argov1beta1api.ArgoCD{
287287
ObjectMeta: metav1.ObjectMeta{
@@ -350,7 +350,7 @@ UVwpFuaKz5vTCD36Gmmy/u8y
350350
}
351351
Eventually(nc).Should(k8sFixture.ExistByName())
352352

353-
notificationsconfiguration.Update(nc, func(nc *argov1alpha1api.NotificationsConfiguration) {
353+
notificationsconfigurationFixture.Update(nc, func(nc *argov1alpha1api.NotificationsConfiguration) {
354354

355355
nc.Spec.Services = map[string]string{
356356
"service.webhook.test-webhook": "url: https://webhook/hooks/example",
@@ -377,7 +377,7 @@ UVwpFuaKz5vTCD36Gmmy/u8y
377377
},
378378
}
379379
Eventually(notifConfigMap).Should(k8sFixture.ExistByName())
380-
Eventually(notifConfigMap).Should(configmap.HaveStringDataKeyValueContainsSubstring("template.test-app-created", `{"created":"{{.app.metadata.name}}","type":"{{(call .repo.GetAppDetails).Type}}"}`))
380+
Eventually(notifConfigMap).Should(configmapFixture.HaveStringDataKeyValueContainsSubstring("template.test-app-created", `{"created":"{{.app.metadata.name}}","type":"{{(call .repo.GetAppDetails).Type}}"}`))
381381

382382
By("creating an Argo CD Application that contains a notification annotation, which will trigger the notifications controller")
383383
app := &argocdv1alpha1.Application{
@@ -403,14 +403,14 @@ UVwpFuaKz5vTCD36Gmmy/u8y
403403
}
404404
Expect(k8sClient.Create(ctx, app)).To(Succeed())
405405

406-
out, err := os.ExecCommand("kubectl", "-n", ns.Name, "logs", "deployment.apps/argocd-notifications-controller")
406+
out, err := osFixture.ExecCommand("kubectl", "-n", ns.Name, "logs", "deployment.apps/argocd-notifications-controller")
407407
Expect(err).ToNot(HaveOccurred())
408408
Expect(out).ToNot(ContainSubstring("x509"))
409409

410410
By("waiting for notifications controller to POST to the webhook workload, indicating that the workload event was successfully processed")
411411
Eventually(func() bool {
412412

413-
out, err := os.ExecCommand("kubectl", "-n", ns.Name, "logs", "deployment.apps/webhook")
413+
out, err := osFixture.ExecCommand("kubectl", "-n", ns.Name, "logs", "deployment.apps/webhook")
414414
if err != nil {
415415
GinkgoWriter.Println(err)
416416
return false

test/openshift/e2e/ginkgo/parallel/1-045_validate_repo_exec_timeout_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
. "github.com/onsi/gomega"
2525
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture"
2626
argocdFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/argocd"
27-
"github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/deployment"
27+
deploymentFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/deployment"
2828
k8sFixture "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/k8s"
2929
fixtureUtils "github.com/redhat-developer/gitops-operator/test/openshift/e2e/ginkgo/fixture/utils"
3030
appsv1 "k8s.io/api/apps/v1"
@@ -74,7 +74,7 @@ var _ = Describe("GitOps Operator Parallel E2E Tests", func() {
7474
depl := &appsv1.Deployment{ObjectMeta: metav1.ObjectMeta{Name: "argocd-repo-server", Namespace: ns.Name}}
7575
Eventually(depl).Should(k8sFixture.ExistByName())
7676

77-
Eventually(depl).Should(deployment.HaveContainerWithEnvVar("ARGOCD_EXEC_TIMEOUT", "300s", 0))
77+
Eventually(depl).Should(deploymentFixture.HaveContainerWithEnvVar("ARGOCD_EXEC_TIMEOUT", "300s", 0))
7878
})
7979

8080
})

0 commit comments

Comments
 (0)