-
Notifications
You must be signed in to change notification settings - Fork 1k
/
log_test.go
60 lines (52 loc) · 1.87 KB
/
log_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
package sentry_candidates
import (
"context"
"github.com/nxadm/tail"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"strings"
"testing"
)
func TestLogRead(t *testing.T) {
line := `
{"capabilities":["eth/66","wit/0"],"clientID":"Nethermind/v1.13.0-0-2e8910b5b-20220520/X64-Linux/6.0.4","lvl":"dbug","msg":"Sentry peer did Connect","nodeURL":"enode://4293b17b897abed4a88d6e760e86a4bb700d62c12a9411fbf9ec0c9df3740c8670b184bd9f24d163cbd9bf05264b3047a69f079209d53d2e0dc05dd678d07cf0@1.2.3.4:45492","peer":"93b17b897abed4a88d6e760e86a4bb700d62c12a9411fbf9ec0c9df3740c8670b184bd9f24d163cbd9bf05264b3047a69f079209d53d2e0dc05dd678d07cf000","t":"2022-05-31T11:10:19.032092272Z"}
`
line = strings.TrimLeft(line, "\r\n ")
eventLog := NewLog(NewScannerLineReader(strings.NewReader(line)))
event, err := eventLog.Read()
assert.Nil(t, err)
require.NotNil(t, event)
assert.NotEmpty(t, event.Message)
assert.NotEmpty(t, event.PeerIDHex)
assert.NotEmpty(t, event.NodeURL)
assert.NotEmpty(t, event.ClientID)
assert.Equal(t, int64(1653995419), event.Timestamp.Unix())
assert.Equal(t, "Sentry peer did Connect", event.Message)
assert.True(t, strings.HasPrefix(event.NodeURL, "enode:"))
assert.True(t, strings.HasPrefix(event.ClientID, "Nethermind"))
assert.Equal(t, 2, len(event.Capabilities))
}
func TestLogReadTailSkimFile(t *testing.T) {
t.Skip()
logFile, err := tail.TailFile(
"erigon.log",
tail.Config{Follow: false, MustExist: true})
require.Nil(t, err)
defer func() {
_ = logFile.Stop()
}()
eventLog := NewLog(NewTailLineReader(context.Background(), logFile))
for {
event, err := eventLog.Read()
require.Nil(t, err)
if event == nil {
break
}
}
}
func TestLogEventEthVersion(t *testing.T) {
event := LogEvent{}
event.Capabilities = []string{"wit/0", "eth/64", "eth/65", "eth/66"}
version := event.EthVersion()
assert.Equal(t, uint(66), version)
}