fix(helm): refactor lint unit tests to table-driven

Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
pull/5177/head
Arash Deshmeh 7 years ago
parent bfc0d76fff
commit 764c3187e9

@ -20,40 +20,53 @@ import (
"testing" "testing"
) )
var (
values = []byte{}
namespace = "testNamespace"
strict = false
archivedChartPath = "testdata/testcharts/compressedchart-0.1.0.tgz"
archivedChartPathWithHyphens = "testdata/testcharts/compressedchart-with-hyphens-0.1.0.tgz"
invalidArchivedChartPath = "testdata/testcharts/invalidcompressedchart0.1.0.tgz"
chartDirPath = "testdata/testcharts/decompressedchart/"
chartMissingManifest = "testdata/testcharts/chart-missing-manifest"
chartWithPreReleaseVersion = "testdata/testcharts/pre-release-chart-0.1.0-alpha.tgz"
)
func TestLintChart(t *testing.T) { func TestLintChart(t *testing.T) {
if _, err := lintChart(chartDirPath, values, namespace, strict); err != nil { tests := []struct {
t.Errorf("%s", err) name string
chartPath string
err bool
}{
{
name: "decompressed-chart",
chartPath: "testdata/testcharts/decompressedchart/",
},
{
name: "archived-chart-path",
chartPath: "testdata/testcharts/compressedchart-0.1.0.tgz",
},
{
name: "archived-chart-path-with-hyphens",
chartPath: "testdata/testcharts/compressedchart-with-hyphens-0.1.0.tgz",
},
{
name: "pre-release-chart",
chartPath: "testdata/testcharts/pre-release-chart-0.1.0-alpha.tgz",
},
{
name: "invalid-archived-chart-path",
chartPath: "testdata/testcharts/invalidcompressedchart0.1.0.tgz",
err: true,
},
{
name: "chart-missing-manifest",
chartPath: "testdata/testcharts/chart-missing-manifest",
err: true,
},
} }
if _, err := lintChart(archivedChartPath, values, namespace, strict); err != nil { values := []byte{}
t.Errorf("%s", err) namespace := "testNamespace"
} strict := false
if _, err := lintChart(archivedChartPathWithHyphens, values, namespace, strict); err != nil {
t.Errorf("%s", err)
}
if _, err := lintChart(chartWithPreReleaseVersion, values, namespace, strict); err != nil {
t.Errorf("%s", err)
}
if _, err := lintChart(invalidArchivedChartPath, values, namespace, strict); err == nil {
t.Errorf("Expected a chart parsing error")
}
if _, err := lintChart(chartMissingManifest, values, namespace, strict); err == nil { for _, tt := range tests {
t.Errorf("Expected a chart parsing error") t.Run(tt.name, func(t *testing.T) {
_, err := lintChart(tt.chartPath, values, namespace, strict)
switch {
case err != nil && !tt.err:
t.Errorf("%s", err)
case err == nil && tt.err:
t.Errorf("Expected a chart parsing error")
}
})
} }
} }

Loading…
Cancel
Save