Files
narratio/internal/config/credential_projection_test.go

34 lines
768 B
Go

package config
import (
"reflect"
"testing"
"gopkg.in/yaml.v3"
)
func TestAuditaYAMLPreservesModuleSelection(t *testing.T) {
for _, tc := range []struct {
name string
modules []string
}{
{name: "omitted"},
{name: "explicit empty", modules: []string{}},
{name: "ordered repetitions", modules: []string{"grammar", "names", "grammar"}},
} {
t.Run(tc.name, func(t *testing.T) {
data, err := yaml.Marshal(AuditaConfig{Modules: tc.modules})
if err != nil {
t.Fatal(err)
}
var decoded AuditaConfig
if err := yaml.Unmarshal(data, &decoded); err != nil {
t.Fatal(err)
}
if !reflect.DeepEqual(decoded.Modules, tc.modules) {
t.Fatalf("modules = %#v, want %#v; YAML:\n%s", decoded.Modules, tc.modules, data)
}
})
}
}