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