|
| 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