@cryptotaxi247 / kubo / commits / dd8267b9e

resolve sharness test

License: MIT Signed-off-by: Juan Batiz-Benet <juan@benet.ai>

Juan Batiz-Benet committed Sep 7, 2015 at 02:12 UTC dd8267b9e08d14103aeb5bf590a5b43038190090
1 file changed +84
test/sharness/t0160-resolve.sh new
+84
@@ -0,0 +1,84 @@
1 +#!/bin/sh
2 +
3 +test_description="Test resolve command"
4 +
5 +. lib/test-lib.sh
6 +
7 +test_init_ipfs
8 +
9 +test_expect_success "resolve: prepare files" '
10 + mkdir -p a/b &&
11 + echo "a/b/c" >a/b/c &&
12 + a_hash=$(ipfs add -q -r a | tail -n1) &&
13 + b_hash=$(ipfs add -q -r a/b | tail -n1) &&
14 + c_hash=$(ipfs add -q -r a/b/c | tail -n1)
15 +'
16 +
17 +test_expect_success "resolve: prepare name" '
18 + id_hash=$(ipfs id -f="<id>") &&
19 + ipfs name publish "$a_hash" &&
20 + printf "/ipfs/$a_hash" >expected_nameval &&
21 + ipfs name resolve >actual_nameval &&
22 + test_cmp expected_nameval actual_nameval
23 +'
24 +
25 +test_resolve() {
26 + src=$1
27 + dst=$2
28 +
29 + test_expect_success "resolve succeeds: $src" '
30 + ipfs resolve "$src" >actual
31 + '
32 +
33 + test_expect_success "resolved correctly: $src -> $dst" '
34 + printf "$dst" >expected &&
35 + test_cmp expected actual
36 + '
37 +}
38 +
39 +test_resolve_cmd() {
40 +
41 + test_resolve "/ipfs/$a_hash" "/ipfs/$a_hash"
42 + test_resolve "/ipfs/$a_hash/b" "/ipfs/$b_hash"
43 + test_resolve "/ipfs/$a_hash/b/c" "/ipfs/$c_hash"
44 +
45 + test_resolve "/ipns/$id_hash" "/ipfs/$a_hash"
46 + test_resolve "/ipns/$id_hash/b" "/ipfs/$b_hash"
47 + test_resolve "/ipns/$id_hash/b/c" "/ipfs/$c_hash"
48 +}
49 +
50 +#todo remove this once the online resolve is fixed
51 +test_resolve_fail() {
52 + src=$1
53 + dst=$2
54 +
55 + test_expect_failure "resolve succeeds: $src" '
56 + ipfs resolve "$src" >actual
57 + '
58 +
59 + test_expect_failure "resolved correctly: $src -> $dst" '
60 + printf "$dst" >expected &&
61 + test_cmp expected actual
62 + '
63 +}
64 +
65 +test_resolve_cmd_fail() {
66 +
67 + test_resolve_fail "/ipfs/$a_hash" "/ipfs/$a_hash"
68 + test_resolve_fail "/ipfs/$a_hash/b" "/ipfs/$b_hash"
69 + test_resolve_fail "/ipfs/$a_hash/b/c" "/ipfs/$c_hash"
70 +
71 + test_resolve_fail "/ipns/$id_hash" "/ipfs/$a_hash"
72 + test_resolve_fail "/ipns/$id_hash/b" "/ipfs/$b_hash"
73 + test_resolve_fail "/ipns/$id_hash/b/c" "/ipfs/$c_hash"
74 +}
75 +
76 +# should work offline
77 +test_resolve_cmd
78 +
79 +# should work online
80 +test_launch_ipfs_daemon
81 +test_resolve_cmd_fail
82 +test_kill_ipfs_daemon
83 +
84 +test_done