Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
06a4218a
提交
06a4218a
authored
9月 20, 2018
作者:
Łukasz Magiera
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
coreapi unixfs: better add tests
License: MIT Signed-off-by:
Łukasz Magiera
<
magik6k@gmail.com
>
上级
c68ab562
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
76 行增加
和
81 行删除
+76
-81
unixfs_test.go
core/coreapi/unixfs_test.go
+76
-81
没有找到文件。
core/coreapi/unixfs_test.go
浏览文件 @
06a4218a
...
...
@@ -11,15 +11,16 @@ import (
"strings"
"testing"
core
"github.com/ipfs/go-ipfs/core"
coreapi
"github.com/ipfs/go-ipfs/core/coreapi"
"github.com/ipfs/go-ipfs/core"
"github.com/ipfs/go-ipfs/core/coreapi"
coreiface
"github.com/ipfs/go-ipfs/core/coreapi/interface"
options
"github.com/ipfs/go-ipfs/core/coreapi/interface/options"
coreunix
"github.com/ipfs/go-ipfs/core/coreunix"
"github.com/ipfs/go-ipfs/core/coreapi/interface/options"
"github.com/ipfs/go-ipfs/core/coreunix"
mock
"github.com/ipfs/go-ipfs/core/mock"
keystore
"github.com/ipfs/go-ipfs/keystore"
repo
"github.com/ipfs/go-ipfs/repo"
"github.com/ipfs/go-ipfs/keystore"
"github.com/ipfs/go-ipfs/repo"
mh
"gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash"
ci
"gx/ipfs/QmPvyPwuCgJ7pDmrKDxRtsScJgBaM5h4EpRL2qQJsmXf4n/go-libp2p-crypto"
cbor
"gx/ipfs/QmSywXfm2v4Qkp4DcFqo8eehj49dJK3bdUnaLVxrdFLMQn/go-ipld-cbor"
unixfs
"gx/ipfs/QmU4x3742bvgfxJsByEDpBnifJqjJdV6x528co4hwKCn46/go-unixfs"
...
...
@@ -39,7 +40,6 @@ var hello = "/ipfs/QmQy2Dw4Wk7rdJKjThjYXzfFJNaRKRHhHP5gHHXroJMYxk"
var
helloStr
=
"hello, world!"
// `echo -n | ipfs add`
var
emptyFile
=
"/ipfs/QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH"
func
makeAPISwarm
(
ctx
context
.
Context
,
fullIdentity
bool
,
n
int
)
([]
*
core
.
IpfsNode
,
[]
coreiface
.
CoreAPI
,
error
)
{
mn
:=
mocknet
.
New
(
ctx
)
...
...
@@ -133,84 +133,79 @@ func TestAdd(t *testing.T) {
t
.
Error
(
err
)
}
str
:=
strings
.
NewReader
(
helloStr
)
p
,
err
:=
api
.
Unixfs
()
.
Add
(
ctx
,
ioutil
.
NopCloser
(
str
))
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
p
.
String
()
!=
hello
{
t
.
Fatalf
(
"expected path %s, got: %s"
,
hello
,
p
)
}
r
,
err
:=
api
.
Unixfs
()
.
Cat
(
ctx
,
p
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
buf
:=
make
([]
byte
,
len
(
helloStr
))
_
,
err
=
io
.
ReadFull
(
r
,
buf
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
string
(
buf
)
!=
helloStr
{
t
.
Fatalf
(
"expected [%s], got [%s] [err=%s]"
,
helloStr
,
string
(
buf
),
err
)
}
}
func
TestAddEmptyFile
(
t
*
testing
.
T
)
{
ctx
:=
context
.
Background
()
_
,
api
,
err
:=
makeAPI
(
ctx
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
str
:=
strings
.
NewReader
(
""
)
p
,
err
:=
api
.
Unixfs
()
.
Add
(
ctx
,
ioutil
.
NopCloser
(
str
))
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
p
.
String
()
!=
emptyFile
{
t
.
Fatalf
(
"expected path %s, got: %s"
,
hello
,
p
)
}
}
func
TestCatBasic
(
t
*
testing
.
T
)
{
ctx
:=
context
.
Background
()
node
,
api
,
err
:=
makeAPI
(
ctx
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
hr
:=
strings
.
NewReader
(
helloStr
)
p
,
err
:=
coreunix
.
Add
(
node
,
hr
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
cases
:=
[]
struct
{
name
string
data
string
path
string
err
string
opts
[]
options
.
UnixfsAddOption
}{
{
name
:
"simpleAdd"
,
data
:
helloStr
,
path
:
hello
,
opts
:
[]
options
.
UnixfsAddOption
{},
},
{
name
:
"addEmpty"
,
data
:
""
,
path
:
"/ipfs/QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH"
,
},
{
name
:
"addCidV1"
,
data
:
helloStr
,
path
:
"/ipfs/zb2rhdhmJjJZs9qkhQCpCQ7VREFkqWw3h1r8utjVvQugwHPFd"
,
opts
:
[]
options
.
UnixfsAddOption
{
options
.
Unixfs
.
CidVersion
(
1
)},
},
{
name
:
"addCidSha3"
,
data
:
helloStr
,
path
:
"/ipfs/zb2wwnYtXBxpndNABjtYxWAPt3cwWNRnc11iT63fvkYV78iRb"
,
opts
:
[]
options
.
UnixfsAddOption
{
options
.
Unixfs
.
Hash
(
mh
.
SHA3_256
)},
},
{
name
:
"addCidSha3Cid0"
,
data
:
helloStr
,
err
:
"CIDv0 only supports sha2-256"
,
opts
:
[]
options
.
UnixfsAddOption
{
options
.
Unixfs
.
CidVersion
(
0
),
options
.
Unixfs
.
Hash
(
mh
.
SHA3_256
)},
},
}
p
=
"/ipfs/"
+
p
if
p
!=
hello
{
t
.
Fatalf
(
"expected CID %s, got: %s"
,
hello
,
p
)
}
for
_
,
testCase
:=
range
cases
{
t
.
Run
(
testCase
.
name
,
func
(
t
*
testing
.
T
)
{
str
:=
strings
.
NewReader
(
testCase
.
data
)
p
,
err
:=
api
.
Unixfs
()
.
Add
(
ctx
,
ioutil
.
NopCloser
(
str
),
testCase
.
opts
...
)
if
testCase
.
err
!=
""
{
if
err
==
nil
{
t
.
Fatalf
(
"expected an error: %s"
,
testCase
.
err
)
}
if
err
.
Error
()
!=
testCase
.
err
{
t
.
Fatalf
(
"expected an error: '%s' != '%s'"
,
err
.
Error
(),
testCase
.
err
)
}
return
}
if
err
!=
nil
{
t
.
Error
(
err
)
}
helloPath
,
err
:=
coreiface
.
ParsePath
(
hello
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
if
p
.
String
()
!=
testCase
.
path
{
t
.
Fatalf
(
"expected path %s, got: %s"
,
hello
,
p
)
}
r
,
err
:=
api
.
Unixfs
()
.
Cat
(
ctx
,
helloPath
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
r
,
err
:=
api
.
Unixfs
()
.
Cat
(
ctx
,
p
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
buf
:=
make
([]
byte
,
len
(
testCase
.
data
))
_
,
err
=
io
.
ReadFull
(
r
,
buf
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
buf
:=
make
([]
byte
,
len
(
helloStr
))
_
,
err
=
io
.
ReadFull
(
r
,
buf
)
if
err
!=
nil
{
t
.
Error
(
err
)
}
if
string
(
buf
)
!=
helloStr
{
t
.
Fatalf
(
"expected [%s], got [%s] [err=%s]"
,
helloStr
,
string
(
buf
),
err
)
if
string
(
buf
)
!=
testCase
.
data
{
t
.
Fatalf
(
"expected [%s], got [%s] [err=%s]"
,
helloStr
,
string
(
buf
),
err
)
}
})
}
}
...
...
@@ -226,7 +221,7 @@ func TestCatEmptyFile(t *testing.T) {
t
.
Fatal
(
err
)
}
emptyFilePath
,
err
:=
coreiface
.
ParsePath
(
emptyFile
)
emptyFilePath
,
err
:=
coreiface
.
ParsePath
(
"/ipfs/QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论