diff options
author | Vincent Ambo <tazjin@gmail.com> | 2017-02-08T20·44+0100 |
---|---|---|
committer | Vincent Ambo <tazjin@gmail.com> | 2017-02-08T21·12+0100 |
commit | 75b6199c1b0b04bac32abc6f18a1dc2e68da0242 (patch) | |
tree | 2f6aa7be86e108287f5915b5a924aca3c1095b12 | |
parent | a6eb4210575c3d81ebd449b0b89092e33abf3394 (diff) |
feat context: Add deserialisation tests
-rw-r--r-- | context/context_test.go | 83 | ||||
-rw-r--r-- | context/testdata/collections-test.yaml | 15 | ||||
-rw-r--r-- | context/testdata/flat-test.yaml | 10 |
3 files changed, 108 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() + } + +} diff --git a/context/testdata/collections-test.yaml b/context/testdata/collections-test.yaml new file mode 100644 index 000000000000..a619c8cfddcc --- /dev/null +++ b/context/testdata/collections-test.yaml @@ -0,0 +1,15 @@ +--- +context: k8s.prod.mydomain.com +global: + globalVar: lizards +include: + - name: some-api + values: + version: 1.0-0e6884d + importantFeature: true + apiPort: 4567 + - name: collection + include: + - name: nested + values: + lizards: good diff --git a/context/testdata/flat-test.yaml b/context/testdata/flat-test.yaml new file mode 100644 index 000000000000..dd7804f719c3 --- /dev/null +++ b/context/testdata/flat-test.yaml @@ -0,0 +1,10 @@ +--- +context: k8s.prod.mydomain.com +global: + globalVar: lizards +include: + - name: some-api + values: + version: 1.0-0e6884d + importantFeature: true + apiPort: 4567 |