package backend import ( "testing" "gopkg.in/yaml.v3" ) var testYAML = `--- type: "test-type" params: param1: 42 param2: foo ` type testParams struct { Param1 int `yaml:"param1"` Param2 string `yaml:"param2"` } func TestPartialConfigDeserialization(t *testing.T) { var c Config var p testParams if err := yaml.Unmarshal([]byte(testYAML), &c); err != nil { t.Fatalf("first unmarshal: %v", err) } if err := c.Params.Decode(&p); err != nil { t.Fatalf("second unmarshal: %v", err) } if p.Param1 != 42 { t.Errorf("param1 is %d, expected 42", p.Param1) } if p.Param2 != "foo" { t.Errorf("param2 is '%s', expected 'foo'", p.Param2) } }