github.com/igggame/nebulas-go@v2.1.0+incompatible/nebtestkit/cases/command/account.test.js (about)

     1  'use strict';
     2  
     3  var expect = require('chai').expect;
     4  var process = require('child_process');
     5  
     6  var neb = './neb';
     7  var newAccount;
     8  
     9  describe('neb account', () => {
    10  
    11      it('account new', (done) => {
    12          process.exec(neb + ' account new 123456', (err, stdout, stderr) => {
    13              try {
    14                  expect(err).to.be.equal(null);
    15                  expect(stderr).to.be.equal("");
    16                  var expectStdout = /Address: ([0-9]|[a-f]){48}\n$/;
    17                  expect(expectStdout.test(stdout)).to.be.equal(true);
    18                  newAccount = stdout.slice(9, 57);
    19              } catch (err) {
    20                  done(err);
    21                  return;
    22              }
    23              done();
    24          });
    25      });
    26  
    27      it('account list', (done) => {
    28          process.exec(neb + ' account list', (err, stdout, stderr) => {
    29              try {
    30                  expect(err).to.be.equal(null);
    31                  expect(stderr).to.be.equal("");
    32                  var expectStdout = /^(Account #[0-9]+: ([0-9]|[a-f]){48}\n)+$/
    33                  expect(expectStdout.test(stdout)).to.be.equal(true);
    34              } catch(err) {
    35                  done(err);
    36                  return;
    37              }
    38              done();
    39          });
    40      });
    41  
    42      it('account update', (done) => {
    43          var child = process.exec(neb + ' account update ' + newAccount, (err, stdout, stderr) => {
    44              try {
    45                  expect(err).to.be.equal(null);
    46                  expect(stderr).to.be.equal("");
    47                  console.log(stdout);
    48                  var expectStdout = 'Please input current passhprase\nPassphrase: \n'+
    49                      'Please give a new password. Do not forget this password.\n'+
    50                      'Passphrase: \nRepeat passphrase: \nUpdated address: ' + newAccount +'\n';
    51                  expect(expectStdout).to.be.equal(stdout);
    52              } catch(err) {
    53                  done(err);
    54                  return;
    55              }
    56              done();
    57          });
    58          child.stdin.write("123456\n123\n123\n");
    59      });
    60  
    61      it('account import', (done) => {
    62          var child = process.exec(neb + ' account import keydir/' + newAccount, (err, stdout, stderr) => {
    63              try {
    64                  expect(err).to.be.equal(null);
    65                  expect(stderr).to.be.equal("");
    66                  var expectStdout = 'Passphrase: \nImport address: ' + newAccount + '\n';
    67                  expect(expectStdout).to.be.equal(stdout);
    68              } catch (err) {
    69                  done(err);
    70                  return;
    71              }
    72              done();
    73          });
    74          child.stdin.write('123\n');
    75      });
    76  
    77      after('remove the accout file', (done) => {
    78          var child = process.exec('rm -f ./keydir/' + newAccount, (err, stdout, stderr) => {
    79              try {
    80                  expect(err).to.be.equal(null);
    81                  expect(stderr).to.be.equal("");
    82                  done();
    83              } catch (err) {
    84                  done(err);
    85              }
    86          });
    87      });
    88  });