...

Source file src/github.com/letsencrypt/boulder/strictyaml/yaml_test.go

Documentation: github.com/letsencrypt/boulder/strictyaml

     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  }
    48  

View as plain text