forked from cerc-io/ipld-eth-server
81 lines
2.0 KiB
Bash
Executable File
81 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2014 Christian Couder
|
|
# MIT Licensed; see the LICENSE file in this repository.
|
|
#
|
|
|
|
test_description="Test add -w"
|
|
|
|
. lib/test-lib.sh
|
|
|
|
test_expect_success "creating files succeeds" '
|
|
mkdir -p files/foo &&
|
|
mkdir -p files/bar &&
|
|
echo "some text" > files/foo/baz &&
|
|
ln -s files/foo/baz files/bar/baz &&
|
|
ln -s files/does/not/exist files/bad
|
|
'
|
|
|
|
test_add_symlinks() {
|
|
test_expect_success "ipfs add files succeeds" '
|
|
ipfs add -q -r files >filehash_all &&
|
|
tail -n 1 filehash_all >filehash_out
|
|
'
|
|
|
|
test_expect_success "output looks good" '
|
|
echo QmWdiHKoeSW8G1u7ATCgpx4yMoUhYaJBQGkyPLkS9goYZ8 > filehash_exp &&
|
|
test_cmp filehash_exp filehash_out
|
|
'
|
|
|
|
test_expect_success "ipfs add --cid-version=1 files succeeds" '
|
|
ipfs add -q -r --cid-version=1 files >filehash_all &&
|
|
tail -n 1 filehash_all >filehash_out
|
|
'
|
|
|
|
test_expect_success "output looks good" '
|
|
# note this hash implies all internal nodes are stored using CidV1
|
|
echo zdj7WZDQ2xMmr4qn6aRZTsE9fCUs2KmvPigpHdpssqUobwcWK > filehash_exp &&
|
|
test_cmp filehash_exp filehash_out
|
|
'
|
|
|
|
test_expect_success "adding a symlink adds the link itself" '
|
|
ipfs add -q files/bar/baz > goodlink_out
|
|
'
|
|
|
|
test_expect_success "output looks good" '
|
|
echo "QmdocmZeF7qwPT9Z8SiVhMSyKA2KKoA2J7jToW6z6WBmxR" > goodlink_exp &&
|
|
test_cmp goodlink_exp goodlink_out
|
|
'
|
|
|
|
test_expect_success "adding a broken symlink works" '
|
|
ipfs add -q files/bad > badlink_out
|
|
'
|
|
|
|
test_expect_success "output looks good" '
|
|
echo "QmWYN8SEXCgNT2PSjB6BnxAx6NJQtazWoBkTRH9GRfPFFQ" > badlink_exp &&
|
|
test_cmp badlink_exp badlink_out
|
|
'
|
|
|
|
test_expect_success "adding with symlink in middle of path is same as\
|
|
adding with no symlink" '
|
|
mkdir -p files2/a/b/c &&
|
|
echo "some other text" > files2/a/b/c/foo &&
|
|
ln -s b files2/a/d
|
|
ipfs add -rq files2/a/b/c > no_sym &&
|
|
ipfs add -rq files2/a/d/c > sym &&
|
|
test_cmp no_sym sym
|
|
'
|
|
}
|
|
|
|
test_init_ipfs
|
|
|
|
test_add_symlinks
|
|
|
|
test_launch_ipfs_daemon
|
|
|
|
test_add_symlinks
|
|
|
|
test_kill_ipfs_daemon
|
|
|
|
test_done
|