From e8df4aa512220dd342e1cdc739d3c5188cfbfb16 Mon Sep 17 00:00:00 2001
From: Liz Rice <liz@lizrice.com>
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)
+		}
+	}
+}
-- 
GitLab