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; it2.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.