From 6753cc0ce10021d56a9e338c50fecf0b05b955bf Mon Sep 17 00:00:00 2001
From: Sheogorath <sheogorath@shivering-isles.com>
Date: Thu, 30 Jun 2022 02:05:41 +0200
Subject: [PATCH] test(mok): Stablize snapshot tests

Currently each update of the application version requires an update of
the snapshot, this is annoying and doesn't help the chart with anything.
Therefore this patch enforces a chart version for all snapshot tests and
also stablizes the config reload hash magic regarding versioning
changes.
---
 .../tests/__snapshot__/domains_test.yaml.snap    |  4 ++--
 .../tests/__snapshot__/dovecot_test.yaml.snap    | 16 ++++++++--------
 .../__snapshot__/networkpolicies_test.yaml.snap  |  4 ++--
 .../tests/__snapshot__/postfix_test.yaml.snap    | 12 ++++++------
 .../mok/tests/__snapshot__/relay_test.yaml.snap  |  4 ++--
 charts/mok/tests/domains_test.yaml               |  2 ++
 charts/mok/tests/dovecot_test.yaml               | 12 ++++++++++--
 charts/mok/tests/networkpolicies_test.yaml       |  2 ++
 charts/mok/tests/postfix_test.yaml               | 12 ++++++++++--
 charts/mok/tests/relay_test.yaml                 |  2 ++
 10 files changed, 46 insertions(+), 24 deletions(-)

diff --git a/charts/mok/tests/__snapshot__/domains_test.yaml.snap b/charts/mok/tests/__snapshot__/domains_test.yaml.snap
index 9d7264b7e..bb1884ac8 100644
--- a/charts/mok/tests/__snapshot__/domains_test.yaml.snap
+++ b/charts/mok/tests/__snapshot__/domains_test.yaml.snap
@@ -8,7 +8,7 @@ keeps stays the same:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot-users
     stringData:
       passwd: |
@@ -23,7 +23,7 @@ keeps stays the same:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix-maps
     stringData:
       aliases: |
diff --git a/charts/mok/tests/__snapshot__/dovecot_test.yaml.snap b/charts/mok/tests/__snapshot__/dovecot_test.yaml.snap
index c3b53ce13..2147e19a5 100644
--- a/charts/mok/tests/__snapshot__/dovecot_test.yaml.snap
+++ b/charts/mok/tests/__snapshot__/dovecot_test.yaml.snap
@@ -10,7 +10,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot
     spec:
       ports:
@@ -43,7 +43,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot-internal
     spec:
       ports:
@@ -67,7 +67,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot
     spec:
       replicas: 1
@@ -81,14 +81,14 @@ should match snapshot:
       template:
         metadata:
           annotations:
-            checksum/config: 1ccde744f84d15a511177495e8197c3e895b1077c3e180da583ea4d8a3202332
+            checksum/config: 66ea930a9b7e50528ddc0aa54786d07f78c7f56d1daea45b21d9eb94f8e5c4f2
           labels:
             app.kubernetes.io/component: dovecot
             app.kubernetes.io/instance: RELEASE-NAME
             app.kubernetes.io/name: mok
         spec:
           containers:
-          - image: quay.io/shivering-isles/dovecot:0.1.0
+          - image: quay.io/shivering-isles/dovecot:4.5.6
             imagePullPolicy: IfNotPresent
             name: dovecot
             ports:
@@ -159,7 +159,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot-vmail
     spec:
       accessModes:
@@ -177,7 +177,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot-users
     stringData:
       passwd: ""
@@ -191,7 +191,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix-maps
     stringData:
       aliases: ""
diff --git a/charts/mok/tests/__snapshot__/networkpolicies_test.yaml.snap b/charts/mok/tests/__snapshot__/networkpolicies_test.yaml.snap
index 872a20684..f0b0075c5 100644
--- a/charts/mok/tests/__snapshot__/networkpolicies_test.yaml.snap
+++ b/charts/mok/tests/__snapshot__/networkpolicies_test.yaml.snap
@@ -8,7 +8,7 @@ matches snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot
     spec:
       ingress:
