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  });