Files
argo-cd/util/helm/cmd_test.go
Simon Behar 656167fceb Fix possible path traversal attack when supporting Helm values.yaml (#2452)
* Done

* Pre-commit

* Fixed bugs

* Fixed E2E test

* Added doc

* Added tests

* Pre-commit

* Lint issues

* Linter
2019-10-16 07:48:15 -07:00

48 lines
1.1 KiB
Go

package helm
import (
"testing"
"github.com/stretchr/testify/assert"
)
func Test_cmd_redactor(t *testing.T) {
assert.Equal(t, "--foo bar", redactor("--foo bar"))
assert.Equal(t, "--username ******", redactor("--username bar"))
assert.Equal(t, "--password ******", redactor("--password bar"))
}
func TestCmd_template_kubeVersion(t *testing.T) {
cmd, err := NewCmd(".")
assert.NoError(t, err)
s, err := cmd.template("testdata/redis", &TemplateOpts{
KubeVersion: "1.14",
})
assert.NoError(t, err)
assert.NotEmpty(t, s)
}
func TestCmd_template_PathTraversal(t *testing.T) {
cmd, err := NewCmd("./testdata/redis")
assert.NoError(t, err)
s, err := cmd.template(".", &TemplateOpts{
KubeVersion: "1.14",
Values: []string{"values.yaml"},
})
assert.NoError(t, err)
assert.NotEmpty(t, s)
_, err = cmd.template(".", &TemplateOpts{
KubeVersion: "1.14",
Values: []string{"../minio/values.yaml"},
})
assert.Error(t, err)
s, err = cmd.template(".", &TemplateOpts{
KubeVersion: "1.14",
Values: []string{"../minio/../redis/values.yaml"},
})
assert.NoError(t, err)
assert.NotEmpty(t, s)
}