master
sh 142 lines 3.97 KB
Raw
1 #!/usr/bin/env bash
2 #
3 # Copyright (c) 2014 Jeromy Johnson
4 # MIT Licensed; see the LICENSE file in this repository.
5 #
6
7 # changing the bootstrap peers will require changing it in two places :)
8 BP1="/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN"
9 BP2="/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa"
10 BP3="/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb"
11 BP4="/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt"
12 BP5="/dnsaddr/va1.bootstrap.libp2p.io/p2p/12D3KooWKnDdG3iXw9eTFijk3EWSunZcFi54Zka4wmtqtt6rPxc8"
13 BP6="/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
14 BP7="/ip4/104.131.131.82/udp/4001/quic-v1/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
15
16 test_description="Test ipfs bootstrap operations"
17
18 # NOTE: For AutoConf bootstrap functionality (add default, --expand-auto, etc.)
19 # see test/cli/bootstrap_auto_test.go and test/cli/autoconf/expand_test.go
20
21 . lib/test-lib.sh
22
23 test_init_ipfs
24
25 # we use a function so that we can run it both offline + online
26 test_bootstrap_list_cmd() {
27 printf "" >list_expected
28
29 for BP in "$@"
30 do
31 echo "$BP" >>list_expected
32 done
33
34 test_expect_success "'ipfs bootstrap' succeeds" '
35 ipfs bootstrap >list_actual
36 '
37
38 test_expect_success "'ipfs bootstrap' output looks good" '
39 test_cmp list_expected list_actual
40 '
41
42 test_expect_success "'ipfs bootstrap list' succeeds" '
43 ipfs bootstrap list >list2_actual
44 '
45
46 test_expect_success "'ipfs bootstrap list' output looks good" '
47 test_cmp list_expected list2_actual
48 '
49 }
50
51 # we use a function so that we can run it both offline + online
52 test_bootstrap_cmd() {
53
54 # remove all peers just in case.
55 # if this fails, the first listing may not be empty
56 ipfs bootstrap rm --all
57
58 test_bootstrap_list_cmd
59
60 test_expect_success "'ipfs bootstrap add' succeeds" '
61 ipfs bootstrap add "$BP1" "$BP2" "$BP3" >add_actual
62 '
63
64 test_expect_success "'ipfs bootstrap add' output looks good" '
65 echo "added $BP1" >add_expected &&
66 echo "added $BP2" >>add_expected &&
67 echo "added $BP3" >>add_expected &&
68 test_cmp add_expected add_actual
69 '
70
71 test_bootstrap_list_cmd $BP1 $BP2 $BP3
72
73 test_expect_success "'ipfs bootstrap rm' succeeds" '
74 ipfs bootstrap rm "$BP1" "$BP3" >rm_actual
75 '
76
77 test_expect_success "'ipfs bootstrap rm' output looks good" '
78 echo "removed $BP1" >rm_expected &&
79 echo "removed $BP3" >>rm_expected &&
80 test_cmp rm_expected rm_actual
81 '
82
83 test_expect_success "'ipfs bootstrap rm' fails on bad peers" '
84 test_expect_code 1 ipfs bootstrap rm "foo/bar"
85 '
86
87 test_bootstrap_list_cmd $BP2
88
89 test_expect_success "'ipfs bootstrap rm --all' succeeds" '
90 ipfs bootstrap rm --all >rm2_actual
91 '
92
93 test_expect_success "'ipfs bootstrap rm' output looks good" '
94 echo "removed $BP2" >rm2_expected &&
95 test_cmp rm2_expected rm2_actual
96 '
97
98 test_bootstrap_list_cmd
99
100 test_expect_success "'ipfs bootstrap add' accepts args from stdin" '
101 echo $BP1 > bpeers &&
102 echo $BP2 >> bpeers &&
103 echo $BP3 >> bpeers &&
104 echo $BP4 >> bpeers &&
105 cat bpeers | ipfs bootstrap add > add_stdin_actual
106 '
107
108 test_expect_success "output looks good" '
109 echo "added $BP1" > bpeers_add_exp &&
110 echo "added $BP2" >> bpeers_add_exp &&
111 echo "added $BP3" >> bpeers_add_exp &&
112 echo "added $BP4" >> bpeers_add_exp &&
113 test_cmp add_stdin_actual bpeers_add_exp
114 '
115
116 test_bootstrap_list_cmd $BP1 $BP2 $BP3 $BP4
117
118 test_expect_success "'ipfs bootstrap rm' accepts args from stdin" '
119 cat bpeers | ipfs bootstrap rm > rm_stdin_actual
120 '
121
122 test_expect_success "output looks good" '
123 echo "removed $BP1" > bpeers_rm_exp &&
124 echo "removed $BP2" >> bpeers_rm_exp &&
125 echo "removed $BP3" >> bpeers_rm_exp &&
126 echo "removed $BP4" >> bpeers_rm_exp &&
127 test_cmp rm_stdin_actual bpeers_rm_exp
128 '
129
130 test_bootstrap_list_cmd
131 }
132
133 # should work offline
134 test_bootstrap_cmd
135
136 # should work online
137 test_launch_ipfs_daemon
138 test_bootstrap_cmd
139 test_kill_ipfs_daemon
140
141
142 test_done