Skip to content

Commit 8d1b52d

Browse files
committed
Add basic sharness tests.
License: MIT Signed-off-by: Kevin Atkinson <[email protected]>
1 parent 6e5fb0c commit 8d1b52d

File tree

1 file changed

+228
-0
lines changed

1 file changed

+228
-0
lines changed

test/sharness/t0290-cid.sh

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
#!/usr/bin/env bash
2+
3+
test_description="Test cid commands"
4+
5+
. lib/test-lib.sh
6+
7+
# note: all "ipfs cid" commands should work without requiring a repo
8+
9+
CIDv0="QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv"
10+
CIDv1="zdj7WZAAFKPvYPPzyJLso2hhxo8a7ZACFQ4DvvfrNXTHidofr"
11+
CIDb32="bafybeibxm2nsadl3fnxv2sxcxmxaco2jl53wpeorjdzidjwf5aqdg7wa6u"
12+
13+
test_expect_success "cid base32 works" '
14+
echo $CIDb32 > expected &&
15+
ipfs cid base32 $CIDv0 > actual1 &&
16+
test_cmp actual1 expected &&
17+
ipfs cid base32 $CIDv1 > actual2 &&
18+
test_cmp expected actual2
19+
'
20+
21+
test_expect_success "cid format -v 1 -b base58btc" '
22+
echo $CIDv1 > expected &&
23+
ipfs cid format -v 1 -b base58btc $CIDv0 > actual1 &&
24+
test_cmp actual1 expected &&
25+
ipfs cid format -v 1 -b base58btc $CIDb32 > actual2 &&
26+
test_cmp expected actual2
27+
'
28+
29+
cat <<EOF > various_cids
30+
QmZZRTyhDpL5Jgift1cHbAhexeE1m2Hw8x8g7rTcPahDvo
31+
QmPhk6cJkRcFfZCdYam4c9MKYjFG9V29LswUnbrFNhtk2S
32+
bafybeihtwdtifv43rn5cyilnmkwofdcxi2suqimmo62vn3etf45gjoiuwy
33+
bafybeiek4tfxkc4ov6jsmb63fzbirrsalnjw24zd5xawo2fgxisd4jmpyq
34+
zdj7WgYfT2gfsgiUxzPYboaRbP9H9CxZE5jVMK9pDDwCcKDCR
35+
zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi
36+
uAXASIDsp4T3Wnd6kXFOQaljH3GFK_ixkjMtVhB9VOBrPK3bp
37+
uAXASIDdmmyANeytvXUriuy4BO0lfd2eR0UjygabF6CAzfsD1
38+
EOF
39+
40+
cat <<EOF > various_cids_base32
41+
bafybeifgwyq5gs4l2mru5klgwjfmftjvkmbyyjurbupuz2bst7mhmg2hwa
42+
bafybeiauil46g3lb32jemjbl7yspca3twdcg4wwkbsgdgvgdj5fpfv2f64
43+
bafybeihtwdtifv43rn5cyilnmkwofdcxi2suqimmo62vn3etf45gjoiuwy
44+
bafybeiek4tfxkc4ov6jsmb63fzbirrsalnjw24zd5xawo2fgxisd4jmpyq
45+
bafybeifffq3aeaymxejo37sn5fyaf7nn7hkfmzwdxyjculx3lw4tyhk7uy
46+
bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf354
47+
bafybeib3fhqt3vu532sfyu4qnjmmpxdbjl7cyzemznkyih2vhanm6k3w5e
48+
bafybeibxm2nsadl3fnxv2sxcxmxaco2jl53wpeorjdzidjwf5aqdg7wa6u
49+
EOF
50+
51+
cat <<EOF > various_cids_v1
52+
zdj7WgefqQm5HogBQ2bckZuTYYDarRTUZi51GYCnerHD2G86j
53+
zdj7WWnzU3Nbu5rYGWZHKigUXBtAwShs2SHDCM1TQEvC9TeCN
54+
zdj7WmqAbpsfXgiRBtZP1oAP9QWuuY3mqbc5JhpxJkfT3vYCu
55+
zdj7Wen5gtfr7AivXip3zYd1peuq2QfKrqAn4FGiciVWb96YB
56+
zdj7WgYfT2gfsgiUxzPYboaRbP9H9CxZE5jVMK9pDDwCcKDCR
57+
zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi
58+
zdj7WZQrAvnY5ge3FNg5cmCsNwsvpYjdtu2yEmnWYQ4ES7Nzk
59+
zdj7WZAAFKPvYPPzyJLso2hhxo8a7ZACFQ4DvvfrNXTHidofr
60+
EOF
61+
62+
test_expect_success "cid base32 works from stdin" '
63+
cat various_cids | ipfs cid base32 > actual &&
64+
test_cmp various_cids_base32 actual
65+
'
66+
67+
test_expect_success "cid format -v 1 -b base58btc works from stdin" '
68+
cat various_cids | ipfs cid format -v 1 -b base58btc > actual &&
69+
test_cmp various_cids_v1 actual
70+
'
71+
72+
cat <<EOF > bases_expect
73+
0 identity
74+
b 98 base32
75+
B 66 base32upper
76+
c 99 base32pad
77+
C 67 base32padupper
78+
f 102 base16
79+
F 70 base16upper
80+
m 109 base64
81+
M 77 base64pad
82+
t 116 base32hexpad
83+
T 84 base32hexpadupper
84+
u 117 base64url
85+
U 85 base64urlpad
86+
v 118 base32hex
87+
V 86 base32hexupper
88+
z 122 base58btc
89+
Z 90 base58flickr
90+
EOF
91+
92+
cat <<EOF > codecs_expect
93+
85 raw
94+
112 protobuf
95+
113 cbor
96+
120 git-raw
97+
144 eth-block
98+
145 eth-block-list
99+
146 eth-tx-trie
100+
147 eth-tx
101+
148 eth-tx-receipt-trie
102+
149 eth-tx-receipt
103+
150 eth-state-trie
104+
151 eth-account-snapshot
105+
152 eth-storage-trie
106+
176 bitcoin-block
107+
177 bitcoin-tx
108+
192 zcash-block
109+
193 zcash-tx
110+
224 decred-block
111+
225 decred-tx
112+
EOF
113+
114+
cat <<EOF > hashes_expect
115+
0 id
116+
17 sha1
117+
18 sha2-256
118+
19 sha2-512
119+
20 sha3-512
120+
21 sha3-384
121+
22 sha3-256
122+
23 sha3-224
123+
25 shake-256
124+
26 keccak-224
125+
27 keccak-256
126+
28 keccak-384
127+
29 keccak-512
128+
86 dbl-sha2-256
129+
45588 blake2b-160
130+
45589 blake2b-168
131+
45590 blake2b-176
132+
45591 blake2b-184
133+
45592 blake2b-192
134+
45593 blake2b-200
135+
45594 blake2b-208
136+
45595 blake2b-216
137+
45596 blake2b-224
138+
45597 blake2b-232
139+
45598 blake2b-240
140+
45599 blake2b-248
141+
45600 blake2b-256
142+
45601 blake2b-264
143+
45602 blake2b-272
144+
45603 blake2b-280
145+
45604 blake2b-288
146+
45605 blake2b-296
147+
45606 blake2b-304
148+
45607 blake2b-312
149+
45608 blake2b-320
150+
45609 blake2b-328
151+
45610 blake2b-336
152+
45611 blake2b-344
153+
45612 blake2b-352
154+
45613 blake2b-360
155+
45614 blake2b-368
156+
45615 blake2b-376
157+
45616 blake2b-384
158+
45617 blake2b-392
159+
45618 blake2b-400
160+
45619 blake2b-408
161+
45620 blake2b-416
162+
45621 blake2b-424
163+
45622 blake2b-432
164+
45623 blake2b-440
165+
45624 blake2b-448
166+
45625 blake2b-456
167+
45626 blake2b-464
168+
45627 blake2b-472
169+
45628 blake2b-480
170+
45629 blake2b-488
171+
45630 blake2b-496
172+
45631 blake2b-504
173+
45632 blake2b-512
174+
45652 blake2s-160
175+
45653 blake2s-168
176+
45654 blake2s-176
177+
45655 blake2s-184
178+
45656 blake2s-192
179+
45657 blake2s-200
180+
45658 blake2s-208
181+
45659 blake2s-216
182+
45660 blake2s-224
183+
45661 blake2s-232
184+
45662 blake2s-240
185+
45663 blake2s-248
186+
45664 blake2s-256
187+
EOF
188+
189+
test_expect_success "cid bases" '
190+
cut -c 10- bases_expect > expect &&
191+
ipfs cid bases > actual &&
192+
test_cmp expect actual
193+
'
194+
195+
test_expect_success "cid bases --prefix" '
196+
cut -c 1-3,10- bases_expect > expect &&
197+
ipfs cid bases --prefix > actual &&
198+
test_cmp expect actual
199+
'
200+
201+
test_expect_success "cid bases --prefix --numeric" '
202+
ipfs cid bases --prefix --numeric > actual &&
203+
test_cmp bases_expect actual
204+
'
205+
206+
test_expect_success "cid codecs" '
207+
cut -c 8- codecs_expect > expect &&
208+
ipfs cid codecs > actual
209+
test_cmp expect actual
210+
'
211+
212+
test_expect_success "cid codecs --numeric" '
213+
ipfs cid codecs --numeric > actual &&
214+
test_cmp codecs_expect actual
215+
'
216+
217+
test_expect_success "cid hashes" '
218+
cut -c 8- hashes_expect > expect &&
219+
ipfs cid hashes > actual
220+
test_cmp expect actual
221+
'
222+
223+
test_expect_success "cid hashes --numeric" '
224+
ipfs cid hashes --numeric > actual &&
225+
test_cmp hashes_expect actual
226+
'
227+
228+
test_done

0 commit comments

Comments
 (0)