summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCheng Fang <cfang@redhat.com>2024-08-27 08:14:20 -0400
committerGitHub <noreply@github.com>2024-08-27 08:14:20 -0400
commit0c9c0a94d75d4ac3cf5d54f106e4748f4d14b7c0 (patch)
tree2699c9d9d825030403a969ebb03c4a6361671def
parent5dba714773c3efab69aa051a7fd739ef7194947d (diff)
tests(e2e): Add e2e test for filtering apps by name with match-application-name option (#841)
Signed-off-by: Cheng Fang <cfang@redhat.com>
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/01-install.yaml83
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/02-assert.yaml29
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/02-run-updater.yaml9
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/03-assert.yaml34
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/03-run-updater.yaml9
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/04-assert.yaml39
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/04-run-updater.yaml10
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/05-assert.yaml44
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/05-run-updater.yaml9
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/99-delete.yaml22
-rw-r--r--test/e2e/suite/102-kustomize-match-application-name/README.md21
11 files changed, 309 insertions, 0 deletions
diff --git a/test/e2e/suite/102-kustomize-match-application-name/01-install.yaml b/test/e2e/suite/102-kustomize-match-application-name/01-install.yaml
new file mode 100644
index 0000000..eaa19a8
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/01-install.yaml
@@ -0,0 +1,83 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: image-updater-e2e-102-0
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-0
+ annotations:
+ argocd-image-updater.argoproj.io/image-list: guestbook=gcr.io/heptio-images/ks-guestbook-demo:~0
+ argocd-image-updater.argoproj.io/test.update-strategy: semver
+ finalizers:
+ - resources-finalizer.argocd.argoproj.io
+spec:
+ project: default
+ source:
+ repoURL: https://github.com/argoproj/argocd-example-apps.git
+ path: kustomize-guestbook
+ targetRevision: HEAD
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: image-updater-e2e-102-0
+ syncPolicy:
+ automated: {}
+ retry:
+ limit: 2
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: image-updater-e2e-102-1
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-1
+ annotations:
+ argocd-image-updater.argoproj.io/image-list: guestbook=gcr.io/heptio-images/ks-guestbook-demo:~0
+ argocd-image-updater.argoproj.io/test.update-strategy: semver
+ finalizers:
+ - resources-finalizer.argocd.argoproj.io
+spec:
+ project: default
+ source:
+ repoURL: https://github.com/argoproj/argocd-example-apps.git
+ path: kustomize-guestbook
+ targetRevision: HEAD
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: image-updater-e2e-102-1
+ syncPolicy:
+ automated: {}
+ retry:
+ limit: 2
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: image-updater-e2e-102-2
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-2
+ annotations:
+ argocd-image-updater.argoproj.io/image-list: guestbook=gcr.io/heptio-images/ks-guestbook-demo:~0
+ argocd-image-updater.argoproj.io/test.update-strategy: semver
+ finalizers:
+ - resources-finalizer.argocd.argoproj.io
+spec:
+ project: default
+ source:
+ repoURL: https://github.com/argoproj/argocd-example-apps.git
+ path: kustomize-guestbook
+ targetRevision: HEAD
+ destination:
+ server: https://kubernetes.default.svc
+ namespace: image-updater-e2e-102-2
+ syncPolicy:
+ automated: {}
+ retry:
+ limit: 2 \ No newline at end of file
diff --git a/test/e2e/suite/102-kustomize-match-application-name/02-assert.yaml b/test/e2e/suite/102-kustomize-match-application-name/02-assert.yaml
new file mode 100644
index 0000000..df3125b
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/02-assert.yaml
@@ -0,0 +1,29 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-0
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-1
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced \ No newline at end of file
diff --git a/test/e2e/suite/102-kustomize-match-application-name/02-run-updater.yaml b/test/e2e/suite/102-kustomize-match-application-name/02-run-updater.yaml
new file mode 100644
index 0000000..0f09cfe
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/02-run-updater.yaml
@@ -0,0 +1,9 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+commands:
+- script: |
+ ${SRC_DIR}/dist/argocd-image-updater run --once \
+ --argocd-namespace argocd-image-updater-e2e \
+ --match-application-name no-match* \
+ --registries-conf-path="" \
+ --loglevel info
diff --git a/test/e2e/suite/102-kustomize-match-application-name/03-assert.yaml b/test/e2e/suite/102-kustomize-match-application-name/03-assert.yaml
new file mode 100644
index 0000000..70acc11
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/03-assert.yaml
@@ -0,0 +1,34 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-0
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-1
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
diff --git a/test/e2e/suite/102-kustomize-match-application-name/03-run-updater.yaml b/test/e2e/suite/102-kustomize-match-application-name/03-run-updater.yaml
new file mode 100644
index 0000000..987ca09
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/03-run-updater.yaml
@@ -0,0 +1,9 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+commands:
+- script: |
+ ${SRC_DIR}/dist/argocd-image-updater run --once \
+ --argocd-namespace argocd-image-updater-e2e \
+ --match-application-name image-updater-102-0 \
+ --registries-conf-path="" \
+ --loglevel info
diff --git a/test/e2e/suite/102-kustomize-match-application-name/04-assert.yaml b/test/e2e/suite/102-kustomize-match-application-name/04-assert.yaml
new file mode 100644
index 0000000..bcbc284
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/04-assert.yaml
@@ -0,0 +1,39 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-0
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-1
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
diff --git a/test/e2e/suite/102-kustomize-match-application-name/04-run-updater.yaml b/test/e2e/suite/102-kustomize-match-application-name/04-run-updater.yaml
new file mode 100644
index 0000000..9cd3eb9
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/04-run-updater.yaml
@@ -0,0 +1,10 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+commands:
+- script: |
+ ${SRC_DIR}/dist/argocd-image-updater run --once \
+ --argocd-namespace argocd-image-updater-e2e \
+ --match-application-name image-updater-102-0 \
+ --match-application-name image-updater-102-1 \
+ --registries-conf-path="" \
+ --loglevel info
diff --git a/test/e2e/suite/102-kustomize-match-application-name/05-assert.yaml b/test/e2e/suite/102-kustomize-match-application-name/05-assert.yaml
new file mode 100644
index 0000000..a44a5c1
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/05-assert.yaml
@@ -0,0 +1,44 @@
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-0
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-1
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Application
+metadata:
+ name: image-updater-102-2
+spec:
+ source:
+ kustomize:
+ images:
+ - gcr.io/heptio-images/ks-guestbook-demo:0.2
+status:
+ health:
+ status: Healthy
+ sync:
+ status: Synced
diff --git a/test/e2e/suite/102-kustomize-match-application-name/05-run-updater.yaml b/test/e2e/suite/102-kustomize-match-application-name/05-run-updater.yaml
new file mode 100644
index 0000000..a072835
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/05-run-updater.yaml
@@ -0,0 +1,9 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+commands:
+- script: |
+ ${SRC_DIR}/dist/argocd-image-updater run --once \
+ --argocd-namespace argocd-image-updater-e2e \
+ --match-application-name image-updater-102-* \
+ --registries-conf-path="" \
+ --loglevel info
diff --git a/test/e2e/suite/102-kustomize-match-application-name/99-delete.yaml b/test/e2e/suite/102-kustomize-match-application-name/99-delete.yaml
new file mode 100644
index 0000000..7c72a23
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/99-delete.yaml
@@ -0,0 +1,22 @@
+apiVersion: kuttl.dev/v1beta1
+kind: TestStep
+timeout: 120
+delete:
+- apiVersion: argoproj.io/v1alpha1
+ kind: Application
+ name: image-updater-102-0
+- apiVersion: v1
+ kind: Namespace
+ name: image-updater-e2e-102-0
+- apiVersion: argoproj.io/v1alpha1
+ kind: Application
+ name: image-updater-102-1
+- apiVersion: v1
+ kind: Namespace
+ name: image-updater-e2e-102-1
+- apiVersion: argoproj.io/v1alpha1
+ kind: Application
+ name: image-updater-102-2
+- apiVersion: v1
+ kind: Namespace
+ name: image-updater-e2e-102-2 \ No newline at end of file
diff --git a/test/e2e/suite/102-kustomize-match-application-name/README.md b/test/e2e/suite/102-kustomize-match-application-name/README.md
new file mode 100644
index 0000000..b6c39f4
--- /dev/null
+++ b/test/e2e/suite/102-kustomize-match-application-name/README.md
@@ -0,0 +1,21 @@
+This test case verifies [filtering applications by name](https://argocd-image-updater.readthedocs.io/en/stable/install/reference/#flags) with `--match-application-name` command line options
+* match against a non-existent application name
+* match against an exact application name
+* specify `--match-application-name` option multiple times to match against multiple application names
+* use wild card `*` in application name pattern
+
+This test case uses image from public container registry and application source from public GitHub repo.
+
+To run this individual test case,
+
+* make sure both docker daemon and k8s cluster is running
+* `cd $HOME/go/src/image-updater/test/e2e`
+* `SRC_DIR=$HOME/go/src/image-updater kubectl kuttl test --namespace argocd-image-updater-e2e --timeout 120 --test 102-kustomize-match-application-name`
+
+The test output logs that during each test step, 0, 1, 2, or 3 images are updated, as specified by argocd-image-updater `--match-application-name` option:
+```bash
+102-kustomize-match-application-name/2-run-updater msg="Processing results: applications=0 images_considered=0 images_skipped=0 images_updated=0 errors=0"
+102-kustomize-match-application-name/3-run-updater msg="Processing results: applications=1 images_considered=1 images_skipped=0 images_updated=1 errors=0"
+102-kustomize-match-application-name/4-run-updater msg="Processing results: applications=2 images_considered=2 images_skipped=0 images_updated=2 errors=0"
+102-kustomize-match-application-name/5-run-updater msg="Processing results: applications=3 images_considered=3 images_skipped=0 images_updated=3 errors=0"
+``` \ No newline at end of file