public async Task SerializeAsync_StreamWithHardcodedType_ReturnedUnmodified() { var messageStream = new MemoryStream(Encoding.UTF8.GetBytes("test")); var serializer = new BinaryFileMessageSerializer <InheritedBinaryFileMessage>(); var serialized = await serializer.SerializeAsync( messageStream, new MessageHeaderCollection(), MessageSerializationContext.Empty); serialized.Should().BeSameAs(messageStream); }
public async Task SerializeAsync_ByteArrayWithHardcodedType_ReturnedUnmodified() { var messageBytes = Encoding.UTF8.GetBytes("test"); var serializer = new BinaryFileMessageSerializer <InheritedBinaryFileMessage>(); var serialized = await serializer.SerializeAsync( messageBytes, new MessageHeaderCollection(), MessageSerializationContext.Empty); serialized.ReadAll().Should().BeEquivalentTo(messageBytes); }
public async Task SerializeAsync_Message_TypeHeaderAdded() { var message = new BinaryFileMessage { Content = new MemoryStream(new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 }) }; var headers = new MessageHeaderCollection(); var serializer = new BinaryFileMessageSerializer(); await serializer.SerializeAsync(message, headers, MessageSerializationContext.Empty); var typeHeaderValue = headers["x-message-type"]; typeHeaderValue.Should().NotBeNullOrEmpty(); typeHeaderValue.Should() .StartWith("Silverback.Messaging.Messages.BinaryFileMessage, Silverback.Integration,"); }
public async Task SerializeDeserializeAsync_HardcodedType_CorrectlyDeserialized() { var message = new InheritedBinaryFileMessage { Content = new MemoryStream(new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 }) }; var headers = new MessageHeaderCollection(); var serializer = new BinaryFileMessageSerializer <InheritedBinaryFileMessage>(); var serialized = await serializer.SerializeAsync(message, headers, MessageSerializationContext.Empty); var(deserialized, _) = await serializer .DeserializeAsync(serialized, headers, MessageSerializationContext.Empty); var message2 = deserialized as BinaryFileMessage; message2.Should().NotBeNull(); message2.Should().BeEquivalentTo(message); }