Beispiel #1
0
            public async Task Should_load_the_data_from_the_repository()
            {
                var nextGuid = NewId.NextGuid();
                var data     = nextGuid.ToString();
                Uri dataAddress;

                await using (var stream = new MemoryStream(nextGuid.ToByteArray(), false))
                {
                    dataAddress = await _messageDataRepository.Put(stream);
                }

                await using MemoryStream ms = new MemoryStream(nextGuid.ToByteArray());

                var message = new MessageWithStreamImpl {
                    Stream = new StoredMessageData <Stream>(dataAddress, ms)
                };

                await InputQueueSendEndpoint.Send(message);

                await _received;

                await using MemoryStream memoryStreamForReceivedStream = new MemoryStream();
                await _receivedStream.CopyToAsync(memoryStreamForReceivedStream);

                NewId newId = new NewId(memoryStreamForReceivedStream.ToArray());

                newId.ToString().ShouldBe(data);
            }
Beispiel #2
0
            public async Task Should_be_able_to_write_stream_too()
            {
                var data = new byte[10000];

                await using MemoryStream ms = new MemoryStream(data);

                var message = new MessageWithStreamImpl {
                    Stream = await _repository.PutStream(ms)
                };

                await InputQueueSendEndpoint.Send(message);

                await _receivedStream;

                await using MemoryStream receivedMemoryStream = new MemoryStream();
                await _receivedStreamData.CopyToAsync(receivedMemoryStream);

                receivedMemoryStream.ToArray().ShouldBe(data);
            }