master
go 49 lines 1.06 KB
Raw
1 package peerlog
2
3 import "testing"
4
5 func TestExtractEnabled(t *testing.T) {
6 for _, c := range []struct {
7 name string
8 config any
9 expected bool
10 }{
11 {
12 name: "nil config returns false",
13 config: nil,
14 expected: false,
15 },
16 {
17 name: "returns false when config is not a string map",
18 config: 1,
19 expected: false,
20 },
21 {
22 name: "returns false when config has no Enabled field",
23 config: map[string]any{},
24 expected: false,
25 },
26 {
27 name: "returns false when config has a null Enabled field",
28 config: map[string]any{"Enabled": nil},
29 expected: false,
30 },
31 {
32 name: "returns false when config has a non-boolean Enabled field",
33 config: map[string]any{"Enabled": 1},
34 expected: false,
35 },
36 {
37 name: "returns the value of the Enabled field",
38 config: map[string]any{"Enabled": true},
39 expected: true,
40 },
41 } {
42 t.Run(c.name, func(t *testing.T) {
43 isEnabled := extractEnabled(c.config)
44 if isEnabled != c.expected {
45 t.Fatalf("expected %v, got %v", c.expected, isEnabled)
46 }
47 })
48 }
49 }