diff options
Diffstat (limited to 'context/context_test.go')
-rw-r--r-- | context/context_test.go | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/context/context_test.go b/context/context_test.go new file mode 100644 index 000000000000..b34222ed4650 --- /dev/null +++ b/context/context_test.go @@ -0,0 +1,83 @@ +package context + +import ( + "reflect" + "testing" +) + +func TestLoadFlatContextFromFile(t *testing.T) { + ctx, err := LoadContextFromFile("testdata/flat-test.yaml") + + if err != nil { + t.Error(err) + t.Fail() + } + + expected := Context{ + Name: "k8s.prod.mydomain.com", + Global: map[string]interface{}{ + "globalVar": "lizards", + }, + ResourceSets: []ResourceSet{ + { + Name: "some-api", + Values: map[string]interface{}{ + "apiPort": float64(4567), // yep! + "importantFeature": true, + "version": "1.0-0e6884d", + }, + Include: nil, + Parent: "", + }, + }, + BaseDir: "testdata", + } + + if !reflect.DeepEqual(*ctx, expected) { + t.Error("Loaded context and expected context did not match") + t.Fail() + } +} + +func TestLoadContextWithResourceSetCollections(t *testing.T) { + ctx, err := LoadContextFromFile("testdata/collections-test.yaml") + + if err != nil { + t.Error(err) + t.Fail() + } + + expected := Context{ + Name: "k8s.prod.mydomain.com", + Global: map[string]interface{}{ + "globalVar": "lizards", + }, + ResourceSets: []ResourceSet{ + { + Name: "some-api", + Values: map[string]interface{}{ + "apiPort": float64(4567), // yep! + "importantFeature": true, + "version": "1.0-0e6884d", + }, + Include: nil, + Parent: "", + }, + { + Name: "collection/nested", + Values: map[string]interface{}{ + "lizards": "good", + }, + Include: nil, + Parent: "collection", + }, + }, + BaseDir: "testdata", + } + + if !reflect.DeepEqual(*ctx, expected) { + t.Error("Loaded context and expected context did not match") + t.Fail() + } + +} |