MCPcopy
hub / github.com/segmentio/kafka-go / TestV1BatchOffsets

Function TestV1BatchOffsets

message_test.go:25–237  ·  view source on GitHub ↗

This regression test covers reading messages using offsets that are at the beginning and in the middle of compressed and uncompressed v1 message sets.

(t *testing.T)

Source from the content-addressed store, hash-verified

23// are at the beginning and in the middle of compressed and uncompressed
24// v1 message sets.
25func TestV1BatchOffsets(t *testing.T) {
26 const highWatermark = 5000
27 const topic = "test-topic"
28 var (
29 msg0 = Message{
30 Offset: 0,
31 Key: []byte("msg-0"),
32 Value: []byte("key-0"),
33 }
34 msg1 = Message{
35 Offset: 1,
36 Key: []byte("msg-1"),
37 Value: []byte("key-1"),
38 }
39 msg2 = Message{
40 Offset: 2,
41 Key: []byte("msg-2"),
42 Value: []byte("key-2"),
43 }
44 )
45
46 for _, tc := range []struct {
47 name string
48 builder fetchResponseBuilder
49 offset int64
50 expected []Message
51 debug bool
52 }{
53 {
54 name: "num=1 off=0",
55 offset: 0,
56 builder: fetchResponseBuilder{
57 header: fetchResponseHeader{
58 highWatermarkOffset: highWatermark,
59 lastStableOffset: highWatermark,
60 topic: topic,
61 },
62 msgSets: []messageSetBuilder{
63 v1MessageSetBuilder{
64 msgs: []Message{msg0},
65 },
66 },
67 },
68 expected: []Message{msg0},
69 },
70 {
71 name: "num=1 off=0 compressed",
72 offset: 0,
73 builder: fetchResponseBuilder{
74 header: fetchResponseHeader{
75 highWatermarkOffset: highWatermark,
76 lastStableOffset: highWatermark,
77 topic: topic,
78 },
79 msgSets: []messageSetBuilder{
80 v1MessageSetBuilder{
81 codec: new(gzip.Codec),
82 msgs: []Message{msg0},

Callers

nothing calls this directly

Calls 5

newReaderHelperFunction · 0.85
readMessageErrMethod · 0.80
bytesMethod · 0.65
readMessageMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected