mirror of
https://github.com/helm/helm.git
synced 2026-05-28 04:35:48 -04:00
updated unit tests to conform with helm best practices
Signed-off-by: Matthew Luckam <Matthew.Luckam@peraton.com>
This commit is contained in:
parent
f402994461
commit
592c338242
1 changed files with 43 additions and 13 deletions
|
|
@ -104,7 +104,7 @@ func TestValidateValuesFileSchemaFailure(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestValidateValuesFileSchemaOverrides(t *testing.T) {
|
||||
yaml := "username: admin\npassword:"
|
||||
yaml := "username: admin"
|
||||
overrides := map[string]interface{}{
|
||||
"password": "swordfish",
|
||||
}
|
||||
|
|
@ -118,21 +118,51 @@ func TestValidateValuesFileSchemaOverrides(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestValidateValuesFileSchemaOverridesFailure(t *testing.T) {
|
||||
yaml := "username: admin\npassword:"
|
||||
overrides := map[string]interface{}{
|
||||
"username": "anotherUser",
|
||||
func TestValidateValuesFile(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
yaml string
|
||||
overrides map[string]interface{}
|
||||
errorMessage string
|
||||
}{
|
||||
{
|
||||
name: "value added",
|
||||
yaml: "username: admin",
|
||||
overrides: map[string]interface{}{"password": "swordfish"},
|
||||
},
|
||||
{
|
||||
name: "value not overridden",
|
||||
yaml: "username: admin\npassword:",
|
||||
overrides: map[string]interface{}{"username": "anotherUser"},
|
||||
errorMessage: "Expected: string, given: null",
|
||||
},
|
||||
{
|
||||
name: "value overridden",
|
||||
yaml: "username: admin\npassword:",
|
||||
overrides: map[string]interface{}{"username": "anotherUser", "password": "swordfish"},
|
||||
},
|
||||
}
|
||||
tmpdir := ensure.TempFile(t, "values.yaml", []byte(yaml))
|
||||
defer os.RemoveAll(tmpdir)
|
||||
createTestingSchema(t, tmpdir)
|
||||
|
||||
valfile := filepath.Join(tmpdir, "values.yaml")
|
||||
err := validateValuesFile(valfile, overrides)
|
||||
if err == nil {
|
||||
t.Fatalf("expected values file to fail parsing")
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
tmpdir := ensure.TempFile(t, "values.yaml", []byte(tt.yaml))
|
||||
defer os.RemoveAll(tmpdir)
|
||||
createTestingSchema(t, tmpdir)
|
||||
|
||||
valfile := filepath.Join(tmpdir, "values.yaml")
|
||||
|
||||
err := validateValuesFile(valfile, tt.overrides)
|
||||
|
||||
switch {
|
||||
case err != nil && tt.errorMessage == "":
|
||||
t.Errorf("Failed validation with %s", err)
|
||||
case err == nil && tt.errorMessage != "":
|
||||
t.Error("expected values file to fail parsing")
|
||||
case err != nil && tt.errorMessage != "":
|
||||
assert.Contains(t, err.Error(), tt.errorMessage, "Failed with unexpected error")
|
||||
}
|
||||
})
|
||||
}
|
||||
assert.Contains(t, err.Error(), "Expected: string, given: null", "Null value for password should be caught by schema")
|
||||
}
|
||||
|
||||
func createTestingSchema(t *testing.T, dir string) string {
|
||||
|
|
|
|||
Loading…
Reference in a new issue