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");
            }
        }
示例#2
0
        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);
            }
        }