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
|
//go:build !functional
package sarama
import (
"testing"
"time"
)
var (
initProducerIDResponse = []byte{
0, 0, 0, 100,
0, 0,
0, 0, 0, 0, 0, 0, 31, 64, // producerID = 8000
0, 0, // epoch
}
initProducerIDRequestError = []byte{
0, 0, 0, 100,
0, 51,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0,
}
initProducerIdResponseWithTaggedFields = []byte{
0, 0, 0, 100,
0, 51,
255, 255, 255, 255, 255, 255, 255, 255,
0, 0,
0,
}
)
func TestInitProducerIDResponse(t *testing.T) {
resp := &InitProducerIDResponse{
ThrottleTime: 100 * time.Millisecond,
ProducerID: 8000,
ProducerEpoch: 0,
}
testResponse(t, "", resp, initProducerIDResponse)
resp.Err = ErrConcurrentTransactions
resp.ProducerID = -1
testResponse(t, "with error", resp, initProducerIDRequestError)
resp.Version = 2
testResponse(t, "with tagged fields", resp, initProducerIdResponseWithTaggedFields)
}
|