12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package sarama
- import (
- "bytes"
- "reflect"
- "testing"
- )
- var (
- groupMemberMetadata = []byte{
- 0, 1, // Version
- 0, 0, 0, 2, // Topic array length
- 0, 3, 'o', 'n', 'e', // Topic one
- 0, 3, 't', 'w', 'o', // Topic two
- 0, 0, 0, 3, 0x01, 0x02, 0x03, // Userdata
- }
- groupMemberAssignment = []byte{
- 0, 1, // Version
- 0, 0, 0, 1, // Topic array length
- 0, 3, 'o', 'n', 'e', // Topic one
- 0, 0, 0, 3, // Topic one, partition array length
- 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 4, // 0, 2, 4
- 0, 0, 0, 3, 0x01, 0x02, 0x03, // Userdata
- }
- )
- func TestConsumerGroupMemberMetadata(t *testing.T) {
- meta := &ConsumerGroupMemberMetadata{
- Version: 1,
- Topics: []string{"one", "two"},
- UserData: []byte{0x01, 0x02, 0x03},
- }
- buf, err := encode(meta, nil)
- if err != nil {
- t.Error("Failed to encode data", err)
- } else if !bytes.Equal(groupMemberMetadata, buf) {
- t.Errorf("Encoded data does not match expectation\nexpected: %v\nactual: %v", groupMemberMetadata, buf)
- }
- meta2 := new(ConsumerGroupMemberMetadata)
- err = decode(buf, meta2)
- if err != nil {
- t.Error("Failed to decode data", err)
- } else if !reflect.DeepEqual(meta, meta2) {
- t.Errorf("Encoded data does not match expectation\nexpected: %v\nactual: %v", meta, meta2)
- }
- }
- func TestConsumerGroupMemberAssignment(t *testing.T) {
- amt := &ConsumerGroupMemberAssignment{
- Version: 1,
- Topics: map[string][]int32{
- "one": {0, 2, 4},
- },
- UserData: []byte{0x01, 0x02, 0x03},
- }
- buf, err := encode(amt, nil)
- if err != nil {
- t.Error("Failed to encode data", err)
- } else if !bytes.Equal(groupMemberAssignment, buf) {
- t.Errorf("Encoded data does not match expectation\nexpected: %v\nactual: %v", groupMemberAssignment, buf)
- }
- amt2 := new(ConsumerGroupMemberAssignment)
- err = decode(buf, amt2)
- if err != nil {
- t.Error("Failed to decode data", err)
- } else if !reflect.DeepEqual(amt, amt2) {
- t.Errorf("Encoded data does not match expectation\nexpected: %v\nactual: %v", amt, amt2)
- }
- }
|