提交 b883381b 作者: Juan Batiz-Benet

improved t0062-daemon-api.sh tests

License: MIT
Signed-off-by: 's avatarJuan Batiz-Benet <juan@benet.ai>
上级 be96d8d7
......@@ -10,7 +10,9 @@ test_description="Test daemon command"
test_init_ipfs
differentport=$((PORT_API + 1))
differentapi="/ip4/127.0.0.1/tcp/$differentport"
api_different="/ip4/127.0.0.1/tcp/$differentport"
api_unreachable="/ip4/127.0.0.1/tcp/1"
api_fromcfg=$(ipfs config Addresses.API)
peerid=$(ipfs config Identity.PeerID)
test_client() {
......@@ -20,14 +22,30 @@ test_client() {
test_cmp expected actual
}
test_expect_success "client should work when there is no api file and no --api is specified" '
test_client_must_fail() {
args="$@"
echo "Error: api not running" >expected_err
test_must_fail ipfs $args id -f="<id>" >actual 2>actual_err
test_cmp expected_err actual_err
}
# first, test things without daemon, without /api file
test_expect_success "client should work (daemon off, no /api file, no --api)" '
test_client
'
test_expect_success "client should err when there is no api file and with --api is specified" '
test_must_fail test_client --api "$differentapi"
test_expect_success "client --api fromcfg should err (daemon off, no /api file)" '
test_client_must_fail --api "$api_fromcfg"
'
test_expect_success "client --api unreachable should err (daemon off, no /api file)" '
test_client_must_fail --api "$api_unreachable"
'
# then, test things with daemon, with /api file
test_launch_ipfs_daemon
test_expect_success "'ipfs daemon' creates api file" '
......@@ -39,42 +57,80 @@ test_expect_success "api file looks good" '
test_cmp expected .ipfs/api
'
test_expect_success "client should err if client api != api file while daemon is on" '
echo "Error: api not running" >expected &&
test_must_fail ipfs --api "$differentapi" id 2>actual &&
test_cmp expected actual
test_expect_success "client should work (daemon on, /api file, no --api)" '
test_client
'
test_expect_success "client --api fromcfg should work (daemon used cfg) (daemon, /api file)" '
test_client --api "$api_fromcfg"
'
test_expect_success "client --api unreachable should err (daemon, /api file)" '
test_client_must_fail --api "$api_unreachable"
'
# then, test things without daemon, with /api file
test_kill_ipfs_daemon
test_expect_success "client should err if client api != api file while daemon is off" '
echo "Error: api not running" >expected &&
test_must_fail ipfs --api "$differentapi" id 2>actual &&
test_cmp expected actual
test_expect_success "client should work (daemon off, /api file, no --api)" '
test_client
'
test_expect_success "client --api fromcfg should err (daemon off, /api file)" '
test_client_must_fail --api "$api_fromcfg"
'
test_expect_success "client --api unreachable should err (daemon, /api file)" '
test_client_must_fail --api "$api_unreachable"
'
# then, test things with daemon --api $api_different, with /api file
PORT_API=$differentport
ADDR_API=$differentapi
ADDR_API=$api_different
test_launch_ipfs_daemon --api "$ADDR_API"
test_expect_success "'ipfs daemon' api option works" '
printf "$differentapi" >expected &&
test_expect_success "'ipfs daemon' --api option works" '
printf "$api_different" >expected &&
test_cmp expected .ipfs/api
'
test_expect_success "client should work if client api == api file, != cfg api while daemon is on" '
test_client --api "$differentapi"
test_expect_success "client should work (daemon on, /api file (different), no --api)" '
test_client
'
test_expect_success "client should read the api file while daemon is on" '
test_client
test_expect_success "client --api different should work (daemon on, /api file (different))" '
test_client --api "$api_different"
'
test_expect_success "client --api fromcfg should err (daemon on, /api file (different))" '
test_client_must_fail --api "$api_fromcfg"
'
test_expect_success "client --api unreachable should err (daemon, /api file)" '
test_client_must_fail --api "$api_unreachable"
'
# then, test things with daemon off, with /api file, for good measure.
test_kill_ipfs_daemon
test_expect_success "client should work if there is api file while daemon is off" '
ipfs id
test_expect_success "client should work (daemon off, /api file (different), no --api)" '
test_client
'
test_expect_success "client --api different should work (daemon on, /api file (different))" '
test_client_must_fail --api "$api_different"
'
test_expect_success "client --api fromcfg should err (daemon on, /api file (different))" '
test_client_must_fail --api "$api_fromcfg"
'
test_expect_success "client --api unreachable should err (daemon, /api file)" '
test_client_must_fail --api "$api_unreachable"
'
test_done
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论