mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 19:15:54 +00:00
Update system tests for mocha and new ripple-lib transaction submission
This commit is contained in:
@@ -1,210 +1,395 @@
|
||||
var async = require("async");
|
||||
var buster = require("buster");
|
||||
|
||||
var Amount = require("ripple-lib").Amount;
|
||||
var Remote = require("ripple-lib").Remote;
|
||||
var Transaction = require("ripple-lib").Transaction;
|
||||
var Server = require("./server").Server;
|
||||
|
||||
var testutils = require("./testutils");
|
||||
var config = testutils.init_config();
|
||||
|
||||
buster.testRunner.timeout = 350000; //This is a very long test!
|
||||
|
||||
|
||||
// Hard-coded limits we'll be testing:
|
||||
var BINARY_LIMIT = 500;
|
||||
var NONBINARY_LIMIT = 200;
|
||||
|
||||
var ACCOUNT = "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh";
|
||||
var FIRST_BATCH = 199; // Within both limits
|
||||
var OFFSET = 180;
|
||||
var LIMIT = 170;
|
||||
var SECOND_BATCH = 10; // Between NONBINARY_LIMIT and BINARY_LIMIT
|
||||
var THIRD_BATCH = 295; // Exceeds both limits
|
||||
var VERBOSE = false;
|
||||
|
||||
buster.testCase("//Account_tx tests", {
|
||||
'setUp' : testutils.build_setup(),
|
||||
'tearDown' : testutils.build_teardown(),
|
||||
|
||||
"make a lot of transactions and query using account_tx" : function (done) {
|
||||
var self = this;
|
||||
var final_create;
|
||||
var transactionCounter = 0;
|
||||
var f = 0;
|
||||
var functionHolder;
|
||||
var createOfferFunction = function (callback) {
|
||||
self.remote.transaction()
|
||||
.offer_create("root", "500", "100/USD/root")
|
||||
.on('proposed', function (m) {
|
||||
transactionCounter++;
|
||||
if (VERBOSE) console.log('Submitted transaction', transactionCounter);
|
||||
|
||||
callback(m.result !== 'tesSUCCESS');
|
||||
})
|
||||
.on('final', function (m) {
|
||||
f++;
|
||||
if (VERBOSE) console.log("Finalized transaction", f);
|
||||
buster.assert.equals('tesSUCCESS', m.metadata.TransactionResult);
|
||||
buster.assert(final_create);
|
||||
if ( f == transactionCounter ) {
|
||||
if (VERBOSE) console.log("All transactions have been finalized.");
|
||||
functionHolder();
|
||||
}
|
||||
})
|
||||
.submit();
|
||||
};
|
||||
|
||||
function lotsOfTransactions(number, whenDone) {
|
||||
var bunchOfOffers = [];
|
||||
for (var i=0; i<number; i++) {
|
||||
bunchOfOffers.push(createOfferFunction);
|
||||
}
|
||||
functionHolder = whenDone; //lolwut
|
||||
async.parallel(bunchOfOffers, function (error) {
|
||||
if (VERBOSE) console.log("Accepting ledger.");
|
||||
buster.refute(error);
|
||||
self.remote
|
||||
.once('ledger_closed', function (message) {
|
||||
final_create = message;
|
||||
})
|
||||
.ledger_accept();
|
||||
});
|
||||
}
|
||||
|
||||
function firstBatch() {
|
||||
lotsOfTransactions(FIRST_BATCH,
|
||||
function(){runTests(self, FIRST_BATCH, 0, undefined,
|
||||
function(){runTests(self, FIRST_BATCH, OFFSET, undefined,
|
||||
function(){runTests(self, FIRST_BATCH, 0, LIMIT, secondBatch)})}
|
||||
)});
|
||||
}
|
||||
|
||||
function secondBatch() {
|
||||
lotsOfTransactions(SECOND_BATCH,
|
||||
function(){runTests(self, FIRST_BATCH+SECOND_BATCH, 0, undefined,
|
||||
function(){runTests(self, FIRST_BATCH+SECOND_BATCH, OFFSET, undefined, thirdBatch)}
|
||||
)});
|
||||
}
|
||||
|
||||
function thirdBatch() {
|
||||
lotsOfTransactions(THIRD_BATCH,
|
||||
function(){runTests(self, FIRST_BATCH+SECOND_BATCH+THIRD_BATCH, 0, undefined,
|
||||
function(){runTests(self, FIRST_BATCH+SECOND_BATCH+THIRD_BATCH, OFFSET, undefined, done)}
|
||||
)});
|
||||
}
|
||||
|
||||
firstBatch();
|
||||
|
||||
|
||||
function standardErrorHandler(callback) {
|
||||
return function(r) {
|
||||
if (VERBOSE) console.log("ERROR!");
|
||||
if (VERBOSE) console.log(r);
|
||||
callback(r);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function runTests(self, actualNumberOfTransactions, offset, limit, finalCallback) {
|
||||
if (VERBOSE) console.log("Testing batch with offset and limit:", offset, limit);
|
||||
async.series([
|
||||
function(callback) {
|
||||
if (VERBOSE) console.log('nonbinary');
|
||||
self.remote.request_account_tx({
|
||||
account:ACCOUNT,
|
||||
ledger_index_min:-1,
|
||||
ledger_index_max:-1,
|
||||
offset:offset,
|
||||
limit:limit
|
||||
}).on('success', function (r) {
|
||||
if (r.transactions) {
|
||||
var targetLength = Math.min(NONBINARY_LIMIT, limit ? Math.min(limit,actualNumberOfTransactions-offset) : actualNumberOfTransactions-offset);
|
||||
buster.assert(r.transactions.length == targetLength, "Got "+r.transactions.length+" transactions; expected "+targetLength );
|
||||
//Check for proper ordering.
|
||||
for (var i=0; i<r.transactions.length-1; i++) {
|
||||
var t1 = r.transactions[i].tx;
|
||||
var t2 = r.transactions[i+1].tx;
|
||||
buster.assert(t1.inLedger<=t2.inLedger,
|
||||
"Transactions were not ordered correctly: "+t1.inLedger+"#"+t1.Sequence+" should not have come before "+t2.inLedger+"#"+t2.Sequence);
|
||||
}
|
||||
} else {
|
||||
buster.assert(r.transactions, "No transactions returned: "+offset+" "+limit);
|
||||
}
|
||||
|
||||
callback(false);
|
||||
})
|
||||
.on('error', standardErrorHandler(callback))
|
||||
.request();
|
||||
},
|
||||
|
||||
function(callback) {
|
||||
if (VERBOSE) console.log('binary');
|
||||
self.remote.request_account_tx({
|
||||
account:ACCOUNT,
|
||||
ledger_index_min:-1,
|
||||
ledger_index_max:-1,
|
||||
binary:true,
|
||||
offset:offset,
|
||||
limit:limit
|
||||
}).on('success', function (r) {
|
||||
if (r.transactions) {
|
||||
var targetLength = Math.min(BINARY_LIMIT, limit ? Math.min(limit,actualNumberOfTransactions-offset) : actualNumberOfTransactions-offset);
|
||||
buster.assert(r.transactions.length == targetLength, "Got "+r.transactions.length+" transactions; expected "+targetLength );
|
||||
} else {
|
||||
buster.assert(r.transactions, "No transactions returned: "+offset+" "+limit);
|
||||
}
|
||||
callback(false);
|
||||
})
|
||||
.on('error', standardErrorHandler(callback))
|
||||
.request();
|
||||
},
|
||||
|
||||
function(callback) {
|
||||
if (VERBOSE) console.log('nonbinary+offset');
|
||||
self.remote.request_account_tx({
|
||||
account:ACCOUNT,
|
||||
ledger_index_min:-1,
|
||||
ledger_index_max:-1,
|
||||
descending:true,
|
||||
offset:offset,
|
||||
limit:limit
|
||||
}).on('success', function (r) {
|
||||
if (r.transactions) {
|
||||
var targetLength = Math.min(NONBINARY_LIMIT, limit ? Math.min(limit,actualNumberOfTransactions-offset) : actualNumberOfTransactions-offset );
|
||||
buster.assert(r.transactions.length == targetLength, "Got "+r.transactions.length+" transactions; expected "+targetLength );
|
||||
//Check for proper ordering.
|
||||
for (var i=0; i<r.transactions.length-1; i++) {
|
||||
var t1 = r.transactions[i].tx;
|
||||
var t2 = r.transactions[i+1].tx;
|
||||
//buster.assert(t1.inLedger>t2.inLedger || (t1.inLedger==t2.inLedger && t1.Sequence > t2.Sequence ),
|
||||
// "Transactions were not ordered correctly: "+t1.inLedger+"#"+t1.Sequence+" should not have come before "+t2.inLedger+"#"+t2.Sequence);
|
||||
buster.assert(t1.inLedger>=t2.inLedger,
|
||||
"Transactions were not ordered correctly: "+t1.inLedger+"#"+t1.Sequence+" should not have come before "+t2.inLedger+"#"+t2.Sequence);
|
||||
}
|
||||
} else {
|
||||
buster.assert(r.transactions, "No transactions returned: "+offset+" "+limit);
|
||||
}
|
||||
|
||||
|
||||
callback(false);
|
||||
})
|
||||
.on('error', standardErrorHandler(callback))
|
||||
.request();
|
||||
},
|
||||
|
||||
|
||||
], function (error) {
|
||||
buster.refute(error);
|
||||
finalCallback();
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
// TODO:
|
||||
// Test the "count" feature.
|
||||
////var assert = require('assert');
|
||||
////var async = require("async");
|
||||
////var extend = require('extend');
|
||||
////var Amount = require("ripple-lib").Amount;
|
||||
////var Remote = require("ripple-lib").Remote;
|
||||
////var Transaction = require("ripple-lib").Transaction;
|
||||
////var RippleError = require("ripple-lib").RippleError;
|
||||
////var Server = require("./server").Server;
|
||||
////var testutils = require("./testutils");
|
||||
////var config = testutils.init_config();
|
||||
////
|
||||
////// Hard-coded limits we'll be testing:
|
||||
////var BINARY_LIMIT = 500;
|
||||
////var NONBINARY_LIMIT = 200;
|
||||
////
|
||||
////var ACCOUNT = "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh";
|
||||
////var OFFSET = 180;
|
||||
////var LIMIT = 170;
|
||||
////
|
||||
////var FIRST_BATCH = 199; // Within both limits
|
||||
////var SECOND_BATCH = 10; // Between NONBINARY_LIMIT and BINARY_LIMIT
|
||||
////var THIRD_BATCH = 295; // Exceeds both limits
|
||||
////var VERBOSE = false;
|
||||
////
|
||||
////
|
||||
////suite('Account_tx tests', function() {
|
||||
//// var $ = { };
|
||||
////
|
||||
//// setup(function(done) {
|
||||
//// testutils.build_setup().call($, done);
|
||||
//// });
|
||||
////
|
||||
//// teardown(function(done) {
|
||||
//// testutils.build_teardown().call($, done);
|
||||
//// });
|
||||
////
|
||||
//// test('make many transactions and query using account_tx', function(done) {
|
||||
//// var root_id = $.remote.account('root')._account_id;
|
||||
//// $.remote.request_subscribe().accounts(root_id).request();
|
||||
////
|
||||
//// var self = this;
|
||||
//// var transactionCounter = 0;
|
||||
//// var final_create;
|
||||
////
|
||||
//// function createOffer(callback) {
|
||||
//// var tx = $.remote.transaction();
|
||||
//// tx.offer_create("root", "500", "100/USD/root");
|
||||
////
|
||||
//// tx.once('proposed', function(m) {
|
||||
//// $.remote.ledger_accept();
|
||||
//// });
|
||||
////
|
||||
//// tx.once('error', callback);
|
||||
////
|
||||
//// tx.once('final', function(m) {
|
||||
//// callback();
|
||||
//// });
|
||||
////
|
||||
//// tx.submit();
|
||||
//// };
|
||||
////
|
||||
//// function lotsOfTransactions(count, callback) {
|
||||
//// ;(function nextOffer(i) {
|
||||
//// createOffer(function(err) {
|
||||
//// console.log(i, count);
|
||||
//// if (err) callback(err);
|
||||
//// else if (++i === count) callback(null);
|
||||
//// else nextOffer(i);
|
||||
//// });
|
||||
//// })(0);
|
||||
//// };
|
||||
////
|
||||
//// function firstBatch() {
|
||||
//// lotsOfTransactions(FIRST_BATCH, function(a, b) {
|
||||
//// runTests(self, FIRST_BATCH, 0, void(0), function() {
|
||||
//// console.log('2');
|
||||
//// runTests(self, FIRST_BATCH, OFFSET, void(0), function() {
|
||||
//// console.log('3');
|
||||
//// runTests(self, FIRST_BATCH, -1, LIMIT, secondBatch);
|
||||
//// })
|
||||
//// })});
|
||||
//// }
|
||||
////
|
||||
//// function secondBatch() {
|
||||
//// lotsOfTransactions(SECOND_BATCH, function() {
|
||||
//// runTests(self, FIRST_BATCH+SECOND_BATCH, 0, void(0), function() {
|
||||
//// runTests(self, FIRST_BATCH+SECOND_BATCH, OFFSET, void(0), thirdBatch);
|
||||
//// })});
|
||||
//// }
|
||||
////
|
||||
//// function thirdBatch() {
|
||||
//// lotsOfTransactions(THIRD_BATCH, function() {
|
||||
//// runTests(self, FIRST_BATCH+SECOND_BATCH+THIRD_BATCH, 0, void(0), function() {
|
||||
//// runTests(self, FIRST_BATCH+SECOND_BATCH+THIRD_BATCH, OFFSET, void(0), done);
|
||||
//// })});
|
||||
//// }
|
||||
////
|
||||
//// firstBatch();
|
||||
////
|
||||
//// function errorHandler(callback) {
|
||||
//// return function(r) {
|
||||
//// if (VERBOSE) console.log("ERROR!");
|
||||
//// if (VERBOSE) console.log(r);
|
||||
//// callback(r);
|
||||
//// }
|
||||
//// }
|
||||
////
|
||||
//// function txOptions(ext) {
|
||||
//// var defaults = {
|
||||
//// account: ACCOUNT,
|
||||
//// ledger_index_min: -1,
|
||||
//// ledger_index_max: -1
|
||||
//// }
|
||||
//// return extend(defaults, ext);
|
||||
//// };
|
||||
////
|
||||
//// function sortByLedger(a, b) {
|
||||
//// assert(a.tx, 'Transaction missing');
|
||||
//// assert(b.tx, 'Transaction missing');
|
||||
//// if (a.tx.inLedger > b.tx.inLedger) {
|
||||
//// return 1;
|
||||
//// } else if (a.tx.inLedger < b.tx.inLedger) {
|
||||
//// return -1;
|
||||
//// } else {
|
||||
//// return 0;
|
||||
//// }
|
||||
//// };
|
||||
////
|
||||
//// function runTests(self, transactionCount, offset, limit, callback) {
|
||||
//// var steps = [
|
||||
//// function(callback) {
|
||||
//// if (VERBOSE) console.log('nonbinary');
|
||||
////
|
||||
//// var req = $.remote.request_account_tx(txOptions({ offset: offset, limit: limit }));
|
||||
////
|
||||
//// req.callback(function(err, r) {
|
||||
//// if (err) return callback(err);
|
||||
//// assert(r && r.transactions);
|
||||
//// var targetLength = Math.min(NONBINARY_LIMIT, limit ? Math.min(limit, transactionCount - offset) : transactionCount - offset);
|
||||
//// assert.strictEqual(r.transactions.length, targetLength, 'Transactions unexpected length');
|
||||
//// //assert.deepEqual(r.transactions.sort(sortByLedger), r.transactions, 'Transactions out of order');
|
||||
//// callback();
|
||||
//// });
|
||||
//// },
|
||||
////
|
||||
//// function(callback) {
|
||||
//// if (VERBOSE) console.log('binary');
|
||||
////
|
||||
//// var req = $.remote.request_account_tx(txOptions({ binary: true, offset: offset, limit: limit }));
|
||||
////
|
||||
//// req.callback(function(err, r) {
|
||||
//// if (err) return callback(err);
|
||||
//// assert(r && r.transactions);
|
||||
//// var targetLength = Math.min(BINARY_LIMIT, limit ? Math.min(limit, transactionCount-offset) : transactionCount-offset);
|
||||
//// assert.strictEqual(r.transactions.length, targetLength, 'Transactions unexpected length');
|
||||
//// //assert.deepEqual(r.transactions.sort(sortByLedger), r.transactions, 'Transactions out of order');
|
||||
//// callback();
|
||||
//// });
|
||||
//// },
|
||||
////
|
||||
//// function(callback) {
|
||||
//// if (VERBOSE) console.log('nonbinary+offset');
|
||||
////
|
||||
//// var req = $.remote.request_account_tx(txOptions({ descending: true, offset: offset, limit: limit }));
|
||||
////
|
||||
//// req.callback(function(err, r) {
|
||||
//// if (err) return callback(err);
|
||||
//// assert(r && r.transactions);
|
||||
//// var targetLength = Math.min(NONBINARY_LIMIT, limit ? Math.min(limit,transactionCount-offset) : transactionCount-offset );
|
||||
//// assert.strictEqual(r.transactions.length, targetLength, 'Transactions unexpected length');
|
||||
//// //assert.deepEqual(r.transactions.sort(sortByLedger), r.transactions, 'Transactions out of order');
|
||||
//// callback();
|
||||
//// });
|
||||
//// }
|
||||
//// ]
|
||||
////
|
||||
//// async.series(steps, function(error) {
|
||||
//// console.log(error);
|
||||
//// assert.ifError(error);
|
||||
//// callback();
|
||||
//// });
|
||||
//// }
|
||||
//// });
|
||||
////});
|
||||
//=======
|
||||
//var async = require("async");
|
||||
//var buster = require("buster");
|
||||
//
|
||||
//var Amount = require("ripple-lib").Amount;
|
||||
//var Remote = require("ripple-lib").Remote;
|
||||
//var Transaction = require("ripple-lib").Transaction;
|
||||
//var Server = require("./server").Server;
|
||||
//
|
||||
//var testutils = require("./testutils");
|
||||
//var config = testutils.init_config();
|
||||
//
|
||||
//buster.testRunner.timeout = 350000; //This is a very long test!
|
||||
//
|
||||
//
|
||||
//// Hard-coded limits we'll be testing:
|
||||
//var BINARY_LIMIT = 500;
|
||||
//var NONBINARY_LIMIT = 200;
|
||||
//
|
||||
//var ACCOUNT = "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh";
|
||||
//var FIRST_BATCH = 199; // Within both limits
|
||||
//var OFFSET = 180;
|
||||
//var LIMIT = 170;
|
||||
//var SECOND_BATCH = 10; // Between NONBINARY_LIMIT and BINARY_LIMIT
|
||||
//var THIRD_BATCH = 295; // Exceeds both limits
|
||||
//var VERBOSE = false;
|
||||
//
|
||||
//buster.testCase("//Account_tx tests", {
|
||||
// 'setUp' : testutils.build_setup(),
|
||||
// 'tearDown' : testutils.build_teardown(),
|
||||
//
|
||||
// "make a lot of transactions and query using account_tx" : function (done) {
|
||||
// var self = this;
|
||||
// var final_create;
|
||||
// var transactionCounter = 0;
|
||||
// var f = 0;
|
||||
// var functionHolder;
|
||||
// var createOfferFunction = function (callback) {
|
||||
// self.remote.transaction()
|
||||
// .offer_create("root", "500", "100/USD/root")
|
||||
// .on('proposed', function (m) {
|
||||
// transactionCounter++;
|
||||
// if (VERBOSE) console.log('Submitted transaction', transactionCounter);
|
||||
//
|
||||
// callback(m.result !== 'tesSUCCESS');
|
||||
// })
|
||||
// .on('final', function (m) {
|
||||
// f++;
|
||||
// if (VERBOSE) console.log("Finalized transaction", f);
|
||||
// buster.assert.equals('tesSUCCESS', m.metadata.TransactionResult);
|
||||
// buster.assert(final_create);
|
||||
// if ( f == transactionCounter ) {
|
||||
// if (VERBOSE) console.log("All transactions have been finalized.");
|
||||
// functionHolder();
|
||||
// }
|
||||
// })
|
||||
// .submit();
|
||||
// };
|
||||
//
|
||||
// function lotsOfTransactions(number, whenDone) {
|
||||
// var bunchOfOffers = [];
|
||||
// for (var i=0; i<number; i++) {
|
||||
// bunchOfOffers.push(createOfferFunction);
|
||||
// }
|
||||
// functionHolder = whenDone; //lolwut
|
||||
// async.parallel(bunchOfOffers, function (error) {
|
||||
// if (VERBOSE) console.log("Accepting ledger.");
|
||||
// buster.refute(error);
|
||||
// self.remote
|
||||
// .once('ledger_closed', function (message) {
|
||||
// final_create = message;
|
||||
// })
|
||||
// .ledger_accept();
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// function firstBatch() {
|
||||
// lotsOfTransactions(FIRST_BATCH,
|
||||
// function(){runTests(self, FIRST_BATCH, 0, undefined,
|
||||
// function(){runTests(self, FIRST_BATCH, OFFSET, undefined,
|
||||
// function(){runTests(self, FIRST_BATCH, 0, LIMIT, secondBatch)})}
|
||||
// )});
|
||||
// }
|
||||
//
|
||||
// function secondBatch() {
|
||||
// lotsOfTransactions(SECOND_BATCH,
|
||||
// function(){runTests(self, FIRST_BATCH+SECOND_BATCH, 0, undefined,
|
||||
// function(){runTests(self, FIRST_BATCH+SECOND_BATCH, OFFSET, undefined, thirdBatch)}
|
||||
// )});
|
||||
// }
|
||||
//
|
||||
// function thirdBatch() {
|
||||
// lotsOfTransactions(THIRD_BATCH,
|
||||
// function(){runTests(self, FIRST_BATCH+SECOND_BATCH+THIRD_BATCH, 0, undefined,
|
||||
// function(){runTests(self, FIRST_BATCH+SECOND_BATCH+THIRD_BATCH, OFFSET, undefined, done)}
|
||||
// )});
|
||||
// }
|
||||
//
|
||||
// firstBatch();
|
||||
//
|
||||
//
|
||||
// function standardErrorHandler(callback) {
|
||||
// return function(r) {
|
||||
// if (VERBOSE) console.log("ERROR!");
|
||||
// if (VERBOSE) console.log(r);
|
||||
// callback(r);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// function runTests(self, actualNumberOfTransactions, offset, limit, finalCallback) {
|
||||
// if (VERBOSE) console.log("Testing batch with offset and limit:", offset, limit);
|
||||
// async.series([
|
||||
// function(callback) {
|
||||
// if (VERBOSE) console.log('nonbinary');
|
||||
// self.remote.request_account_tx({
|
||||
// account:ACCOUNT,
|
||||
// ledger_index_min:-1,
|
||||
// ledger_index_max:-1,
|
||||
// offset:offset,
|
||||
// limit:limit
|
||||
// }).on('success', function (r) {
|
||||
// if (r.transactions) {
|
||||
// var targetLength = Math.min(NONBINARY_LIMIT, limit ? Math.min(limit,actualNumberOfTransactions-offset) : actualNumberOfTransactions-offset);
|
||||
// buster.assert(r.transactions.length == targetLength, "Got "+r.transactions.length+" transactions; expected "+targetLength );
|
||||
// //Check for proper ordering.
|
||||
// for (var i=0; i<r.transactions.length-1; i++) {
|
||||
// var t1 = r.transactions[i].tx;
|
||||
// var t2 = r.transactions[i+1].tx;
|
||||
// buster.assert(t1.inLedger<=t2.inLedger,
|
||||
// "Transactions were not ordered correctly: "+t1.inLedger+"#"+t1.Sequence+" should not have come before "+t2.inLedger+"#"+t2.Sequence);
|
||||
// }
|
||||
// } else {
|
||||
// buster.assert(r.transactions, "No transactions returned: "+offset+" "+limit);
|
||||
// }
|
||||
//
|
||||
// callback(false);
|
||||
// })
|
||||
// .on('error', standardErrorHandler(callback))
|
||||
// .request();
|
||||
// },
|
||||
//
|
||||
// function(callback) {
|
||||
// if (VERBOSE) console.log('binary');
|
||||
// self.remote.request_account_tx({
|
||||
// account:ACCOUNT,
|
||||
// ledger_index_min:-1,
|
||||
// ledger_index_max:-1,
|
||||
// binary:true,
|
||||
// offset:offset,
|
||||
// limit:limit
|
||||
// }).on('success', function (r) {
|
||||
// if (r.transactions) {
|
||||
// var targetLength = Math.min(BINARY_LIMIT, limit ? Math.min(limit,actualNumberOfTransactions-offset) : actualNumberOfTransactions-offset);
|
||||
// buster.assert(r.transactions.length == targetLength, "Got "+r.transactions.length+" transactions; expected "+targetLength );
|
||||
// } else {
|
||||
// buster.assert(r.transactions, "No transactions returned: "+offset+" "+limit);
|
||||
// }
|
||||
// callback(false);
|
||||
// })
|
||||
// .on('error', standardErrorHandler(callback))
|
||||
// .request();
|
||||
// },
|
||||
//
|
||||
// function(callback) {
|
||||
// if (VERBOSE) console.log('nonbinary+offset');
|
||||
// self.remote.request_account_tx({
|
||||
// account:ACCOUNT,
|
||||
// ledger_index_min:-1,
|
||||
// ledger_index_max:-1,
|
||||
// descending:true,
|
||||
// offset:offset,
|
||||
// limit:limit
|
||||
// }).on('success', function (r) {
|
||||
// if (r.transactions) {
|
||||
// var targetLength = Math.min(NONBINARY_LIMIT, limit ? Math.min(limit,actualNumberOfTransactions-offset) : actualNumberOfTransactions-offset );
|
||||
// buster.assert(r.transactions.length == targetLength, "Got "+r.transactions.length+" transactions; expected "+targetLength );
|
||||
// //Check for proper ordering.
|
||||
// for (var i=0; i<r.transactions.length-1; i++) {
|
||||
// var t1 = r.transactions[i].tx;
|
||||
// var t2 = r.transactions[i+1].tx;
|
||||
// //buster.assert(t1.inLedger>t2.inLedger || (t1.inLedger==t2.inLedger && t1.Sequence > t2.Sequence ),
|
||||
// // "Transactions were not ordered correctly: "+t1.inLedger+"#"+t1.Sequence+" should not have come before "+t2.inLedger+"#"+t2.Sequence);
|
||||
// buster.assert(t1.inLedger>=t2.inLedger,
|
||||
// "Transactions were not ordered correctly: "+t1.inLedger+"#"+t1.Sequence+" should not have come before "+t2.inLedger+"#"+t2.Sequence);
|
||||
// }
|
||||
// } else {
|
||||
// buster.assert(r.transactions, "No transactions returned: "+offset+" "+limit);
|
||||
// }
|
||||
//
|
||||
//
|
||||
// callback(false);
|
||||
// })
|
||||
// .on('error', standardErrorHandler(callback))
|
||||
// .request();
|
||||
// },
|
||||
//
|
||||
//
|
||||
// ], function (error) {
|
||||
// buster.refute(error);
|
||||
// finalCallback();
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
//});
|
||||
//
|
||||
//
|
||||
//
|
||||
//// TODO:
|
||||
//// Test the "count" feature.
|
||||
|
||||
Reference in New Issue
Block a user