MCPcopy
hub / github.com/IBM/sarama / TestHashPartitioner

Function TestHashPartitioner

partitioner_test.go:149–177  ·  partitioner_test.go::TestHashPartitioner
(t *testing.T)

Source from the content-addressed store, hash-verified

147}
148
149func TestHashPartitioner(t *testing.T) {
150 partitioner := NewHashPartitioner("mytopic")
151
152 choice, err := partitioner.Partition(&ProducerMessage{}, 1)
153 if err != nil {
154 t.Error(partitioner, err)
155 }
156 if choice != 0 {
157 t.Error("Returned non-zero partition when only one available.")
158 }
159
160 for i := 1; i < 50; i++ {
161 choice, err := partitioner.Partition(&ProducerMessage{}, 50)
162 if err != nil {
163 t.Error(partitioner, err)
164 }
165 if choice < 0 || choice >= 50 {
166 t.Error("Returned partition", choice, "outside of range for nil key.")
167 }
168 }
169
170 buf := make([]byte, 256)
171 for i := 1; i < 50; i++ {
172 if _, err := rand.Read(buf); err != nil {
173 t.Error(err)
174 }
175 assertPartitioningConsistent(t, partitioner, &ProducerMessage{Key: ByteEncoder(buf)}, 50)
176 }
177}
178
179func TestHashPartitionerConsistency(t *testing.T) {
180 partitioner := NewHashPartitioner("mytopic")

Callers

nothing calls this directly

Calls 6

NewHashPartitionerFunction · 0.85
ByteEncoderTypeAlias · 0.85
ReadMethod · 0.80
PartitionMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected