adds tests for handling of Helm index with broken chart versions #13176

Signed-off-by: ricardo.bartels@telekom.de <ricardo.bartels@telekom.de>
(cherry picked from commit af13b0d8dc)
release-3.16
ricardo.bartels@telekom.de 4 months ago committed by Matt Farina
parent 961194d85d
commit 9fc8f1b614
No known key found for this signature in database
GPG Key ID: 92C44A3D421FF7F9

@ -644,3 +644,77 @@ func TestIgnoreSkippableChartValidationError(t *testing.T) {
})
}
}
var indexWithDuplicatesInChartDeps = `
apiVersion: v1
entries:
nginx:
- urls:
- https://charts.helm.sh/stable/alpine-1.0.0.tgz
- http://storage2.googleapis.com/kubernetes-charts/alpine-1.0.0.tgz
name: alpine
description: string
home: https://github.com/something
digest: "sha256:1234567890abcdef"
- urls:
- https://charts.helm.sh/stable/nginx-0.2.0.tgz
name: nginx
description: string
version: 0.2.0
home: https://github.com/something/else
digest: "sha256:1234567890abcdef"
`
var indexWithDuplicatesInLastChartDeps = `
apiVersion: v1
entries:
nginx:
- urls:
- https://charts.helm.sh/stable/nginx-0.2.0.tgz
name: nginx
description: string
version: 0.2.0
home: https://github.com/something/else
digest: "sha256:1234567890abcdef"
- urls:
- https://charts.helm.sh/stable/alpine-1.0.0.tgz
- http://storage2.googleapis.com/kubernetes-charts/alpine-1.0.0.tgz
name: alpine
description: string
home: https://github.com/something
digest: "sha256:111"
`
func TestLoadIndex_DuplicateChartDeps(t *testing.T) {
tests := []struct {
source string
data string
}{
{
source: "indexWithDuplicatesInChartDeps",
data: indexWithDuplicatesInChartDeps,
},
{
source: "indexWithDuplicatesInLastChartDeps",
data: indexWithDuplicatesInLastChartDeps,
},
}
for _, tc := range tests {
t.Run(tc.source, func(t *testing.T) {
idx, err := loadIndex([]byte(tc.data), tc.source)
if err != nil {
t.Fatalf("unexpected error: %s", err)
}
cvs := idx.Entries["nginx"]
if cvs == nil {
if err != nil {
t.Error("expected one chart version not to be filtered out")
}
}
for _, v := range cvs {
if v.Name == "alpine" {
t.Error("malformed version was not filtered out")
}
}
})
}
}

Loading…
Cancel
Save