public async Task ReadAsync_Should_Rely_On_IpfsEngine_And_Return_Streamed_Content() { var cid = CidHelper.CreateCid(_hashProvider.ComputeUtf8MultiHash("file")); _ipfsEngine.FileSystem .ReadFileAsync(cid.Encode(), Arg.Any <CancellationToken>()) .Returns(c => "the content".ToMemoryStream()); using (var stream = await _dfs.ReadAsync(cid.Encode())) { stream.ReadAllAsUtf8String(false).Should().Be("the content"); } }
public async Task DFS_should_add_and_read_binary() { var cts = new CancellationTokenSource(TimeSpan.FromSeconds(15)); var binary = new byte[] { 1, 2, 3 }; var ms = new MemoryStream(binary); var dfs = new Dfs(_ipfs, _hashProvider, _logger); var id = await dfs.AddAsync(ms, "", cts.Token); using (var stream = await dfs.ReadAsync(id, cts.Token)) { var content = new byte[binary.Length]; stream.Read(content, 0, content.Length); content.Should().Equal(binary); } }