public void StringTests(String expectedValue, Byte[] givenBytes) { var decoder = new KafkaDecoder(givenBytes); var actualValue = decoder.ReadString(); Assert.That(decoder.Offset, Is.EqualTo(givenBytes.Length)); Assert.That(actualValue, Is.EqualTo(expectedValue)); }
private KafkaConnection(IPEndPoint serverEndpoint, TcpClient client, int bufferSize = 1048576) { this.serverEndpoint = serverEndpoint; this.client = client; this.stream = client.GetStream(); this.buffer = new byte[bufferSize]; decoder = new KafkaDecoder(buffer); encoder = new KafkaEncoder(buffer); }
public void DecodeMessageSetShouldHandleResponseWithMaxBufferSizeHit() { //This message set has a truncated message bytes at the end of it var decoder = new KafkaDecoder(MessageHelper.FetchResponseMaxBytesOverflow); var result = Message.DecodeMessageSet(0, decoder, decoder.Length); var message = Encoding.UTF8.GetString(result.First().Value); Assert.That(message, Is.EqualTo("test")); Assert.That(result.Count, Is.EqualTo(529)); }
public void EnsureMessageEncodeAndDecodeAreCompatible(string key, string value) { var testMessage = new Message(key: key, value: value); var buffer = new byte[1024]; var encoder = new KafkaEncoder(buffer); Message.EncodeMessage(testMessage, encoder); var decoder = new KafkaDecoder(buffer); var result = Message.DecodeMessage(0, 0, decoder, encoder.Offset); Assert.That(testMessage.Key, Is.EqualTo(result.Key)); Assert.That(testMessage.Value, Is.EqualTo(result.Value)); }
public void DecodeMessageShouldThrowWhenCrcFails() { Assert.Throws(Is.TypeOf<FailCrcCheckException>(), () => { var testMessage = new Message(value: "kafka test message.", key: "test"); var buffer = new byte[1024]; var encoder = new KafkaEncoder(buffer); Message.EncodeMessage(testMessage, encoder); buffer[0] += 1; var decoder = new KafkaDecoder(buffer, 0, encoder.Offset); var result = Message.DecodeMessage(0, 0, decoder, encoder.Offset); }); }
public void Int16Tests(Int16 expectedValue, Byte[] givenBytes) { var decoder = new KafkaDecoder(givenBytes); var actualValue = decoder.ReadInt16(); Assert.That(actualValue, Is.EqualTo(expectedValue)); }
public void WhenMessageIsTruncatedThenBufferUnderRunExceptionIsThrown() { Assert.Throws<BufferUnderRunException>(() => { // arrange var offset = (Int64)0; var message = new Byte[] { }; var messageSize = 5; var payloadBytes = new byte[16]; var encoder = new KafkaEncoder(payloadBytes); encoder.Write(offset); encoder.Write(messageSize); encoder.Write(message); var decoder = new KafkaDecoder(payloadBytes); Message.DecodeMessageSet(0, decoder, payloadBytes.Length); }); }
public void WhenMessageIsExactlyTheSizeOfBufferThenMessageIsDecoded() { // arrange var expectedPayloadBytes = new Byte[] { 1, 2, 3, 4 }; var payload = MessageHelper.CreateMessage(0, new Byte[] { 0 }, expectedPayloadBytes); // act/assert var decoder = new KafkaDecoder(payload, 0, payload.Length); var messages = Message.DecodeMessageSet(0, decoder, payload.Length); var actualPayload = messages.First().Value; // assert var expectedPayload = new Byte[] { 1, 2, 3, 4 }; CollectionAssert.AreEqual(expectedPayload, actualPayload); }