-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcheck_test.go
109 lines (90 loc) · 3.14 KB
/
check_test.go
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package check
import (
"testing"
"time"
"github.com/ParetoSecurity/pareto-core/shared"
)
type MockCheck struct {
uuid string
passed bool
isRunnable bool
}
func (m *MockCheck) Name() string { return "MockCheck" }
func (m *MockCheck) PassedMessage() string { return "Passed" }
func (m *MockCheck) FailedMessage() string { return "Failed" }
func (m *MockCheck) Run() error { return nil }
func (m *MockCheck) Passed() bool { return m.passed }
func (m *MockCheck) IsRunnable() bool { return m.isRunnable }
func (m *MockCheck) UUID() string { return m.uuid }
func (m *MockCheck) Status() string { return "Status" }
func (m *MockCheck) RequiresRoot() bool { return false }
func TestRegister(t *testing.T) {
shared.Config.Checks = make(map[string]shared.CheckStatus)
mockCheck := &MockCheck{
uuid: "1234",
passed: true,
isRunnable: true,
}
registeredCheck := Register(mockCheck)
if registeredCheck.UUID() != mockCheck.UUID() {
t.Errorf("Expected UUID %s, got %s", mockCheck.UUID(), registeredCheck.UUID())
}
if len(shared.Config.Checks) != 1 {
t.Errorf("Expected 1 check in the map, got %d", len(shared.Config.Checks))
}
checkStatus, exists := shared.Config.Checks[mockCheck.UUID()]
if !exists {
t.Errorf("Check with UUID %s not found in the map", mockCheck.UUID())
}
if checkStatus.Passed != mockCheck.Passed() {
t.Errorf("Expected Passed %v, got %v", mockCheck.Passed(), checkStatus.Passed)
}
if checkStatus.Disabled != !mockCheck.IsRunnable() {
t.Errorf("Expected Disabled %v, got %v", !mockCheck.IsRunnable(), checkStatus.Disabled)
}
if time.Since(checkStatus.UpdatedAt) > time.Second {
t.Errorf("Expected UpdatedAt to be recent, got %v", checkStatus.UpdatedAt)
}
}
func TestMockCheck_Name(t *testing.T) {
mockCheck := &MockCheck{}
expectedName := "MockCheck"
if mockCheck.Name() != expectedName {
t.Errorf("Expected Name %s, got %s", expectedName, mockCheck.Name())
}
}
func TestMockCheck_Status(t *testing.T) {
mockCheck := &MockCheck{}
expectedStatus := "Status"
if mockCheck.Status() != expectedStatus {
t.Errorf("Expected Status %s, got %s", expectedStatus, mockCheck.Status())
}
}
func TestMockCheck_UUID(t *testing.T) {
mockCheck := &MockCheck{uuid: "1234"}
expectedUUID := "1234"
if mockCheck.UUID() != expectedUUID {
t.Errorf("Expected UUID %s, got %s", expectedUUID, mockCheck.UUID())
}
}
func TestMockCheck_Passed(t *testing.T) {
mockCheck := &MockCheck{passed: true}
expectedPassed := true
if mockCheck.Passed() != expectedPassed {
t.Errorf("Expected Passed %v, got %v", expectedPassed, mockCheck.Passed())
}
}
func TestMockCheck_FailedMessage(t *testing.T) {
mockCheck := &MockCheck{}
expectedFailedMessage := "Failed"
if mockCheck.FailedMessage() != expectedFailedMessage {
t.Errorf("Expected FailedMessage %s, got %s", expectedFailedMessage, mockCheck.FailedMessage())
}
}
func TestMockCheck_PassedMessage(t *testing.T) {
mockCheck := &MockCheck{}
expectedPassedMessage := "Passed"
if mockCheck.PassedMessage() != expectedPassedMessage {
t.Errorf("Expected PassedMessage %s, got %s", expectedPassedMessage, mockCheck.PassedMessage())
}
}