mirror of
https://github.com/Xahau/xahaud.git
synced 2025-11-20 18:45:55 +00:00
UT: Share setUp and tearDown code.
This commit is contained in:
@@ -7,10 +7,12 @@ var path = require("path");
|
|||||||
// Where to find the binary.
|
// Where to find the binary.
|
||||||
exports.rippled = path.join(process.cwd(), "rippled");
|
exports.rippled = path.join(process.cwd(), "rippled");
|
||||||
|
|
||||||
|
exports.server_default = "alpha";
|
||||||
|
|
||||||
// Configuration for servers.
|
// Configuration for servers.
|
||||||
exports.servers = {
|
exports.servers = {
|
||||||
// A local test server.
|
// A local test server.
|
||||||
'alpha' : {
|
"alpha" : {
|
||||||
'trusted' : true,
|
'trusted' : true,
|
||||||
// "peer_ip" : "0.0.0.0",
|
// "peer_ip" : "0.0.0.0",
|
||||||
// "peer_port" : 51235,
|
// "peer_port" : 51235,
|
||||||
@@ -26,39 +28,39 @@ exports.servers = {
|
|||||||
// Configuration for test accounts.
|
// Configuration for test accounts.
|
||||||
exports.accounts = {
|
exports.accounts = {
|
||||||
// Users
|
// Users
|
||||||
'alice' : {
|
"alice" : {
|
||||||
'account' : 'rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn',
|
'account' : "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn",
|
||||||
'secret' : 'alice',
|
'secret' : "alice",
|
||||||
},
|
},
|
||||||
'bob' : {
|
"bob" : {
|
||||||
'account' : 'rPMh7Pi9ct699iZUTWaytJUoHcJ7cgyziK',
|
'account' : "rPMh7Pi9ct699iZUTWaytJUoHcJ7cgyziK",
|
||||||
'secret' : 'bob',
|
'secret' : "bob",
|
||||||
},
|
},
|
||||||
'carol' : {
|
"carol" : {
|
||||||
'account' : 'rH4KEcG9dEwGwpn6AyoWK9cZPLL4RLSmWW',
|
'account' : "rH4KEcG9dEwGwpn6AyoWK9cZPLL4RLSmWW",
|
||||||
'secret' : 'carol',
|
'secret' : "carol",
|
||||||
},
|
},
|
||||||
|
|
||||||
// Nexuses
|
// Nexuses
|
||||||
'bitstamp' : {
|
"bitstamp" : {
|
||||||
'account' : 'r4jKmc2nQb5yEU6eycefiNKGHTU5NQJASx',
|
'account' : "r4jKmc2nQb5yEU6eycefiNKGHTU5NQJASx",
|
||||||
'secret' : 'bitstamp',
|
'secret' : "bitstamp",
|
||||||
},
|
},
|
||||||
'mtgox' : {
|
"mtgox" : {
|
||||||
'account' : 'rGihwhaqU8g7ahwAvTq6iX5rvsfcbgZw6v',
|
'account' : "rGihwhaqU8g7ahwAvTq6iX5rvsfcbgZw6v",
|
||||||
'secret' : 'mtgox',
|
'secret' : "mtgox",
|
||||||
},
|
},
|
||||||
|
|
||||||
// Merchants
|
// Merchants
|
||||||
'amazon' : {
|
"amazon" : {
|
||||||
'account' : 'rhheXqX7bDnXePJeMHhubDDvw2uUTtenPd',
|
'account' : "rhheXqX7bDnXePJeMHhubDDvw2uUTtenPd",
|
||||||
'secret' : 'amazon',
|
'secret' : "amazon",
|
||||||
},
|
},
|
||||||
|
|
||||||
// Master account
|
// Master account
|
||||||
'root' : {
|
"root" : {
|
||||||
'account' : 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
|
'account' : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
|
||||||
'secret' : 'masterpassphrase',
|
'secret' : "masterpassphrase",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,34 +6,22 @@ var Amount = require("../js/amount.js").Amount;
|
|||||||
var Remote = require("../js/remote.js").Remote;
|
var Remote = require("../js/remote.js").Remote;
|
||||||
var Server = require("./server.js").Server;
|
var Server = require("./server.js").Server;
|
||||||
|
|
||||||
|
var testutils = require("./testutils.js");
|
||||||
|
|
||||||
buster.testRunner.timeout = 5000;
|
buster.testRunner.timeout = 5000;
|
||||||
|
|
||||||
var alpha;
|
|
||||||
|
|
||||||
buster.testCase("Offer tests", {
|
buster.testCase("Offer tests", {
|
||||||
'setUp' :
|
'setUp' : testutils.test_setup,
|
||||||
function (done) {
|
'tearDown' : testutils.test_teardown,
|
||||||
server = Server.from_config("alpha").on('started', function () {
|
|
||||||
alpha = Remote.from_config("alpha").once('ledger_closed', done) .connect();
|
|
||||||
}).start();
|
|
||||||
},
|
|
||||||
|
|
||||||
'tearDown' :
|
|
||||||
function (done) {
|
|
||||||
alpha
|
|
||||||
.on('disconnected', function () {
|
|
||||||
server.on('stopped', done).stop();
|
|
||||||
})
|
|
||||||
.connect(false);
|
|
||||||
},
|
|
||||||
|
|
||||||
"offer create then cancel in one ledger" :
|
"offer create then cancel in one ledger" :
|
||||||
function (done) {
|
function (done) {
|
||||||
|
var self = this;
|
||||||
var final_create;
|
var final_create;
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_create("root", "500", "100/USD/root")
|
.offer_create("root", "500", "100/USD/root")
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_create: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_create: %s", JSON.stringify(m));
|
||||||
@@ -49,7 +37,7 @@ buster.testCase("Offer tests", {
|
|||||||
.submit();
|
.submit();
|
||||||
},
|
},
|
||||||
function (m, callback) {
|
function (m, callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_cancel("root", m.transaction.Sequence)
|
.offer_cancel("root", m.transaction.Sequence)
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_cancel: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_cancel: %s", JSON.stringify(m));
|
||||||
@@ -65,7 +53,7 @@ buster.testCase("Offer tests", {
|
|||||||
.submit();
|
.submit();
|
||||||
},
|
},
|
||||||
function (m, callback) {
|
function (m, callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
})
|
})
|
||||||
@@ -81,12 +69,13 @@ buster.testCase("Offer tests", {
|
|||||||
|
|
||||||
"offer_create then ledger_accept then offer_cancel then ledger_accept." :
|
"offer_create then ledger_accept then offer_cancel then ledger_accept." :
|
||||||
function (done) {
|
function (done) {
|
||||||
|
var self = this;
|
||||||
var final_create;
|
var final_create;
|
||||||
var offer_seq;
|
var offer_seq;
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_create("root", "500", "100/USD/root")
|
.offer_create("root", "500", "100/USD/root")
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_create: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_create: %s", JSON.stringify(m));
|
||||||
@@ -108,7 +97,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
function (callback) {
|
function (callback) {
|
||||||
if (!final_create) {
|
if (!final_create) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
|
|
||||||
@@ -122,7 +111,7 @@ buster.testCase("Offer tests", {
|
|||||||
function (callback) {
|
function (callback) {
|
||||||
// console.log("CANCEL: offer_cancel: %d", offer_seq);
|
// console.log("CANCEL: offer_cancel: %d", offer_seq);
|
||||||
|
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_cancel("root", offer_seq)
|
.offer_cancel("root", offer_seq)
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_cancel: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_cancel: %s", JSON.stringify(m));
|
||||||
@@ -140,7 +129,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
// See if ledger_accept will crash.
|
// See if ledger_accept will crash.
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: A: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: A: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
callback();
|
callback();
|
||||||
@@ -148,7 +137,7 @@ buster.testCase("Offer tests", {
|
|||||||
.ledger_accept();
|
.ledger_accept();
|
||||||
},
|
},
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: B: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: B: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
callback();
|
callback();
|
||||||
@@ -166,12 +155,13 @@ buster.testCase("Offer tests", {
|
|||||||
|
|
||||||
"new user offer_create then ledger_accept then offer_cancel then ledger_accept." :
|
"new user offer_create then ledger_accept then offer_cancel then ledger_accept." :
|
||||||
function (done) {
|
function (done) {
|
||||||
|
var self = this;
|
||||||
var final_create;
|
var final_create;
|
||||||
var offer_seq;
|
var offer_seq;
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.payment('root', 'alice', "1000")
|
.payment('root', 'alice', "1000")
|
||||||
.set_flags('CreateAccount')
|
.set_flags('CreateAccount')
|
||||||
.on('proposed', function (m) {
|
.on('proposed', function (m) {
|
||||||
@@ -182,7 +172,7 @@ buster.testCase("Offer tests", {
|
|||||||
.submit()
|
.submit()
|
||||||
},
|
},
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_create("alice", "500", "100/USD/alice")
|
.offer_create("alice", "500", "100/USD/alice")
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_create: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_create: %s", JSON.stringify(m));
|
||||||
@@ -204,7 +194,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
function (callback) {
|
function (callback) {
|
||||||
if (!final_create) {
|
if (!final_create) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
|
|
||||||
@@ -218,7 +208,7 @@ buster.testCase("Offer tests", {
|
|||||||
function (callback) {
|
function (callback) {
|
||||||
// console.log("CANCEL: offer_cancel: %d", offer_seq);
|
// console.log("CANCEL: offer_cancel: %d", offer_seq);
|
||||||
|
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_cancel("alice", offer_seq)
|
.offer_cancel("alice", offer_seq)
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_cancel: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_cancel: %s", JSON.stringify(m));
|
||||||
@@ -236,7 +226,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
// See if ledger_accept will crash.
|
// See if ledger_accept will crash.
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: A: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: A: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
callback();
|
callback();
|
||||||
@@ -244,7 +234,7 @@ buster.testCase("Offer tests", {
|
|||||||
.ledger_accept();
|
.ledger_accept();
|
||||||
},
|
},
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: B: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: B: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
callback();
|
callback();
|
||||||
@@ -260,11 +250,12 @@ buster.testCase("Offer tests", {
|
|||||||
|
|
||||||
"offer cancel past and future sequence" :
|
"offer cancel past and future sequence" :
|
||||||
function (done) {
|
function (done) {
|
||||||
|
var self = this;
|
||||||
var final_create;
|
var final_create;
|
||||||
|
|
||||||
async.waterfall([
|
async.waterfall([
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.payment('root', 'alice', Amount.from_json("10000"))
|
.payment('root', 'alice', Amount.from_json("10000"))
|
||||||
.set_flags('CreateAccount')
|
.set_flags('CreateAccount')
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
@@ -281,7 +272,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
// Past sequence but wrong
|
// Past sequence but wrong
|
||||||
function (m, callback) {
|
function (m, callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_cancel("root", m.transaction.Sequence)
|
.offer_cancel("root", m.transaction.Sequence)
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_cancel past: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_cancel past: %s", JSON.stringify(m));
|
||||||
@@ -291,7 +282,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
// Same sequence
|
// Same sequence
|
||||||
function (m, callback) {
|
function (m, callback) {
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_cancel("root", m.transaction.Sequence+1)
|
.offer_cancel("root", m.transaction.Sequence+1)
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("PROPOSED: offer_cancel same: %s", JSON.stringify(m));
|
// console.log("PROPOSED: offer_cancel same: %s", JSON.stringify(m));
|
||||||
@@ -302,9 +293,9 @@ buster.testCase("Offer tests", {
|
|||||||
// Future sequence
|
// Future sequence
|
||||||
function (m, callback) {
|
function (m, callback) {
|
||||||
// After a malformed transaction, need to recover correct sequence.
|
// After a malformed transaction, need to recover correct sequence.
|
||||||
alpha.set_account_seq("root", alpha.account_seq("root")-1);
|
self.remote.set_account_seq("root", self.remote.account_seq("root")-1);
|
||||||
|
|
||||||
alpha.transaction()
|
self.remote.transaction()
|
||||||
.offer_cancel("root", m.transaction.Sequence+2)
|
.offer_cancel("root", m.transaction.Sequence+2)
|
||||||
.on("proposed", function (m) {
|
.on("proposed", function (m) {
|
||||||
// console.log("ERROR: offer_cancel future: %s", JSON.stringify(m));
|
// console.log("ERROR: offer_cancel future: %s", JSON.stringify(m));
|
||||||
@@ -314,7 +305,7 @@ buster.testCase("Offer tests", {
|
|||||||
},
|
},
|
||||||
// See if ledger_accept will crash.
|
// See if ledger_accept will crash.
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: A: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: A: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
callback();
|
callback();
|
||||||
@@ -322,7 +313,7 @@ buster.testCase("Offer tests", {
|
|||||||
.ledger_accept();
|
.ledger_accept();
|
||||||
},
|
},
|
||||||
function (callback) {
|
function (callback) {
|
||||||
alpha
|
self.remote
|
||||||
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
.once("ledger_closed", function (ledger_closed, ledger_closed_index) {
|
||||||
// console.log("LEDGER_CLOSED: B: %d: %s", ledger_closed_index, ledger_closed);
|
// console.log("LEDGER_CLOSED: B: %d: %s", ledger_closed_index, ledger_closed);
|
||||||
callback();
|
callback();
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ var Amount = require("../js/amount.js").Amount;
|
|||||||
var Remote = require("../js/remote.js").Remote;
|
var Remote = require("../js/remote.js").Remote;
|
||||||
var Server = require("./server.js").Server;
|
var Server = require("./server.js").Server;
|
||||||
|
|
||||||
|
var testutils = require("./testutils.js");
|
||||||
|
|
||||||
var fastTearDown = true;
|
var fastTearDown = true;
|
||||||
|
|
||||||
// How long to wait for server to start.
|
// How long to wait for server to start.
|
||||||
@@ -12,25 +14,12 @@ var serverDelay = 1500; // XXX Not implemented.
|
|||||||
buster.testRunner.timeout = 5000;
|
buster.testRunner.timeout = 5000;
|
||||||
|
|
||||||
buster.testCase("Remote functions", {
|
buster.testCase("Remote functions", {
|
||||||
'setUp' :
|
'setUp' : testutils.test_setup,
|
||||||
function (done) {
|
'tearDown' : testutils.test_teardown,
|
||||||
server = Server.from_config("alpha").on('started', function () {
|
|
||||||
alpha = Remote.from_config("alpha").once('ledger_closed', done) .connect();
|
|
||||||
}).start();
|
|
||||||
},
|
|
||||||
|
|
||||||
'tearDown' :
|
|
||||||
function (done) {
|
|
||||||
alpha
|
|
||||||
.on('disconnected', function () {
|
|
||||||
server.on('stopped', done).stop();
|
|
||||||
})
|
|
||||||
.connect(false);
|
|
||||||
},
|
|
||||||
|
|
||||||
'request_ledger_current' :
|
'request_ledger_current' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.request_ledger_current().on('success', function (m) {
|
this.remote.request_ledger_current().on('success', function (m) {
|
||||||
// console.log(m);
|
// console.log(m);
|
||||||
|
|
||||||
buster.assert.equals(m.ledger_current_index, 3);
|
buster.assert.equals(m.ledger_current_index, 3);
|
||||||
@@ -46,7 +35,7 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
'request_ledger_closed' :
|
'request_ledger_closed' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.request_ledger_closed().on('success', function (m) {
|
this.remote.request_ledger_closed().on('success', function (m) {
|
||||||
// console.log("result: %s", JSON.stringify(m));
|
// console.log("result: %s", JSON.stringify(m));
|
||||||
|
|
||||||
buster.assert.equals(m.ledger_closed_index, 2);
|
buster.assert.equals(m.ledger_closed_index, 2);
|
||||||
@@ -62,10 +51,12 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
'manual account_root success' :
|
'manual account_root success' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.request_ledger_closed().on('success', function (r) {
|
var self = this;
|
||||||
|
|
||||||
|
this.remote.request_ledger_closed().on('success', function (r) {
|
||||||
// console.log("result: %s", JSON.stringify(r));
|
// console.log("result: %s", JSON.stringify(r));
|
||||||
|
|
||||||
alpha
|
self.remote
|
||||||
.request_ledger_entry('account_root')
|
.request_ledger_entry('account_root')
|
||||||
.ledger_closed(r.ledger_closed)
|
.ledger_closed(r.ledger_closed)
|
||||||
.account_root("rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh")
|
.account_root("rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh")
|
||||||
@@ -93,10 +84,12 @@ buster.testCase("Remote functions", {
|
|||||||
// XXX This should be detected locally.
|
// XXX This should be detected locally.
|
||||||
'account_root remote malformedAddress' :
|
'account_root remote malformedAddress' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.request_ledger_closed().on('success', function (r) {
|
var self = this;
|
||||||
|
|
||||||
|
this.remote.request_ledger_closed().on('success', function (r) {
|
||||||
// console.log("result: %s", JSON.stringify(r));
|
// console.log("result: %s", JSON.stringify(r));
|
||||||
|
|
||||||
alpha
|
self.remote
|
||||||
.request_ledger_entry('account_root')
|
.request_ledger_entry('account_root')
|
||||||
.ledger_closed(r.ledger_closed)
|
.ledger_closed(r.ledger_closed)
|
||||||
.account_root("zHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh")
|
.account_root("zHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh")
|
||||||
@@ -124,10 +117,12 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
'account_root entryNotFound' :
|
'account_root entryNotFound' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.request_ledger_closed().on('success', function (r) {
|
var self = this;
|
||||||
|
|
||||||
|
this.remote.request_ledger_closed().on('success', function (r) {
|
||||||
// console.log("result: %s", JSON.stringify(r));
|
// console.log("result: %s", JSON.stringify(r));
|
||||||
|
|
||||||
alpha
|
self.remote
|
||||||
.request_ledger_entry('account_root')
|
.request_ledger_entry('account_root')
|
||||||
.ledger_closed(r.ledger_closed)
|
.ledger_closed(r.ledger_closed)
|
||||||
.account_root("alice")
|
.account_root("alice")
|
||||||
@@ -154,10 +149,12 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
'ledger_entry index' :
|
'ledger_entry index' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.request_ledger_closed().on('success', function (r) {
|
var self = this;
|
||||||
|
|
||||||
|
this.remote.request_ledger_closed().on('success', function (r) {
|
||||||
// console.log("result: %s", JSON.stringify(r));
|
// console.log("result: %s", JSON.stringify(r));
|
||||||
|
|
||||||
alpha
|
self.remote
|
||||||
.request_ledger_entry('index')
|
.request_ledger_entry('index')
|
||||||
.ledger_closed(r.ledger_closed)
|
.ledger_closed(r.ledger_closed)
|
||||||
.account_root("alice")
|
.account_root("alice")
|
||||||
@@ -185,7 +182,7 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
'create account' :
|
'create account' :
|
||||||
function (done) {
|
function (done) {
|
||||||
alpha.transaction()
|
this.remote.transaction()
|
||||||
.payment('root', 'alice', Amount.from_json("10000"))
|
.payment('root', 'alice', Amount.from_json("10000"))
|
||||||
.set_flags('CreateAccount')
|
.set_flags('CreateAccount')
|
||||||
.on('success', function (r) {
|
.on('success', function (r) {
|
||||||
@@ -204,10 +201,12 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
"create account final" :
|
"create account final" :
|
||||||
function (done) {
|
function (done) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
var got_proposed;
|
var got_proposed;
|
||||||
var got_success;
|
var got_success;
|
||||||
|
|
||||||
alpha.transaction()
|
this.remote.transaction()
|
||||||
.payment('root', 'alice', Amount.from_json("10000"))
|
.payment('root', 'alice', Amount.from_json("10000"))
|
||||||
.set_flags('CreateAccount')
|
.set_flags('CreateAccount')
|
||||||
.on('success', function (r) {
|
.on('success', function (r) {
|
||||||
@@ -234,7 +233,7 @@ buster.testCase("Remote functions", {
|
|||||||
|
|
||||||
got_proposed = true;
|
got_proposed = true;
|
||||||
|
|
||||||
alpha.ledger_accept();
|
self.remote.ledger_accept();
|
||||||
})
|
})
|
||||||
.on('status', function (s) {
|
.on('status', function (s) {
|
||||||
// console.log("status: %s", JSON.stringify(s));
|
// console.log("status: %s", JSON.stringify(s));
|
||||||
|
|||||||
@@ -4,36 +4,24 @@ var Amount = require("../js/amount.js").Amount;
|
|||||||
var Remote = require("../js/remote.js").Remote;
|
var Remote = require("../js/remote.js").Remote;
|
||||||
var Server = require("./server.js").Server;
|
var Server = require("./server.js").Server;
|
||||||
|
|
||||||
|
var testutils = require("./testutils.js");
|
||||||
|
|
||||||
// How long to wait for server to start.
|
// How long to wait for server to start.
|
||||||
var serverDelay = 1500;
|
var serverDelay = 1500;
|
||||||
|
|
||||||
buster.testRunner.timeout = 5000;
|
buster.testRunner.timeout = 5000;
|
||||||
|
|
||||||
var alpha;
|
|
||||||
|
|
||||||
buster.testCase("Sending", {
|
buster.testCase("Sending", {
|
||||||
'setUp' :
|
'setUp' : testutils.test_setup,
|
||||||
function (done) {
|
'tearDown' : testutils.test_teardown,
|
||||||
server = Server.from_config("alpha").on('started', function () {
|
|
||||||
alpha = Remote.from_config("alpha").once('ledger_closed', done) .connect();
|
|
||||||
}).start();
|
|
||||||
},
|
|
||||||
|
|
||||||
'tearDown' :
|
|
||||||
function (done) {
|
|
||||||
alpha
|
|
||||||
.on('disconnected', function () {
|
|
||||||
server.on('stopped', done).stop();
|
|
||||||
})
|
|
||||||
.connect(false);
|
|
||||||
},
|
|
||||||
|
|
||||||
"send to non-existant account without create." :
|
"send to non-existant account without create." :
|
||||||
function (done) {
|
function (done) {
|
||||||
var got_proposed;
|
var self = this;
|
||||||
var ledgers = 20;
|
var ledgers = 20;
|
||||||
|
var got_proposed;
|
||||||
|
|
||||||
alpha.transaction()
|
this.remote.transaction()
|
||||||
.payment('root', 'alice', Amount.from_json("10000"))
|
.payment('root', 'alice', Amount.from_json("10000"))
|
||||||
.on('success', function (r) {
|
.on('success', function (r) {
|
||||||
// Transaction sent.
|
// Transaction sent.
|
||||||
@@ -46,7 +34,7 @@ buster.testCase("Sending", {
|
|||||||
|
|
||||||
ledgers -= 1;
|
ledgers -= 1;
|
||||||
if (ledgers) {
|
if (ledgers) {
|
||||||
alpha.ledger_accept();
|
self.remote.ledger_accept();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
buster.assert(false, "Final never received.");
|
buster.assert(false, "Final never received.");
|
||||||
@@ -68,7 +56,7 @@ buster.testCase("Sending", {
|
|||||||
|
|
||||||
got_proposed = true;
|
got_proposed = true;
|
||||||
|
|
||||||
alpha.ledger_accept(); // Move it along.
|
self.remote.ledger_accept(); // Move it along.
|
||||||
})
|
})
|
||||||
.on('final', function (m) {
|
.on('final', function (m) {
|
||||||
// console.log("final: %s", JSON.stringify(m));
|
// console.log("final: %s", JSON.stringify(m));
|
||||||
|
|||||||
34
test/testutils.js
Normal file
34
test/testutils.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
var Remote = require("../js/remote.js").Remote;
|
||||||
|
var Server = require("./server.js").Server;
|
||||||
|
|
||||||
|
var config = require("./config.js");
|
||||||
|
|
||||||
|
var test_setup = function (done, host) {
|
||||||
|
var self = this;
|
||||||
|
var host = host || config.server_default;
|
||||||
|
|
||||||
|
this.store = this.store || {};
|
||||||
|
|
||||||
|
var data = this.store[host] = this.store[host] || {};
|
||||||
|
|
||||||
|
data.server = Server.from_config(host).on('started', function () {
|
||||||
|
self.remote = data.remote = Remote.from_config(host).once('ledger_closed', done).connect();
|
||||||
|
}).start();
|
||||||
|
};
|
||||||
|
|
||||||
|
var test_teardown = function (done, host) {
|
||||||
|
var host = host || config.server_default;
|
||||||
|
|
||||||
|
var data = this.store[host];
|
||||||
|
|
||||||
|
data.remote
|
||||||
|
.on('disconnected', function () {
|
||||||
|
data.server.on('stopped', done).stop();
|
||||||
|
})
|
||||||
|
.connect(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.test_setup = test_setup;
|
||||||
|
exports.test_teardown = test_teardown;
|
||||||
|
|
||||||
|
// vim:sw=2:sts=2:ts=8
|
||||||
Reference in New Issue
Block a user