From 51800c18d76705184f23d3b850d2b2699a25676a Mon Sep 17 00:00:00 2001 From: Erin Call Date: Tue, 17 Dec 2019 16:41:09 -0800 Subject: [PATCH] Implement the various values flags in lint [#3] --- internal/run/lint.go | 14 +++++++++++++- internal/run/lint_test.go | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/internal/run/lint.go b/internal/run/lint.go index 85082c3..b4093ac 100644 --- a/internal/run/lint.go +++ b/internal/run/lint.go @@ -18,7 +18,19 @@ func (l *Lint) Execute(_ Config) error { // Prepare gets the Lint ready to execute. func (l *Lint) Prepare(cfg Config) error { - args := []string{"lint", l.Chart} + args := []string{"lint"} + + if cfg.Values != "" { + args = append(args, "--set", cfg.Values) + } + if cfg.StringValues != "" { + args = append(args, "--set-string", cfg.StringValues) + } + for _, vFile := range cfg.ValuesFiles { + args = append(args, "--values", vFile) + } + + args = append(args, l.Chart) l.cmd = command(helmBin, args...) l.cmd.Stdout(cfg.Stdout) diff --git a/internal/run/lint_test.go b/internal/run/lint_test.go index e86bcb5..1c119f1 100644 --- a/internal/run/lint_test.go +++ b/internal/run/lint_test.go @@ -56,3 +56,35 @@ func (suite *LintTestSuite) TestPrepareAndExecute() { suite.Require().Nil(err) l.Execute(cfg) } + +func (suite *LintTestSuite) TestPrepareWithLintFlags() { + defer suite.ctrl.Finish() + + cfg := Config{ + Values: "width=5", + StringValues: "version=2.0", + ValuesFiles: []string{"/usr/local/underrides", "/usr/local/overrides"}, + } + + l := Lint{ + Chart: "./uk/top_40", + } + + command = func(path string, args ...string) cmd { + suite.Equal(helmBin, path) + suite.Equal([]string{"lint", + "--set", "width=5", + "--set-string", "version=2.0", + "--values", "/usr/local/underrides", + "--values", "/usr/local/overrides", + "./uk/top_40"}, args) + + return suite.mockCmd + } + + suite.mockCmd.EXPECT().Stdout(gomock.Any()) + suite.mockCmd.EXPECT().Stderr(gomock.Any()) + + err := l.Prepare(cfg) + suite.Require().Nil(err) +}