metadata_test.go 838 Bytes
Newer Older
Jeromy's avatar
Jeromy committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package log

import "testing"

func TestOverwrite(t *testing.T) {
	t.Parallel()

	under := Metadata{
		"a": Metadata{
			"b": Metadata{
				"c": Metadata{
					"d":     "the original value",
					"other": "SURVIVE",
				},
			},
		},
	}
	over := Metadata{
		"a": Metadata{
			"b": Metadata{
				"c": Metadata{
					"d": "a new value",
				},
			},
		},
	}

	out := DeepMerge(under, over)

	dval := out["a"].(Metadata)["b"].(Metadata)["c"].(Metadata)["d"].(string)
	if dval != "a new value" {
		t.Fatal(dval)
	}
	surv := out["a"].(Metadata)["b"].(Metadata)["c"].(Metadata)["other"].(string)
	if surv != "SURVIVE" {
		t.Fatal(surv)
	}
}

func TestMarshalJSON(t *testing.T) {
	t.Parallel()
	bs, _ := Metadata{"a": "b"}.JsonString()
	t.Log(bs)
}

func TestMetadataIsLoggable(t *testing.T) {
	t.Parallel()
	func(l Loggable) {
	}(Metadata{})
}