github.com/aeternity/aepp-sdk-go/v6@v6.0.0/cmd/inspect_test.go (about)

     1  package cmd
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/aeternity/aepp-sdk-go/v6/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  }