From e8df4aa512220dd342e1cdc739d3c5188cfbfb16 Mon Sep 17 00:00:00 2001 From: Liz Rice Date: Fri, 23 Jun 2017 12:05:07 +0100 Subject: [PATCH] Add test to validate the YAML files --- check/controls_test.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 check/controls_test.go diff --git a/check/controls_test.go b/check/controls_test.go new file mode 100644 index 0000000..ef9b1f4 --- /dev/null +++ b/check/controls_test.go @@ -0,0 +1,32 @@ +package check + +import ( + "io/ioutil" + "testing" + + yaml "gopkg.in/yaml.v2" +) + +const cfgDir = "../cfg/" + +// validate that the files we're shipping are valid YAML +func TestYamlFiles(t *testing.T) { + files, err := ioutil.ReadDir(cfgDir) + if err != nil { + t.Fatalf("error reading %s directory: %v", cfgDir, err) + } + for _, file := range files { + fileName := file.Name() + in, err := ioutil.ReadFile(cfgDir + fileName) + if err != nil { + t.Fatalf("error opening file %s: %v", fileName, err) + } + + c := new(Controls) + + err = yaml.Unmarshal(in, c) + if err != nil { + t.Fatalf("failed to load YAML from %s: %v", fileName, err) + } + } +}