|
| 1 | + |
| 2 | + |
| 3 | +# Acceptance tests |
| 4 | +The document describes few high-level end-to-end scenarios that can be used as acceptance tests. |
| 5 | + |
| 6 | +## Scenarios |
| 7 | +1. Add new metadata |
| 8 | +2. Update metadata |
| 9 | + |
| 10 | +### Add new metadata |
| 11 | + |
| 12 | +0. Mint a new token on testnet, like https://github.com/input-output-hk/cardano-node/blob/master/scripts/byron-to-mary/mint.sh |
| 13 | + |
| 14 | +1. Add metadata entry to testnet metadata registry: |
| 15 | + |
| 16 | +``` |
| 17 | +$ git clone https://github.com/input-output-hk/metadata-registry-testnet.git |
| 18 | +$ cd metadata-registry-testnet/registry |
| 19 | +``` |
| 20 | + |
| 21 | +``` |
| 22 | +$ token-metadata-creator entry --init bb59e0d0065c3368e0b7add747f |
| 23 | +795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 |
| 24 | +
|
| 25 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 \ |
| 26 | + --name "OffchainToolsCoin" \ |
| 27 | + --description "Test OffchainTools" \ |
| 28 | + --policy /home/piotr/t/node/tokens/minter/offchain-tools-test/policy.script |
| 29 | +
|
| 30 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 \ |
| 31 | + --ticker "OTC" \ |
| 32 | + --url "https://github.com/input-output-hk/offchain-metadata-tools/" \ |
| 33 | + --logo "/home/piotr/wb/offchain-metadata-tools/token-metadata-creator/test/testData/icon.png" |
| 34 | +
|
| 35 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 -a /home/piotr/t/node/tokens/minter/offchain-tools-test/policy.skey |
| 36 | +
|
| 37 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 --finalize |
| 38 | +
|
| 39 | +$ token-metadata-creator validate bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67.json |
| 40 | +
|
| 41 | +[Info] [Main.log#281] Wallet metadata validation successful! |
| 42 | +``` |
| 43 | + |
| 44 | +2. Commit file and create PR on https://github.com/input-output-hk/metadata-registry-testnet.git |
| 45 | + |
| 46 | +3. Validate PR. |
| 47 | +``` |
| 48 | +$ metadata-validator-github --no-auth input-output-hk metadata-registry-testnet 94 --expect-branch master |
| 49 | +
|
| 50 | +[Info] [Cardano.Metadata.Validation.GitHub.gitHubValidationRules#146] Validating 1 files. |
| 51 | +[Info] [Cardano.Metadata.Validation.GitHub.validatePRFile#198] Adding a record... |
| 52 | +
|
| 53 | +``` |
| 54 | +4. Merge PR. |
| 55 | + |
| 56 | +5. Check that metadata is displayed in cardano-wallet which holds tokens for which we defined metadata in metadata-registry: |
| 57 | + |
| 58 | + - cardano-wallet must be started with `--token-metadata-server https://metadata.cardano-testnet.iohkdev.io/` parameter |
| 59 | +``` |
| 60 | +cardano-wallet serve |
| 61 | + --node-socket ../node/node.socket \ |
| 62 | + --testnet testnet-byron-genesis.json \ |
| 63 | + --token-metadata-server https://metadata.cardano-testnet.iohkdev.io/ \ |
| 64 | + --database ./wallet-db |
| 65 | +``` |
| 66 | + |
| 67 | +``` |
| 68 | +curl -X GET http://localhost:8090/v2/wallets/1b0aa24994b4181e79116c131510f2abf6cdaa4f/assets | jq |
| 69 | +... |
| 70 | + { |
| 71 | + "asset_name": "6f6666636861696e546f6f6c7354657374696e67", |
| 72 | + "fingerprint": "asset19ctrcwqhl2ttx97qr4n590v382k8l59getman3", |
| 73 | + "policy_id": "bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc63", |
| 74 | + "metadata": { |
| 75 | + "url": "https://github.com/input-output-hk/offchain-metadata-tools/", |
| 76 | + "name": "OffchainToolsCoin", |
| 77 | + "ticker": "OTC", |
| 78 | + "logo": "...", |
| 79 | + "description": "Test OffchainTools" |
| 80 | + } |
| 81 | + }, |
| 82 | +``` |
| 83 | + |
| 84 | +## Update metadata |
| 85 | + |
| 86 | +1. Update name in the already existing metadata: |
| 87 | +``` |
| 88 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 \ |
| 89 | + --name "OffchainToolsCoin update" |
| 90 | +
|
| 91 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 -a /home/piotr/t/node/tokens/minter/offchain-tools-test/policy.skey \ |
| 92 | + --attest-name |
| 93 | +
|
| 94 | +$ token-metadata-creator entry bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67 --finalize |
| 95 | +``` |
| 96 | + |
| 97 | +2. Verify that name `value` and `signature` are updated, also `sequenceNumber` is increased by one. |
| 98 | + |
| 99 | +``` |
| 100 | + "name": { |
| 101 | + "sequenceNumber": 1, |
| 102 | + "value": "OffchainToolsCoin update", |
| 103 | + "signatures": [ |
| 104 | + { |
| 105 | + "signature": "18967d36105d3cc749a831282e52456008483fe673c86f11e423c0e56e319c3649aae9eec0a3fac8dcdf99f1e3fbd126cb8d62db49ff9c4fb88eda9bb1c4f800", |
| 106 | + "publicKey": "197b6c5c36b69919f3ac9952f9014de3fd096f6c7c0b34d55561942bd37d76a2" |
| 107 | + } |
| 108 | + ] |
| 109 | + } |
| 110 | +``` |
| 111 | + |
| 112 | +3. Validate the update: |
| 113 | + |
| 114 | +``` |
| 115 | +$ token-metadata-creator validate bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc636f6666636861696e546f6f6c7354657374696e67.json |
| 116 | +
|
| 117 | +[Info] [Main.log#281] Wallet metadata validation successful! |
| 118 | +``` |
| 119 | + |
| 120 | +4. Commit file and create PR on https://github.com/input-output-hk/metadata-registry-testnet.git |
| 121 | + |
| 122 | +5. Validate PR. |
| 123 | +``` |
| 124 | +$ metadata-validator-github --no-auth input-output-hk metadata-registry-testnet 95 --expect-branch master |
| 125 | +
|
| 126 | +[Info] [Cardano.Metadata.Validation.GitHub.gitHubValidationRules#146] Validating 1 files. |
| 127 | +[Info] [Cardano.Metadata.Validation.GitHub.validatePRFile#197] Modifying a record... |
| 128 | +``` |
| 129 | +6. Merge PR. |
| 130 | +7. Make sure that updated metadata is displayed in cardano-wallet which holds tokens for which we defined metadata in metadata-registry. |
| 131 | +``` |
| 132 | +curl -X GET http://localhost:8090/v2/wallets/1b0aa24994b4181e79116c131510f2abf6cdaa4f/assets | jq |
| 133 | +... |
| 134 | + { |
| 135 | + "asset_name": "6f6666636861696e546f6f6c7354657374696e67", |
| 136 | + "fingerprint": "asset19ctrcwqhl2ttx97qr4n590v382k8l59getman3", |
| 137 | + "policy_id": "bb59e0d0065c3368e0b7add747f795026a93489b550bf0ddfbd6dc63", |
| 138 | + "metadata": { |
| 139 | + "url": "https://github.com/input-output-hk/offchain-metadata-tools/", |
| 140 | + "name": "OffchainToolsCoin update", |
| 141 | + "ticker": "OTC", |
| 142 | + "logo": "...", |
| 143 | + "description": "Test OffchainTools" |
| 144 | + } |
| 145 | + }, |
| 146 | +
|
| 147 | +``` |
0 commit comments