mirror of
https://github.com/helmfile/helmfile.git
synced 2026-10-01 03:05:54 +02:00
This adds `values` to state files as proposed in #640. ```yaml values: - key1: val1 - defaults.yaml environments: default: - values: - environments/default.yaml production: - values: - environments/production.yaml ``` `{{ .Valuese.key1 }}` evaluates to `val1` if and only if it is not overrode via the production or the default env, or command-line args. Resolves #640
62 lines
1.1 KiB
Go
62 lines
1.1 KiB
Go
package maputil
|
|
|
|
import "testing"
|
|
|
|
func TestMapUtil_StrKeys(t *testing.T) {
|
|
m := map[string]interface{}{
|
|
"a": []interface{}{
|
|
map[string]interface{}{
|
|
"b": []interface{}{
|
|
map[string]interface{}{
|
|
"c": "C",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
r, err := CastKeysToStrings(m)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
|
|
a := r["a"].([]interface{})
|
|
a0 := a[0].(map[string]interface{})
|
|
b := a0["b"].([]interface{})
|
|
b0 := b[0].(map[string]interface{})
|
|
c := b0["c"]
|
|
|
|
if c != "C" {
|
|
t.Errorf("unexpected c: expected=C, got=%s", c)
|
|
}
|
|
}
|
|
|
|
func TestMapUtil_IFKeys(t *testing.T) {
|
|
m := map[interface{}]interface{}{
|
|
"a": []interface{}{
|
|
map[interface{}]interface{}{
|
|
"b": []interface{}{
|
|
map[interface{}]interface{}{
|
|
"c": "C",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
r, err := CastKeysToStrings(m)
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
|
|
a := r["a"].([]interface{})
|
|
a0 := a[0].(map[string]interface{})
|
|
b := a0["b"].([]interface{})
|
|
b0 := b[0].(map[string]interface{})
|
|
c := b0["c"]
|
|
|
|
if c != "C" {
|
|
t.Errorf("unexpected c: expected=C, got=%s", c)
|
|
}
|
|
}
|