github.com/letsencrypt/boulder@v0.20251208.0/strictyaml/yaml_test.go (about) 1 package strictyaml 2 3 import ( 4 "io" 5 "testing" 6 7 "github.com/letsencrypt/boulder/test" 8 ) 9 10 var ( 11 emptyConfig = []byte(``) 12 validConfig = []byte(` 13 a: c 14 d: c 15 `) 16 invalidConfig1 = []byte(` 17 x: y 18 `) 19 20 invalidConfig2 = []byte(` 21 a: c 22 d: c 23 x: 24 - hey 25 `) 26 ) 27 28 func TestStrictYAMLUnmarshal(t *testing.T) { 29 var config struct { 30 A string `yaml:"a"` 31 D string `yaml:"d"` 32 } 33 34 err := Unmarshal(validConfig, &config) 35 test.AssertNotError(t, err, "yaml: unmarshal errors") 36 test.AssertNotError(t, err, "EOF") 37 38 err = Unmarshal(invalidConfig1, &config) 39 test.AssertError(t, err, "yaml: unmarshal errors") 40 41 err = Unmarshal(invalidConfig2, &config) 42 test.AssertError(t, err, "yaml: unmarshal errors") 43 44 // Test an empty buffer (config file) 45 err = Unmarshal(emptyConfig, &config) 46 test.AssertErrorIs(t, err, io.EOF) 47 }