5849898283
Unit tests functional and coverage back to 100% Add more routes to dictionary, add more credentials, add default port 5554, rename cameradar logs ENV variable, improve unit test readability, remove tmp file
107 lines
2.1 KiB
Go
107 lines
2.1 KiB
Go
// Testing support for go-toml
|
|
|
|
package toml
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestTomlHas(t *testing.T) {
|
|
tree, _ := Load(`
|
|
[test]
|
|
key = "value"
|
|
`)
|
|
|
|
if !tree.Has("test.key") {
|
|
t.Errorf("Has - expected test.key to exists")
|
|
}
|
|
|
|
if tree.Has("") {
|
|
t.Errorf("Should return false if the key is not provided")
|
|
}
|
|
}
|
|
|
|
func TestTomlGet(t *testing.T) {
|
|
tree, _ := Load(`
|
|
[test]
|
|
key = "value"
|
|
`)
|
|
|
|
if tree.Get("") != tree {
|
|
t.Errorf("Get should return the tree itself when given an empty path")
|
|
}
|
|
|
|
if tree.Get("test.key") != "value" {
|
|
t.Errorf("Get should return the value")
|
|
}
|
|
if tree.Get(`\`) != nil {
|
|
t.Errorf("should return nil when the key is malformed")
|
|
}
|
|
}
|
|
|
|
func TestTomlGetDefault(t *testing.T) {
|
|
tree, _ := Load(`
|
|
[test]
|
|
key = "value"
|
|
`)
|
|
|
|
if tree.GetDefault("", "hello") != tree {
|
|
t.Error("GetDefault should return the tree itself when given an empty path")
|
|
}
|
|
|
|
if tree.GetDefault("test.key", "hello") != "value" {
|
|
t.Error("Get should return the value")
|
|
}
|
|
|
|
if tree.GetDefault("whatever", "hello") != "hello" {
|
|
t.Error("GetDefault should return the default value if the key does not exist")
|
|
}
|
|
}
|
|
|
|
func TestTomlHasPath(t *testing.T) {
|
|
tree, _ := Load(`
|
|
[test]
|
|
key = "value"
|
|
`)
|
|
|
|
if !tree.HasPath([]string{"test", "key"}) {
|
|
t.Errorf("HasPath - expected test.key to exists")
|
|
}
|
|
}
|
|
|
|
func TestTomlGetPath(t *testing.T) {
|
|
node := newTree()
|
|
//TODO: set other node data
|
|
|
|
for idx, item := range []struct {
|
|
Path []string
|
|
Expected *Tree
|
|
}{
|
|
{ // empty path test
|
|
[]string{},
|
|
node,
|
|
},
|
|
} {
|
|
result := node.GetPath(item.Path)
|
|
if result != item.Expected {
|
|
t.Errorf("GetPath[%d] %v - expected %v, got %v instead.", idx, item.Path, item.Expected, result)
|
|
}
|
|
}
|
|
|
|
tree, _ := Load("[foo.bar]\na=1\nb=2\n[baz.foo]\na=3\nb=4\n[gorf.foo]\na=5\nb=6")
|
|
if tree.GetPath([]string{"whatever"}) != nil {
|
|
t.Error("GetPath should return nil when the key does not exist")
|
|
}
|
|
}
|
|
|
|
func TestTomlFromMap(t *testing.T) {
|
|
simpleMap := map[string]interface{}{"hello": 42}
|
|
tree, err := TreeFromMap(simpleMap)
|
|
if err != nil {
|
|
t.Fatal("unexpected error:", err)
|
|
}
|
|
if tree.Get("hello") != int64(42) {
|
|
t.Fatal("hello should be 42, not", tree.Get("hello"))
|
|
}
|
|
}
|