Skip to content

Instantly share code, notes, and snippets.

@jguionnet
Created December 1, 2023 06:09
Show Gist options
  • Save jguionnet/376e768009a244d3315f31b82598aa78 to your computer and use it in GitHub Desktop.
Save jguionnet/376e768009a244d3315f31b82598aa78 to your computer and use it in GitHub Desktop.
Terratest Gist for PR on issues/1377
# Testing the new functions
$ cd modules/helm/
# Running test for the new functions
# creating a snapshot
$ go test -tags helm -run TestRemoteChartRenderDump
TestRemoteChartRenderDump 2023-11-30T21:52:06-08:00 logger.go:66: Running command helm with args [template --namespace dump-ns --namespace dump-ns --set image.registry= --set image.repository=nginx --set image.tag=13.2.20 nginx --repo https://charts.bitnami.com/bitnami]
TestRemoteChartRenderDump 2023-11-30T21:52:15-08:00 logger.go:66: ---
TestRemoteChartRenderDump 2023-11-30T21:52:15-08:00 logger.go:66: # Source: nginx/templates/svc.yaml
TestRemoteChartRenderDump 2023-11-30T21:52:15-08:00 logger.go:66: apiVersion: v1
...
TestRemoteChartRenderDump 2023-11-30T21:52:15-08:00 logger.go:66: volumeMounts:
TestRemoteChartRenderDump 2023-11-30T21:52:15-08:00 logger.go:66: volumes:
k8s manifest written into file: __snapshot__/nginx.yaml
PASS
ok github.com/gruntwork-io/terratest/modules/helm 10.093s
# diffing against a snaphot - Failed as expect as there is one difference
$ go test -tags helm -run TestRemoteChartRenderDiff
TestRemoteChartRenderDiff 2023-11-30T21:52:57-08:00 logger.go:66: Running command helm with args [template --namespace dump-ns --namespace dump-ns --set image.registry= --set image.repository=nginx --set image.tag=13.2.23 nginx --repo https://charts.bitnami.com/bitnami]
TestRemoteChartRenderDiff 2023-11-30T21:53:06-08:00 logger.go:66: ---
TestRemoteChartRenderDiff 2023-11-30T21:53:06-08:00 logger.go:66: # Source: nginx/templates/svc.yaml
TestRemoteChartRenderDiff 2023-11-30T21:53:06-08:00 logger.go:66: apiVersion: v1
TestRemoteChartRenderDiff 2023-11-30T21:53:06-08:00 logger.go:66: kind: Service
...
TestRemoteChartRenderDiff 2023-11-30T21:53:06-08:00 logger.go:66: volumeMounts:
TestRemoteChartRenderDiff 2023-11-30T21:53:06-08:00 logger.go:66: volumes:
_ __ __
_| |_ _ / _|/ _| between __snapshot__/nginx.yaml, two documents
/ _' | | | | |_| |_ and nginx.yaml, two documents
| (_| | |_| | _| _|
\__,_|\__, |_| |_| returned one difference
|___/
spec.template.spec.containers.nginx.image (document #2)
± value change
- nginx:13.2.20
+ nginx:13.2.23
--- FAIL: TestRemoteChartRenderDiff (8.71s)
template_test.go:142:
Error Trace: /Users/jguionnet/workspace/terratest/modules/helm/template_test.go:142
Error: Not equal:
expected: 1
actual : 0
Test: TestRemoteChartRenderDiff
FAIL
exit status 1
FAIL github.com/gruntwork-io/terratest/modules/helm 9.708s
# Running the example which run a similar test but using keda package vs bitnami/nginx
# create a snapshot
$ go test -tags helm -run TestHelmKedaRemoteExampleTemplateRenderedPackageDump
...
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:31-08:00 logger.go:66: - parameter
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:31-08:00 logger.go:66: - path
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:31-08:00 logger.go:66: type: object
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:31-08:00 logger.go:66: type: array
...
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:32-08:00 logger.go:66: - scaledobjects
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:32-08:00 logger.go:66: sideEffects: None
TestHelmKedaRemoteExampleTemplateRenderedPackageDump 2023-11-30T22:05:32-08:00 logger.go:66: timeoutSeconds: 10
k8s manifest written into file: __snapshot__/keda.yaml
PASS
ok github.com/gruntwork-io/terratest/test 2.867s
# Diff with the snapshot - failure expected due to different namespace and parameters
$ go test -tags helm -run TestHelmKedaRemoteExampleTemplateRenderedPackageDiff
...
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: type: string
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: - jsonPath: .metadata.creationTimestamp
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: name: Age
....
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: resources:
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: - scaledobjects
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: sideEffects: None
TestHelmKedaRemoteExampleTemplateRenderedPackageDiff 2023-11-30T22:06:46-08:00 logger.go:66: timeoutSeconds: 10
_ __ __
_| |_ _ / _|/ _| between __snapshot__/keda.yaml, 21 documents
/ _' | | | | |_| |_ and keda.yaml, 21 documents
| (_| | |_| | _| _|
\__,_|\__, |_| |_| returned 18 differences
|___/
metadata.namespace (document #1)
± value change
- medieval-inghng
+ medieval-0x1g4o
subjects.keda-operator.namespace (document #8)
± value change
- medieval-inghng
+ medieval-0x1g4o
subjects.keda-operator.namespace (document #9)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #11)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #12)
± value change
- medieval-inghng
+ medieval-0x1g4o
subjects.keda-operator.namespace (document #12)
± value change
- medieval-inghng
+ medieval-0x1g4o
subjects.keda-operator.namespace (document #13)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #14)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #15)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #16)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #17)
± value change
- medieval-inghng
+ medieval-0x1g4o
metadata.namespace (document #18)
± value change
- medieval-inghng
+ medieval-0x1g4o
spec.replicas (document #18)
± value change
- 999
+ 666
spec.template.spec.containers.keda-operator-metrics-apiserver.args (document #18)
- one list entry removed: + one list entry added:
- "--metrics-service-address=keda-operator.medieval-inghng.svc.cluster.local:9666" - "--metrics-service-address=keda-operator.medieval-0x1g4o.svc.cluster.local:9666"
spec.template.spec.containers.keda-operator-metrics-apiserver.resources.limits.memory (document #18)
± value change
- 1234Mi
+ 4321Mi
metadata.namespace (document #19)
± value change
- medieval-inghng
+ medieval-0x1g4o
spec.service.namespace (document #20)
± value change
- medieval-inghng
+ medieval-0x1g4o
webhooks.vscaledobject.kb.io.clientConfig.service.namespace (document #21)
± value change
- medieval-inghng
+ medieval-0x1g4o
--- FAIL: TestHelmKedaRemoteExampleTemplateRenderedPackageDiff (1.21s)
helm_keda_remote_example_template_snapshot_test.go:178:
Error Trace: /Users/jguionnet/workspace/terratest/test/helm_keda_remote_example_template_snapshot_test.go:178
Error: Not equal:
expected: 18
actual : 0
Test: TestHelmKedaRemoteExampleTemplateRenderedPackageDiff
FAIL
exit status 1
FAIL github.com/gruntwork-io/terratest/test 2.503s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment