mirror of
https://gitee.com/johng/gf
synced 2026-06-06 16:21:40 +08:00
60 lines
1.5 KiB
Go
60 lines
1.5 KiB
Go
package sarama
|
|
|
|
import "testing"
|
|
|
|
var (
|
|
offsetRequestNoBlocks = []byte{
|
|
0xFF, 0xFF, 0xFF, 0xFF,
|
|
0x00, 0x00, 0x00, 0x00}
|
|
|
|
offsetRequestOneBlock = []byte{
|
|
0xFF, 0xFF, 0xFF, 0xFF,
|
|
0x00, 0x00, 0x00, 0x01,
|
|
0x00, 0x03, 'f', 'o', 'o',
|
|
0x00, 0x00, 0x00, 0x01,
|
|
0x00, 0x00, 0x00, 0x04,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
|
0x00, 0x00, 0x00, 0x02}
|
|
|
|
offsetRequestOneBlockV1 = []byte{
|
|
0xFF, 0xFF, 0xFF, 0xFF,
|
|
0x00, 0x00, 0x00, 0x01,
|
|
0x00, 0x03, 'b', 'a', 'r',
|
|
0x00, 0x00, 0x00, 0x01,
|
|
0x00, 0x00, 0x00, 0x04,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}
|
|
|
|
offsetRequestReplicaID = []byte{
|
|
0x00, 0x00, 0x00, 0x2a,
|
|
0x00, 0x00, 0x00, 0x00}
|
|
)
|
|
|
|
func TestOffsetRequest(t *testing.T) {
|
|
request := new(OffsetRequest)
|
|
testRequest(t, "no blocks", request, offsetRequestNoBlocks)
|
|
|
|
request.AddBlock("foo", 4, 1, 2)
|
|
testRequest(t, "one block", request, offsetRequestOneBlock)
|
|
}
|
|
|
|
func TestOffsetRequestV1(t *testing.T) {
|
|
request := new(OffsetRequest)
|
|
request.Version = 1
|
|
testRequest(t, "no blocks", request, offsetRequestNoBlocks)
|
|
|
|
request.AddBlock("bar", 4, 1, 2) // Last argument is ignored for V1
|
|
testRequest(t, "one block", request, offsetRequestOneBlockV1)
|
|
}
|
|
|
|
func TestOffsetRequestReplicaID(t *testing.T) {
|
|
request := new(OffsetRequest)
|
|
replicaID := int32(42)
|
|
request.SetReplicaID(replicaID)
|
|
|
|
if found := request.ReplicaID(); found != replicaID {
|
|
t.Errorf("replicaID: expected %v, found %v", replicaID, found)
|
|
}
|
|
|
|
testRequest(t, "with replica ID", request, offsetRequestReplicaID)
|
|
}
|