@@ -53,7 +53,7 @@ matches snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix
     spec:
       ingress:
diff --git a/charts/mok/tests/__snapshot__/postfix_test.yaml.snap b/charts/mok/tests/__snapshot__/postfix_test.yaml.snap
index 0472fa118..0a3b5cdef 100644
--- a/charts/mok/tests/__snapshot__/postfix_test.yaml.snap
+++ b/charts/mok/tests/__snapshot__/postfix_test.yaml.snap
@@ -10,7 +10,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix
     spec:
       ports:
@@ -37,7 +37,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix
     spec:
       replicas: 1
@@ -50,7 +50,7 @@ should match snapshot:
       template:
         metadata:
           annotations:
-            checksum/config: 1ccde744f84d15a511177495e8197c3e895b1077c3e180da583ea4d8a3202332
+            checksum/config: 66ea930a9b7e50528ddc0aa54786d07f78c7f56d1daea45b21d9eb94f8e5c4f2
           labels:
             app.kubernetes.io/component: postfix
             app.kubernetes.io/instance: RELEASE-NAME
@@ -60,7 +60,7 @@ should match snapshot:
           - env:
             - name: DOVECOT_SERVICE_NAME
               value: RELEASE-NAME-mok-dovecot-internal.NAMESPACE.svc.cluster.local
-            image: quay.io/shivering-isles/postfix:0.1.1
+            image: quay.io/shivering-isles/postfix:4.5.6
             imagePullPolicy: IfNotPresent
             lifecycle:
               preStop:
@@ -167,7 +167,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot-users
     stringData:
       passwd: ""
@@ -181,7 +181,7 @@ should match snapshot:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix-maps
     stringData:
       aliases: ""
diff --git a/charts/mok/tests/__snapshot__/relay_test.yaml.snap b/charts/mok/tests/__snapshot__/relay_test.yaml.snap
index e4b2084c3..aed610e31 100644
--- a/charts/mok/tests/__snapshot__/relay_test.yaml.snap
+++ b/charts/mok/tests/__snapshot__/relay_test.yaml.snap
@@ -8,7 +8,7 @@ keeps stays the same:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-dovecot-users
     stringData:
       passwd: ""
@@ -22,7 +22,7 @@ keeps stays the same:
         app.kubernetes.io/instance: RELEASE-NAME
         app.kubernetes.io/managed-by: Helm
         app.kubernetes.io/name: mok
-        helm.sh/chart: mok-0.2.0
+        helm.sh/chart: mok-1.2.3
       name: RELEASE-NAME-mok-postfix-maps
     stringData:
       aliases: ""
diff --git a/charts/mok/tests/domains_test.yaml b/charts/mok/tests/domains_test.yaml
index 43cff2e70..48467004e 100644
--- a/charts/mok/tests/domains_test.yaml
+++ b/charts/mok/tests/domains_test.yaml
@@ -44,6 +44,8 @@ tests:
             john@example.com:{ARGON2ID}$argon2id$v=19$m=65536,t=3,p=1$FSJttpvCBJDcjH/mXjRNhA$ND42CDWAA6dOF2RgtzhYuYsS3Sjpab5p3pCWQHrB8Cg
         documentIndex: 0
   - it: keeps stays the same
+    chart:
+      version: 1.2.3
     set:
       domains:
         "example.com":
diff --git a/charts/mok/tests/dovecot_test.yaml b/charts/mok/tests/dovecot_test.yaml
index 92314baaf..67282401a 100644
--- a/charts/mok/tests/dovecot_test.yaml
+++ b/charts/mok/tests/dovecot_test.yaml
@@ -5,8 +5,12 @@ templates:
   - secret.yaml
 tests:
   - it: should match snapshot
+    chart:
+      version: 1.2.3
     set:
       dovecot:
+        image:
+          tag: "4.5.6"
         tls:
           secretName: example-tls
     asserts:
