Browse Source

Add lz4 encoding test

Rene Treffer 9 years ago
parent
commit
08ba6f6d5c
1 changed files with 23 additions and 1 deletions
  1. 23 1
      message_test.go

+ 23 - 1
message_test.go

@@ -1,6 +1,9 @@
 package sarama
 package sarama
 
 
-import "testing"
+import (
+	"testing"
+	"time"
+)
 
 
 var (
 var (
 	emptyMessage = []byte{
 	emptyMessage = []byte{
@@ -21,6 +24,19 @@ var (
 		0x08,
 		0x08,
 		0, 0, 9, 110, 136, 0, 255, 1, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0}
 		0, 0, 9, 110, 136, 0, 255, 1, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0}
 
 
+	emptyLZ4Message = []byte{
+		132, 219, 238, 101, // CRC
+		0x01,                          // version byte
+		0x03,                          // attribute flags: lz4
+		0, 0, 1, 88, 141, 205, 89, 56, // timestamp
+		0xFF, 0xFF, 0xFF, 0xFF, // key
+		0x00, 0x00, 0x00, 0x0f, // len
+		0x04, 0x22, 0x4D, 0x18, // LZ4 magic number
+		100,                  // LZ4 flags: version 01, block indepedant, content checksum
+		112, 185, 0, 0, 0, 0, // LZ4 data
+		5, 93, 204, 2, // LZ4 checksum
+	}
+
 	emptyBulkSnappyMessage = []byte{
 	emptyBulkSnappyMessage = []byte{
 		180, 47, 53, 209, //CRC
 		180, 47, 53, 209, //CRC
 		0x00,                   // magic version byte
 		0x00,                   // magic version byte
@@ -64,6 +80,12 @@ func TestMessageEncoding(t *testing.T) {
 	message.Value = []byte{}
 	message.Value = []byte{}
 	message.Codec = CompressionGZIP
 	message.Codec = CompressionGZIP
 	testEncodable(t, "empty gzip", &message, emptyGzipMessage)
 	testEncodable(t, "empty gzip", &message, emptyGzipMessage)
+
+	message.Value = []byte{}
+	message.Codec = CompressionLZ4
+	message.Timestamp = time.Unix(1479847795, 0)
+	message.Version = 1
+	testEncodable(t, "empty lz4", &message, emptyLZ4Message)
 }
 }
 
 
 func TestMessageDecoding(t *testing.T) {
 func TestMessageDecoding(t *testing.T) {