-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreactLog_test.go
157 lines (130 loc) · 3.93 KB
/
reactLog_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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package reactLog
import (
"bytes"
"testing"
)
func TestSimpleWrite(t *testing.T) {
buf := &bytes.Buffer{}
logger := New(buf)
_, err := logger.Write([]byte("This is a test"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "This is a test" {
t.Fatalf("Expected %v, recived %v", "This is a test", buf.String())
}
}
func TestDiscard(t *testing.T) {
buf := &bytes.Buffer{}
logger := New(buf)
logger.AddReaction("INFO", &Discard{})
_, err := logger.Write([]byte("INFO This is a test"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
_, err = logger.Write([]byte("ERROR This is a test"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "ERROR This is a test" {
t.Fatalf("Expected %v, recived %v", "ERROR This is a test", buf.String())
}
}
func TestRedirect(t *testing.T) {
buf := &bytes.Buffer{}
redirectBuf := &bytes.Buffer{}
logger := New(buf)
logger.AddReaction("INFO", &Redirect{redirectBuf})
_, err := logger.Write([]byte("INFO This is a test"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
if redirectBuf.String() != "INFO This is a test" {
t.Fatalf("Expected %v, recived %v", "INFO This is a test", redirectBuf.String())
}
redirectBuf.Reset()
_, err = logger.Write([]byte("ERROR This is a test"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "ERROR This is a test" {
t.Fatalf("Expected %v, recived %v", "ERROR This is a test", buf.String())
}
if redirectBuf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", redirectBuf.String())
}
}
func TestCopy(t *testing.T) {
buf := &bytes.Buffer{}
copyBuf := &bytes.Buffer{}
logger := New(buf)
logger.AddReaction("user ID 85", &Copy{copyBuf})
_, err := logger.Write([]byte("This error message concers user ID 85 and will be copied to copyBuf."))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "This error message concers user ID 85 and will be copied to copyBuf." {
t.Fatalf("Expected %v, recived %v", "This error message concers user ID 85 and will be copied to copyBuf.", buf.String())
}
if copyBuf.String() != "This error message concers user ID 85 and will be copied to copyBuf." {
t.Fatalf("Expected %v, recived %v", "This error message concers user ID 85 and will be copied to copyBuf.", copyBuf.String())
}
}
func TestNonWord(t *testing.T) {
buf := &bytes.Buffer{}
logger := New(buf)
logger.AddReaction("custom string sample", &Discard{})
_, err := logger.Write([]byte("this is complex custom string sample sentence"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
}
func TestPositions(t *testing.T) {
buf := &bytes.Buffer{}
logger := New(buf)
logger.AddReaction("TRIGGER WORD", &Discard{})
_, err := logger.Write([]byte("TRIGGER WORD at the begining"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
buf.Reset()
_, err = logger.Write([]byte("At the end is TRIGGER WORD"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
buf.Reset()
_, err = logger.Write([]byte("In the middle is TRIGGER WORD is'n it"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
}
func TestUtf8(t *testing.T) {
buf := &bytes.Buffer{}
logger := New(buf)
logger.AddReaction("ČćžđšŽĆš", &Discard{})
_, err := logger.Write([]byte("This are croatian charcaters ČćžđšŽĆš"))
if err != nil {
t.Fatal("Unxepceted error, ", err)
}
if buf.String() != "" {
t.Fatalf("Expected %v, recived %v", "", buf.String())
}
}