1
2 package mapper
3
4
7
8 import (
9 "testing"
10
11 "github.com/stretchr/testify/assert"
12
13 "edge-infra.dev/pkg/edge/api/graph/model"
14 )
15
16 func TestToLogClassSelection(t *testing.T) {
17 testcases := []struct {
18 title string
19 value string
20 expected model.LogClassSelection
21 assertionFunc func(t *testing.T, err error, expected, actual model.LogClassSelection)
22 }{
23 {
24 title: "Test Case 1 - Audit",
25 value: "audit",
26 expected: model.LogClassSelectionAudit,
27 assertionFunc: func(t *testing.T, err error, expected, actual model.LogClassSelection) {
28 assert.NoError(t, err)
29 assert.Equal(t, expected, actual)
30 },
31 },
32 {
33 title: "Test Case 2 - Security",
34 value: "security",
35 expected: model.LogClassSelectionSecurity,
36 assertionFunc: func(t *testing.T, err error, expected, actual model.LogClassSelection) {
37 assert.NoError(t, err)
38 assert.Equal(t, expected, actual)
39 },
40 },
41 {
42 title: "Test Case 3 - Invalid Edge Info Injectable Configmap Value",
43 value: "invalid-audit",
44 expected: model.LogClassSelectionAudit,
45 assertionFunc: func(t *testing.T, err error, expected, actual model.LogClassSelection) {
46 assert.Error(t, err)
47 assert.NotEqual(t, expected, actual)
48 },
49 },
50 {
51 title: "Test Case 4 - Invalid Security Log Class Selection Value",
52 value: "invalid-security",
53 expected: model.LogClassSelectionSecurity,
54 assertionFunc: func(t *testing.T, err error, expected, actual model.LogClassSelection) {
55 assert.Error(t, err)
56 assert.NotEqual(t, expected, actual)
57 },
58 },
59 }
60
61 for _, testcase := range testcases {
62 t.Run(testcase.title, func(t *testing.T) {
63 actual, err := ToLogClassSelection(testcase.value)
64 testcase.assertionFunc(t, err, testcase.expected, actual)
65 })
66 }
67 }
68
View as plain text