var assert = require('assert'); var Remote = require("ripple-lib").Remote; var testutils = require("./testutils.js"); var config = testutils.init_config(); suite('Remote functions', function() { var $ = { }; setup(function(done) { testutils.build_setup().call($, done); }); teardown(function(done) { testutils.build_teardown().call($, done); }); test('request_ledger_current', function(done) { $.remote.request_ledger_current(function(err, m) { assert(!err); assert.strictEqual(m.ledger_current_index, 3); done(); }); }); test('request_ledger_hash', function(done) { $.remote.request_ledger_hash(function(err, m) { // console.log("result: %s", JSON.stringify(m)); assert(!err); assert.strictEqual(m.ledger_index, 2); done(); }) }); test('manual account_root success', function(done) { var self = this; $.remote.request_ledger_hash(function(err, r) { //console.log("result: %s", JSON.stringify(r)); assert(!err); assert('ledger_hash' in r); var request = $.remote.request_ledger_entry('account_root') .ledger_hash(r.ledger_hash) .account_root("rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"); request.callback(function(err, r) { // console.log("account_root: %s", JSON.stringify(r)); assert(!err); assert('node' in r); done(); }); }); }); test('account_root remote malformedAddress', function(done) { var self = this; $.remote.request_ledger_hash(function(err, r) { // console.log("result: %s", JSON.stringify(r)); assert(!err); var request = $.remote.request_ledger_entry('account_root') .ledger_hash(r.ledger_hash) .account_root("zHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"); request.callback(function(err, r) { // console.log("account_root: %s", JSON.stringify(r)); assert(err); assert.strictEqual(err.error, 'remoteError'); assert.strictEqual(err.remote.error, 'malformedAddress'); done(); }); }) }); test('account_root entryNotFound', function(done) { var self = this; $.remote.request_ledger_hash(function(err, r) { // console.log("result: %s", JSON.stringify(r)); assert(!err); var request = $.remote.request_ledger_entry('account_root') .ledger_hash(r.ledger_hash) .account_root("alice"); request.callback(function(err, r) { // console.log("error: %s", m); assert(err); assert.strictEqual(err.error, 'remoteError'); assert.strictEqual(err.remote.error, 'entryNotFound'); done(); }); }) }); test('ledger_entry index', function(done) { var self = this; $.remote.request_ledger_hash(function(err, r) { assert(!err); var request = $.remote.request_ledger_entry('index') .ledger_hash(r.ledger_hash) .account_root("alice") .index("2B6AC232AA4C4BE41BF49D2459FA4A0347E1B543A4C92FCEE0821C0201E2E9A8"); request.callback(function(err, r) { assert(!err); assert('node_binary' in r); done(); }); }) }); test('create account', function(done) { var self = this; var root_id = $.remote.account('root')._account_id; $.remote.request_subscribe().accounts(root_id).request(); $.remote.transaction() .payment('root', 'alice', "10000.0") .once('error', done) .once('proposed', function(res) { //console.log('Submitted', res); $.remote.ledger_accept(); }) .once('success', function (r) { //console.log("account_root: %s", JSON.stringify(r)); // Need to verify account and balance. done(); }) .submit(); }); test('create account final', function(done) { var self = this; var got_proposed; var got_success; var root_id = $.remote.account('root')._account_id; $.remote.request_subscribe().accounts(root_id).request(); var transaction = $.remote.transaction() .payment('root', 'alice', "10000.0") .once('error', done) .once('submitted', function (m) { // console.log("proposed: %s", JSON.stringify(m)); // buster.assert.equals(m.result, 'terNO_DST_INSUF_XRP'); assert.strictEqual(m.engine_result, 'tesSUCCESS'); }) .once('proposed', function() { got_proposed = true; $.remote.ledger_accept(); }) .once('success', function (r) { // console.log("create_account: %s", JSON.stringify(r)); got_success = true; }) .once('final', function (m) { // console.log("final: %s", JSON.stringify(m)); assert(got_success); assert(got_proposed); done(); }); transaction.submit(); }); }); //vim:sw=2:sts=2:ts=8:et