@@ -3,13 +3,15 @@ package parsefield
3
3
import (
4
4
"bytes"
5
5
"encoding/json"
6
+ "fmt"
7
+ "github.com/MonaxGT/parsefields/storage"
6
8
"io/ioutil"
7
9
"net/http"
8
10
"net/http/httptest"
9
11
"sync"
10
12
"testing"
13
+ "time"
11
14
12
- "fmt"
13
15
"github.com/julienschmidt/httprouter"
14
16
)
15
17
@@ -21,6 +23,49 @@ type Body struct {
21
23
LogName string `json:"event_log_name,omitempty"`
22
24
}
23
25
26
+ type MockReindexer struct {
27
+ mockInsertFields func () error
28
+ mockRestoreEvents func () error
29
+ }
30
+
31
+ func (s * MockReindexer ) Open (url string ) error {
32
+ panic ("implement me" )
33
+ }
34
+
35
+ func (s * MockReindexer ) InsertEvents (event * storage.Events ) error {
36
+ panic ("implement me" )
37
+ }
38
+
39
+ func (s * MockReindexer ) RestoreFields () ([]* storage.Fields , error ) {
40
+ panic ("implement me" )
41
+ }
42
+
43
+ func (s * MockReindexer ) RestoreEvents () ([]* storage.Events , error ) {
44
+ if s .mockRestoreEvents != nil {
45
+ return nil ,s .mockRestoreEvents ()
46
+ }
47
+ return nil ,nil
48
+ }
49
+
50
+ func (s * MockReindexer ) DeleteEvents (logname string , eventid int32 ) error {
51
+ panic ("implement me" )
52
+ }
53
+
54
+ func (s * MockReindexer ) DeleteFields (field string ) error {
55
+ panic ("implement me" )
56
+ }
57
+
58
+ func (s * MockReindexer ) GetByEvent (logname string , eventid int32 ) ([]byte , error ) {
59
+ panic ("implement me" )
60
+ }
61
+
62
+ func (s * MockReindexer ) InsertFields (field * storage.Fields ) error {
63
+ if s .mockInsertFields != nil {
64
+ return s .mockInsertFields ()
65
+ }
66
+ return nil
67
+ }
68
+
24
69
func TestJSONHandler (t * testing.T ) {
25
70
var fields sync.Map
26
71
var events sync.Map
@@ -344,3 +389,50 @@ func TestEventsBodyHandler(t *testing.T) {
344
389
}
345
390
}
346
391
}
392
+
393
+ func TestServe (t * testing.T ) {
394
+ c := Config {}
395
+ go func () {
396
+ for {
397
+ select {
398
+ case <- time .After (2 * time .Second ):
399
+ return
400
+ default :
401
+ err := c .Serve (":8123" )
402
+ if err != nil {
403
+ t .Error (err )
404
+ }
405
+ }
406
+ }
407
+ }()
408
+
409
+ }
410
+
411
+ func TestDB (t * testing.T ) {
412
+ var db storage.Database
413
+ var fields sync.Map
414
+ var events sync.Map
415
+ ms := & MockReindexer {
416
+ mockInsertFields : func () error {
417
+ return nil
418
+ },
419
+ mockRestoreEvents : func () error {
420
+ return nil
421
+ },
422
+ }
423
+ db = ms
424
+ c := Config {
425
+ Fields : & fields ,
426
+ Events : & events ,
427
+ DB : db ,
428
+ }
429
+ err := c .DB .InsertFields (& storage.Fields {})
430
+ if err != nil {
431
+ t .Error (err )
432
+ }
433
+ _ , err = c .DB .RestoreEvents ()
434
+ if err != nil {
435
+ t .Error (err )
436
+ }
437
+
438
+ }
0 commit comments