github.com/igggame/nebulas-go@v2.1.0+incompatible/nebtestkit/cases/rpc/GetNRByAddress.test.js (about) 1 'use strict'; 2 var expect = require('chai').expect; 3 var rpc_client = require('./rpc_client/rpc_client.js'); 4 var Wallet = require("nebulas"); 5 var Account = Wallet.Account; 6 7 var server_address = 'localhost:8684'; 8 var coinbase = "eb31ad2d8a89a0ca6935c308d5425730430bc2d63f2573b8"; 9 var sourceAccount; 10 var chain_id = 100; 11 var env = 'local'; 12 13 if (env === 'testneb1') { 14 chain_id = 1001; 15 sourceAccount = new Wallet.Account("25a3a441a34658e7a595a0eda222fa43ac51bd223017d17b420674fb6d0a4d52"); 16 coinbase = "n1SAeQRVn33bamxN4ehWUT7JGdxipwn8b17"; 17 server_address = "35.182.48.19:8684"; 18 19 } else if (env === "local") { 20 chain_id = 100; 21 sourceAccount = new Wallet.Account("d80f115bdbba5ef215707a8d7053c16f4e65588fd50b0f83369ad142b99891b5"); 22 coinbase = "n1QZMXSZtW7BUerroSms4axNfyBGyFGkrh5"; 23 server_address = "127.0.0.1:8684"; 24 25 } else if (env === "maintest"){ 26 chain_id = 2; 27 sourceAccount = new Wallet.Account("d2319a8a63b1abcb0cc6d4183198e5d7b264d271f97edf0c76cfdb1f2631848c"); 28 coinbase = "n1dZZnqKGEkb1LHYsZRei1CH6DunTio1j1q"; 29 server_address = "54.149.15.132:8684"; 30 } else { 31 throw new Error("invalid env (" + env + ")."); 32 } 33 34 var client; 35 36 function testRpc(testInput, testExpect, done) { 37 client.GetNRByAddress(testInput.rpcInput, function (err, response) { 38 if (err != null) { 39 console.log("response err", err); 40 try { 41 expect(testExpect.errMsg).to.be.equal(err.details); 42 } catch (err) { 43 console.log(err); 44 done(err) 45 return; 46 } 47 done(); 48 return; 49 } else { 50 // console.log("response", response); 51 try { 52 // expect(response.data).to.be.a("string"); 53 expect(response.data).to.be.equal(testExpect.data); 54 } catch (err) { 55 done(err); 56 return; 57 }; 58 } 59 done(); 60 return; 61 }); 62 63 } 64 65 describe('rpc: GetNRByAddress', function () { 66 before(function () { 67 client = rpc_client.new_client(server_address); 68 }); 69 70 it('normal rpc', function (done) { 71 var testInput = { 72 rpcInput: { 73 address: coinbase, 74 height: 0 75 } 76 } 77 78 var testExpect = { 79 data: "" 80 } 81 82 testRpc(testInput, testExpect, done); 83 }) 84 85 it('address is not exist', function (done) { 86 var testInput = { 87 rpcInput: { 88 address: Account.NewAccount().getAddressString(), 89 height: 0 90 } 91 } 92 93 var testExpect = { 94 data: "" 95 } 96 97 testRpc(testInput, testExpect, done); 98 }); 99 100 it('address is invalid', function (done) { 101 var testInput = { 102 rpcInput: { 103 address: 'b7d83b44@@3719220ec54cdb9f54c0202de68f1ebcb927b4f', 104 height: 0 105 } 106 } 107 108 var testExpect = { 109 errMsg: 'address: invalid address format' 110 } 111 112 testRpc(testInput, testExpect, done); 113 }); 114 115 it('address is null', function (done) { 116 var testInput = { 117 rpcInput: { 118 address: '', 119 height: 0 120 } 121 } 122 123 var testExpect = { 124 errMsg: 'address: invalid address format' 125 } 126 127 testRpc(testInput, testExpect, done); 128 }); 129 130 it('address is empty', function (done) { 131 var testInput = { 132 rpcInput: { 133 height: 0 134 } 135 } 136 137 var testExpect = { 138 errMsg: 'address: invalid address format' 139 } 140 141 testRpc(testInput, testExpect, done); 142 }) 143 144 it('height is empty', function (done) { 145 var testInput = { 146 rpcInput: { 147 address: coinbase, 148 } 149 } 150 151 var testExpect = { 152 data: "" 153 } 154 155 testRpc(testInput, testExpect, done); 156 }) 157 158 it('height is negtive', function (done) { 159 var testInput = { 160 rpcInput: { 161 address: coinbase, 162 height: -1 163 } 164 } 165 166 var testExpect = { 167 data: "" 168 } 169 170 testRpc(testInput, testExpect, done); 171 }) 172 173 it('height out of max', function (done) { 174 var testInput = { 175 rpcInput: { 176 address: coinbase, 177 height: 1111111111111111111111111111111111111111111111111111111 178 } 179 } 180 181 var testExpect = { 182 errMsg: 'invalid height' 183 } 184 185 testRpc(testInput, testExpect, done); 186 }) 187 188 it('height is postive', function (done) { 189 var testInput = { 190 rpcInput: { 191 address: coinbase, 192 height: 1 193 } 194 } 195 196 var testExpect = { 197 data: "" 198 } 199 200 testRpc(testInput, testExpect, done); 201 }) 202 203 });