feat context: Add deserialisation tests
This commit is contained in:
parent
a6eb421057
commit
75b6199c1b
3 changed files with 108 additions and 0 deletions
83
context/context_test.go
Normal file
83
context/context_test.go
Normal file
|
@ -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()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
15
context/testdata/collections-test.yaml
vendored
Normal file
15
context/testdata/collections-test.yaml
vendored
Normal file
|
@ -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
|
10
context/testdata/flat-test.yaml
vendored
Normal file
10
context/testdata/flat-test.yaml
vendored
Normal file
|
@ -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
|
Loading…
Reference in a new issue