@@ -85,16 +89,20 @@ tests:
         documentIndex: 2
         template: dovecot.yaml
   - it: has config hash for auto-reload
+    chart:
+      version: 1.2.3
     set:
       dovecot:
         secretName: example-tls
     asserts:
       - equal:
           path: spec.template.metadata.annotations.[checksum/config]
-          value: 1ccde744f84d15a511177495e8197c3e895b1077c3e180da583ea4d8a3202332
+          value: 66ea930a9b7e50528ddc0aa54786d07f78c7f56d1daea45b21d9eb94f8e5c4f2
         documentIndex: 2
         template: dovecot.yaml
   - it: has a changing config hash for auto-reload
+    chart:
+      version: 1.2.3
     set:
       dovecot:
         secretName: example-tls
@@ -106,6 +114,6 @@ tests:
     asserts:
       - equal:
           path: spec.template.metadata.annotations.[checksum/config]
-          value: ac3f477cdba7cd408edee56403b1c480ab9765791edd3fdf9fe5f60cfe0b80e9
+          value: 9215abccdd6c1f21fd329db0133f6f8e892c50aab3dcde3259ea797e8ad2a959
         documentIndex: 2
         template: dovecot.yaml
diff --git a/charts/mok/tests/networkpolicies_test.yaml b/charts/mok/tests/networkpolicies_test.yaml
index 2f2aa564b..1e16993c8 100644
--- a/charts/mok/tests/networkpolicies_test.yaml
+++ b/charts/mok/tests/networkpolicies_test.yaml
@@ -252,5 +252,7 @@ tests:
         documentIndex: 1
         template: networkpolicy.yaml
   - it: matches snapshot
+    chart:
+      version: 1.2.3
     asserts:
       - matchSnapshot: {}
diff --git a/charts/mok/tests/postfix_test.yaml b/charts/mok/tests/postfix_test.yaml
index b85c8d39d..851d32d1e 100644
--- a/charts/mok/tests/postfix_test.yaml
+++ b/charts/mok/tests/postfix_test.yaml
@@ -4,8 +4,12 @@ templates:
   - secret.yaml
 tests:
   - it: should match snapshot
+    chart:
+      version: 1.2.3
     set:
       postfix:
+        image:
+          tag: 4.5.6
         tls:
           secretName: example-tls
     asserts:
@@ -71,16 +75,20 @@ tests:
         documentIndex: 1
         template: postfix.yaml
   - it: has config hash for auto-reload
+    chart:
+      version: 1.2.3
     set:
       dovecot:
         secretName: example-tls
     asserts:
       - equal:
           path: spec.template.metadata.annotations.[checksum/config]
-          value: 1ccde744f84d15a511177495e8197c3e895b1077c3e180da583ea4d8a3202332
+          value: 66ea930a9b7e50528ddc0aa54786d07f78c7f56d1daea45b21d9eb94f8e5c4f2
         documentIndex: 1
         template: postfix.yaml
   - it: has a changing config hash for auto-reload
+    chart:
+      version: 1.2.3
     set:
       dovecot:
         secretName: example-tls
@@ -92,6 +100,6 @@ tests:
     asserts:
       - equal:
           path: spec.template.metadata.annotations.[checksum/config]
-          value: ac3f477cdba7cd408edee56403b1c480ab9765791edd3fdf9fe5f60cfe0b80e9
+          value: 9215abccdd6c1f21fd329db0133f6f8e892c50aab3dcde3259ea797e8ad2a959
         documentIndex: 1
         template: postfix.yaml
diff --git a/charts/mok/tests/relay_test.yaml b/charts/mok/tests/relay_test.yaml
index c46334066..c8c03ceab 100644
--- a/charts/mok/tests/relay_test.yaml
+++ b/charts/mok/tests/relay_test.yaml
@@ -36,6 +36,8 @@ tests:
             example.edu             none
         documentIndex: 1
   - it: keeps stays the same
+    chart:
+      version: 1.2.3
     set:
       relay:
         relayHosts:
-- 
GitLab