-
Notifications
You must be signed in to change notification settings - Fork 48
/
query_test.go
59 lines (46 loc) · 1.03 KB
/
query_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
package myreplication
import (
"reflect"
"testing"
)
func TestSendQuery(t *testing.T) {
command := "select @@version_comment limit 1"
q := query{}
pack := q.writeServer(command)
result := pack.packBytes()
expectedLength := []byte{0x21, 0x00, 0x00}
offset := 0
if !reflect.DeepEqual(expectedLength, result[offset:offset+3]) {
t.Fatal(
"Incorrect query length",
"expected", expectedLength,
"got", result[offset:offset+3],
)
}
offset += 3
expectedSequence := byte(0)
if expectedSequence != result[offset : offset+1][0] {
t.Fatal(
"Incorrect sequence",
"expected", expectedSequence,
"got", result[offset : offset+1][0],
)
}
offset++
if _COM_QUERY != result[offset : offset+1][0] {
t.Fatal(
"Incorrect command",
"expected", _COM_QUERY,
"got", result[offset : offset+1][0],
)
}
offset++
if command != string(result[offset:offset+len(command)]) {
t.Fatal(
"Incorrect commnad",
"expected", command,
"got", string(result[offset:offset+len(command)]),
)
}
offset += len(command)
}