示例#1
0
 public async Task GetBlob_DisconnectedFromTheStart()
 {
     using (var session = new RSession(0, _testMethod.FileSystemSafeName, _fileSystem, _brokerClient, new AsyncReaderWriterLock().CreateExclusiveReaderLock(), () => { })) {
         Func <Task> f = () => session.BlobReadAllAsync(1);
         await f.ShouldThrowAsync <RHostDisconnectedException>();
     }
 }
示例#2
0
 public async Task GetBlob_DisconnectedFromTheStart()
 {
     using (var session = new RSession(0, _brokerClient, () => { })) {
         Func <Task> f = () => session.BlobReadAllAsync(1);
         await f.ShouldThrowAsync <RHostDisconnectedException>();
     }
 }
示例#3
0
            public async Task GetBlob_CanceledDuringGet()
            {
                var cts  = new CancellationTokenSource();
                var data = new byte[1024 * 1024];

                IRBlobInfo blob = null;

                using (DataTransferSession dts = new DataTransferSession(_session, null)) {
                    blob = await dts.SendBytesAsync(data, false, null, CancellationToken.None);
                }

                Func <Task> f = async() => {
                    while (true)
                    {
                        await _session.BlobReadAllAsync(blob.Id, ct : cts.Token);
                    }
                };
                var assertion = f.ShouldThrowAsync <OperationCanceledException>();

                cts.CancelAfter(1);
                await assertion;
            }