github.com/aeternity/aepp-sdk-go/v7@v7.0.1/cmd/inspect_test.go (about) 1 package cmd 2 3 import ( 4 "testing" 5 6 "github.com/aeternity/aepp-sdk-go/v7/naet" 7 ) 8 9 func Test_printNameEntry(t *testing.T) { 10 type args struct { 11 conn naet.GetNameEntryByNamer 12 name string 13 } 14 tests := []struct { 15 name string 16 args args 17 wantErr bool 18 }{ 19 { 20 name: "Name from testnet", 21 args: args{ 22 conn: &mockGetNameEntryByNamer{ 23 nameEntry: `{"id":"nm_WBWNnGHa2snFGFyPZAQh2hsqw4g1oXsueoxGYfB3vi3d6YdhB","pointers":[{"id":"ak_2pvi7arAQTS71XTUapv2PwShKomcPhWUp6Hxu66BDQpeFumkJP","key":"account_pubkey"}],"ttl":157928}`, 24 }, 25 name: "lolilalus.test", 26 }, 27 wantErr: false, 28 }, 29 } 30 for _, tt := range tests { 31 t.Run(tt.name, func(t *testing.T) { 32 if err := printNameEntry(tt.args.conn, tt.args.name); (err != nil) != tt.wantErr { 33 t.Errorf("printNameEntry() error = %v, wantErr %v", err, tt.wantErr) 34 } 35 }) 36 } 37 } 38 39 func Test_printAccount(t *testing.T) { 40 type args struct { 41 conn naet.GetAccounter 42 accountID string 43 } 44 tests := []struct { 45 name string 46 args args 47 wantErr bool 48 }{ 49 { 50 name: "Normal account", 51 args: args{ 52 conn: &mockGetAccounter{account: `{"balance":1600000000000000077131306000000000000000,"id":"ak_2a1j2Mk9YSmC1gioUq4PWRm3bsv887MbuRVwyv4KaUGoR1eiKi","kind":"basic","nonce":0}`}, 53 accountID: "ak_2a1j2Mk9YSmC1gioUq4PWRm3bsv887MbuRVwyv4KaUGoR1eiKi", 54 }, 55 wantErr: false, 56 }, 57 } 58 for _, tt := range tests { 59 t.Run(tt.name, func(t *testing.T) { 60 if err := printAccount(tt.args.conn, tt.args.accountID); (err != nil) != tt.wantErr { 61 t.Errorf("printAccount() error = %v, wantErr %v", err, tt.wantErr) 62 } 63 }) 64 } 65 } 66 67 func Test_printMicroBlockAndTransactions(t *testing.T) { 68 type args struct { 69 conn getMicroBlockHeaderTransactions 70 mbHash string 71 } 72 tests := []struct { 73 name string 74 args args 75 wantErr bool 76 }{ 77 { 78 name: "Microblock with 5 txs from testnet", 79 args: args{ 80 conn: &mockGetMicroBlockHeaderTransactions{ 81 mbHeader: `{"hash":"mh_28qJfYLgxL1pESJwnke1AzCrHu4LAHNdW4qb4rAv9k28TwH3Fk","height":108438,"pof_hash":"no_fraud","prev_hash":"mh_2FkCx11HiP6z2qfaVDbEkpAwJVmVWgCJj5PVjFRDVa7uru2Kid","prev_key_hash":"kh_2Ke7nqWNm6ADC5hnCnsxwAVrpXsNYDwzF1fkEFG7AS8DDMc8U8","signature":"sg_KmAAvxM3iwALyMGRjo6Ddh7ohoj9BUVgrYoGeVCDp4sP54DmmgbJnz96wLv4g9rDkEfWEgih14cL7rsnyCxEDK3nxParZ","state_hash":"bs_2tFVszM5mCCLcNpiVYKsTTjZLXaKjz9AHxnTNryjmumW7JDk7z","time":1562935271123,"txs_hash":"bx_24S2Snxot252rbcAJNpwuK87jGjdp6ynr4Ghcs3TK8AFNYiifp","version":3}`, 82 mbTxs: `{"transactions":[{"block_hash":"mh_YR2XivA1vNopkxewAwuF8VbNJwtKgioV9TUFyRHynMc77YQBM","block_height":108457,"hash":"th_2auAXYLdLXXtRsgujVsnCQtb3QrJD5HcQtdcuFwt69Jtw2DVnD","signatures":["sg_JKcXEWDXrLf9TTffeHGkuKj7JCi8ev4o7uLWSbmoegmJB6CWNpX5uHsfz4CLGqp9iwktQLsNow2FbEb5SGBKpgfHRgHET"],"tx":{"abi_version":1,"amount":0,"call_data":"cb_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","caller_id":"ak_2MDUVSTt1ANKo2oL92L3uXe1WLKtpemKvmAydUdiQTvTpp85Nb","contract_id":"ct_t4sf8hJttG2s9qXX68q1baTFDKrkrXxpe76aoLkn6xgfsyDZo","fee":2062980000000000,"gas":1579000,"gas_price":1000000000,"nonce":834,"type":"ContractCallTx","version":1}}]}`, 83 }, 84 mbHash: "mh_28qJfYLgxL1pESJwnke1AzCrHu4LAHNdW4qb4rAv9k28TwH3Fk", 85 }, 86 wantErr: false, 87 }, 88 } 89 for _, tt := range tests { 90 t.Run(tt.name, func(t *testing.T) { 91 if err := printMicroBlockAndTransactions(tt.args.conn, tt.args.mbHash); (err != nil) != tt.wantErr { 92 t.Errorf("printMicroBlockAndTransactions() error = %v, wantErr %v", err, tt.wantErr) 93 } 94 }) 95 } 96 } 97 98 func Test_printKeyBlockByHash(t *testing.T) { 99 type args struct { 100 conn naet.GetKeyBlockByHasher 101 kbHash string 102 } 103 tests := []struct { 104 name string 105 args args 106 wantErr bool 107 }{ 108 { 109 name: "Key block from testnet", 110 args: args{ 111 conn: &mockGetKeyBlockByHasher{ 112 keyBlock: `{"beneficiary":"ak_2iBPH7HUz3cSDVEUWiHg76MZJ6tZooVNBmmxcgVK6VV8KAE688","hash":"kh_oDqm8GN52dHmPr14QEZMJvfVP66tm8eBmWxLQmgZRJXgT7JFy","height":108441,"info":"cb_AAAAAfy4hFE=","miner":"ak_aE7aDeuV9pXYigeiLQHWdFK1ikNcCYMx1hQaMMuxuVc8SSgL1","nonce":2722962700732600136,"pow":[7237248,17339428,19311923,24469735,41960858,51470860,65768197,67950693,89283243,92572228,121706880,172095449,211686159,216835594,233435022,262747378,265967366,267111342,267230747,268929332,272493684,272942478,274270131,288317690,311217919,318687310,330374834,356441059,376376355,381000412,387400363,394749719,395982845,422309957,436094149,437906840,495692399,503123017,509591917,513558670,514890693,534392063],"prev_hash":"kh_2JYYqcBCtt2DGrifj8Z72aDkuxm53Jie4bD5pxn5uNe9ATieZn","prev_key_hash":"kh_2JYYqcBCtt2DGrifj8Z72aDkuxm53Jie4bD5pxn5uNe9ATieZn","state_hash":"bs_241bfFjn54ymFEeQYHUDbqUjTxcRk8kbY3mLqSxTKy3qoZeapz","target":538266778,"time":1562935866886,"version":3}`, 113 }, 114 kbHash: `kh_oDqm8GN52dHmPr14QEZMJvfVP66tm8eBmWxLQmgZRJXgT7JFy`, 115 }, 116 wantErr: false, 117 }, 118 } 119 for _, tt := range tests { 120 t.Run(tt.name, func(t *testing.T) { 121 if err := printKeyBlockByHash(tt.args.conn, tt.args.kbHash); (err != nil) != tt.wantErr { 122 t.Errorf("printKeyBlockByHash() error = %v, wantErr %v", err, tt.wantErr) 123 } 124 }) 125 } 126 } 127 128 func Test_printTransactionByHash(t *testing.T) { 129 type args struct { 130 conn naet.GetTransactionByHasher 131 txHash string 132 } 133 tests := []struct { 134 name string 135 args args 136 wantErr bool 137 }{ 138 { 139 name: "Spend Tx from testnet", 140 args: args{ 141 conn: &mockGetTransactionByHasher{ 142 transaction: `{ 143 "block_hash": "mh_2LHbqc3iT3kJJgsvrDUawnUwMmaoDa4ak8vyH6sdRU8N4FDBmT", 144 "block_height": 108313, 145 "hash": "th_2QnsbqNA7CXXikzJy1kNGaEt98vU5woYMMMGQq7ieXKRAWRzqA", 146 "signatures": [ 147 "sg_Peh639PMQixTm63SP3Tebq2qc6PbNf2JY4kuBktXrLHE9NKyU2p6LKUDgL2NfwgAGNAuPeGr6TMvEFzPdUbi8HnwEmDHN" 148 ], 149 "tx": { 150 "amount": 1598765432100000000, 151 "fee": 16920000000000, 152 "nonce": 157, 153 "payload": "ba_Xfbg4g==", 154 "recipient_id": "ak_9HCjPndyrL7vZBjKxacSdLiR64ChrxUYjY1V6fHxzfpmKphPb", 155 "sender_id": "ak_QxNXZsZnDEePC7XzmB3vUeUYAowDsMRXeFww1oPqPg2nEqfve", 156 "ttl": 108323, 157 "type": "SpendTx", 158 "version": 1 159 } 160 }`, 161 }, 162 txHash: "th_2QnsbqNA7CXXikzJy1kNGaEt98vU5woYMMMGQq7ieXKRAWRzqA", 163 }, 164 wantErr: false, 165 }, 166 } 167 for _, tt := range tests { 168 t.Run(tt.name, func(t *testing.T) { 169 if err := printTransactionByHash(tt.args.conn, tt.args.txHash); (err != nil) != tt.wantErr { 170 t.Errorf("printTransactionByHash() error = %v, wantErr %v", err, tt.wantErr) 171 } 172 }) 173 } 174 } 175 func Test_printOracleByPubkey(t *testing.T) { 176 type args struct { 177 conn naet.GetOracleByPubkeyer 178 oracleID string 179 } 180 tests := []struct { 181 name string 182 args args 183 wantErr bool 184 }{ 185 { 186 name: "Oracle from mainnet", 187 args: args{ 188 conn: &mockGetOracleByPubkeyer{ 189 oracle: `{ 190 "abi_version": 0, 191 "id": "ok_28QDg7fkF5qiKueSdUvUBtCYPJdmMEoS73CztzXCRAwMGKHKZh", 192 "query_fee": 1000000000000000000, 193 "query_format": "string", 194 "response_format": "string", 195 "ttl": 108596 196 }`, 197 }, 198 oracleID: "ok_28QDg7fkF5qiKueSdUvUBtCYPJdmMEoS73CztzXCRAwMGKHKZh", 199 }, 200 wantErr: false, 201 }, 202 } 203 for _, tt := range tests { 204 t.Run(tt.name, func(t *testing.T) { 205 if err := printOracleByPubkey(tt.args.conn, tt.args.oracleID); (err != nil) != tt.wantErr { 206 t.Errorf("printOracleByPubkey() error = %v, wantErr %v", err, tt.wantErr) 207 } 208 }) 209 } 210 }