Skip to content

Commit e1f0584

Browse files
authored
Snapshot testing for templates (nginx#5735)
1 parent 093f7fc commit e1f0584

File tree

8 files changed

+11477
-4
lines changed

8 files changed

+11477
-4
lines changed

.pre-commit-config.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ repos:
66
rev: v4.6.0
77
hooks:
88
- id: trailing-whitespace
9-
exclude: '(\.md$)'
9+
exclude: '(\.md|\.snap)$'
1010
- id: end-of-file-fixer
1111
- id: check-yaml
1212
args: [--allow-multiple-documents]
@@ -70,12 +70,12 @@ repos:
7070
name: "Check Helm Chart JSON Schema"
7171
files: charts/nginx-ingress/values.yaml
7272
types: [yaml]
73-
args: ['--schemafile', 'charts/nginx-ingress/values.schema.json']
73+
args: ["--schemafile", "charts/nginx-ingress/values.schema.json"]
7474

7575
- repo: https://github.com/DavidAnson/markdownlint-cli2
7676
rev: v0.13.0
7777
hooks:
78-
- id: markdownlint-cli2
78+
- id: markdownlint-cli2
7979

8080
ci:
8181
skip: [golang-diff, golangci-lint, check-jsonschema, markdownlint-cli2]

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ staticcheck: ## Run staticcheck linter
6565
test: ## Run GoLang tests
6666
go test -tags=aws -shuffle=on -race ./...
6767

68+
.PHONY: test-update-snaps
69+
test-update-snaps:
70+
UPDATE_SNAPS=true go test -tags=aws -shuffle=on -race ./...
71+
6872
cover: ## Generate coverage report
6973
@./hack/test-cover.sh
7074

go.mod

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ require (
77
github.com/aws/aws-sdk-go-v2/service/marketplacemetering v1.21.10
88
github.com/cert-manager/cert-manager v1.15.0
99
github.com/dlclark/regexp2 v1.11.0
10+
github.com/gkampitakis/go-snaps v0.5.4
1011
github.com/go-chi/chi/v5 v5.0.12
1112
github.com/golang-jwt/jwt/v4 v4.5.0
1213
github.com/golang/glog v1.2.0
@@ -58,6 +59,8 @@ require (
5859
github.com/evanphx/json-patch v5.9.0+incompatible // indirect
5960
github.com/fatih/color v1.16.0 // indirect
6061
github.com/felixge/httpsnoop v1.0.4 // indirect
62+
github.com/gkampitakis/ciinfo v0.3.0 // indirect
63+
github.com/gkampitakis/go-diff v1.3.2 // indirect
6164
github.com/go-asn1-ber/asn1-ber v1.5.6 // indirect
6265
github.com/go-jose/go-jose/v4 v4.0.2 // indirect
6366
github.com/go-kit/log v0.2.1 // indirect
@@ -84,6 +87,7 @@ require (
8487
github.com/json-iterator/go v1.1.12 // indirect
8588
github.com/kr/text v0.2.0 // indirect
8689
github.com/mailru/easyjson v0.7.7 // indirect
90+
github.com/maruel/natural v1.1.1 // indirect
8791
github.com/mattn/go-colorable v0.1.13 // indirect
8892
github.com/mattn/go-isatty v0.0.20 // indirect
8993
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -96,6 +100,10 @@ require (
96100
github.com/rogpeppe/go-internal v1.12.0 // indirect
97101
github.com/spf13/cobra v1.8.0 // indirect
98102
github.com/spf13/pflag v1.0.5 // indirect
103+
github.com/tidwall/gjson v1.17.0 // indirect
104+
github.com/tidwall/match v1.1.1 // indirect
105+
github.com/tidwall/pretty v1.2.1 // indirect
106+
github.com/tidwall/sjson v1.2.5 // indirect
99107
github.com/zeebo/errs v1.3.0 // indirect
100108
go.etcd.io/etcd/api/v3 v3.5.13 // indirect
101109
go.etcd.io/etcd/client/pkg/v3 v3.5.13 // indirect

go.sum

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2
6666
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
6767
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
6868
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
69+
github.com/gkampitakis/ciinfo v0.3.0 h1:gWZlOC2+RYYttL0hBqcoQhM7h1qNkVqvRCV1fOvpAv8=
70+
github.com/gkampitakis/ciinfo v0.3.0/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo=
71+
github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M=
72+
github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk=
73+
github.com/gkampitakis/go-snaps v0.5.4 h1:GX+dkKmVsRenz7SoTbdIEL4KQARZctkMiZ8ZKprRwT8=
74+
github.com/gkampitakis/go-snaps v0.5.4/go.mod h1:ZABkO14uCuVxBHAXAfKG+bqNz+aa1bGPAg8jkI0Nk8Y=
6975
github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
7076
github.com/go-asn1-ber/asn1-ber v1.5.6 h1:CYsqysemXfEaQbyrLJmdsCRuufHoLa3P/gGWGl5TDrM=
7177
github.com/go-asn1-ber/asn1-ber v1.5.6/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
@@ -167,6 +173,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
167173
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
168174
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
169175
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
176+
github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo=
177+
github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg=
170178
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
171179
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
172180
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
@@ -235,6 +243,16 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
235243
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
236244
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
237245
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
246+
github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
247+
github.com/tidwall/gjson v1.17.0 h1:/Jocvlh98kcTfpN2+JzGQWQcqrPQwDrVEMApx/M5ZwM=
248+
github.com/tidwall/gjson v1.17.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
249+
github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
250+
github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
251+
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
252+
github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
253+
github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
254+
github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=
255+
github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
238256
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE=
239257
github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk=
240258
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=

0 commit comments

Comments
 (0)