UT: Add credit_limits helper.

This commit is contained in:
Arthur Britto
2012-11-03 14:28:59 -07:00
parent 025193efd1
commit f5231f353f
2 changed files with 55 additions and 58 deletions

View File

@@ -464,14 +464,14 @@ buster.testCase("Indirect ripple", {
testutils.create_accounts(self.remote, "root", "10000", ["alice", "bob", "mtgox"], callback); testutils.create_accounts(self.remote, "root", "10000", ["alice", "bob", "mtgox"], callback);
}, },
function (callback) { function (callback) {
self.what = "Set alice's limit."; self.what = "Set credit limits.";
testutils.credit_limit(self.remote, "alice", "600/USD/mtgox", callback); testutils.credit_limits(self.remote,
}, {
function (callback) { "alice" : "600/USD/mtgox",
self.what = "Set bob's limit."; "bob" : "700/USD/mtgox",
},
testutils.credit_limit(self.remote, "bob", "700/USD/mtgox", callback); callback);
}, },
function (callback) { function (callback) {
self.what = "Give alice some mtgox."; self.what = "Give alice some mtgox.";
@@ -534,14 +534,14 @@ buster.testCase("Indirect ripple", {
testutils.create_accounts(self.remote, "root", "10000", ["alice", "bob", "mtgox"], callback); testutils.create_accounts(self.remote, "root", "10000", ["alice", "bob", "mtgox"], callback);
}, },
function (callback) { function (callback) {
self.what = "Set alice's limit."; self.what = "Set credit limits.";
testutils.credit_limit(self.remote, "alice", "600/USD/mtgox", callback); testutils.credit_limits(self.remote,
}, {
function (callback) { "alice" : "600/USD/mtgox",
self.what = "Set bob's limit."; "bob" : "700/USD/mtgox",
},
testutils.credit_limit(self.remote, "bob", "700/USD/mtgox", callback); callback);
}, },
function (callback) { function (callback) {
self.what = "Give alice some mtgox."; self.what = "Give alice some mtgox.";
@@ -593,29 +593,15 @@ buster.testCase("Indirect ripple", {
testutils.create_accounts(self.remote, "root", "10000", ["alice", "bob", "carol", "amazon", "mtgox"], callback); testutils.create_accounts(self.remote, "root", "10000", ["alice", "bob", "carol", "amazon", "mtgox"], callback);
}, },
function (callback) { function (callback) {
self.what = "Set alice's limit with bob."; self.what = "Set credit limits.";
testutils.credit_limit(self.remote, "bob", "600/USD/alice", callback); testutils.credit_limits(self.remote,
}, {
function (callback) { "amazon" : "2000/USD/mtgox",
self.what = "Set alice's limit with carol."; "bob" : [ "600/USD/alice", "1000/USD/mtgox" ],
"carol" : [ "700/USD/alice", "1000/USD/mtgox" ],
testutils.credit_limit(self.remote, "carol", "700/USD/alice", callback); },
}, callback);
function (callback) {
self.what = "Set bob's mtgox limit.";
testutils.credit_limit(self.remote, "bob", "1000/USD/mtgox", callback);
},
function (callback) {
self.what = "Set carol's mtgox limit.";
testutils.credit_limit(self.remote, "carol", "1000/USD/mtgox", callback);
},
function (callback) {
self.what = "Set amazon's mtgox limit.";
testutils.credit_limit(self.remote, "amazon", "2000/USD/mtgox", callback);
}, },
function (callback) { function (callback) {
self.what = "Give bob some mtgox."; self.what = "Give bob some mtgox.";
@@ -675,29 +661,15 @@ buster.testCase("Indirect ripple", {
testutils.transfer_rate(self.remote, "mtgox", 1.1e9, callback); testutils.transfer_rate(self.remote, "mtgox", 1.1e9, callback);
}, },
function (callback) { function (callback) {
self.what = "Set alice's limit with bob."; self.what = "Set credit limits.";
testutils.credit_limit(self.remote, "bob", "600/USD/alice", callback); testutils.credit_limits(self.remote,
}, {
function (callback) { "amazon" : "2000/USD/mtgox",
self.what = "Set alice's limit with carol."; "bob" : [ "600/USD/alice", "1000/USD/mtgox" ],
"carol" : [ "700/USD/alice", "1000/USD/mtgox" ],
testutils.credit_limit(self.remote, "carol", "700/USD/alice", callback); },
}, callback);
function (callback) {
self.what = "Set bob's mtgox limit.";
testutils.credit_limit(self.remote, "bob", "1000/USD/mtgox", callback);
},
function (callback) {
self.what = "Set carol's mtgox limit.";
testutils.credit_limit(self.remote, "carol", "1000/USD/mtgox", callback);
},
function (callback) {
self.what = "Set amazon's mtgox limit.";
testutils.credit_limit(self.remote, "amazon", "2000/USD/mtgox", callback);
}, },
function (callback) { function (callback) {
self.what = "Give bob some mtgox."; self.what = "Give bob some mtgox.";

View File

@@ -129,6 +129,30 @@ var credit_limit = function (remote, src, amount, callback) {
.submit(); .submit();
}; };
var credit_limits = function (remote, balances, callback) {
assert(3 === arguments.length);
var limits = [];
for (var src in balances) {
var values_src = balances[src];
var values = 'string' === typeof values_src ? [ values_src ] : values_src;
for (var index in values) {
limits.push( { "source" : src, "amount" : values[index] } );
}
}
async.every(limits,
function (limit, callback) {
credit_limit(remote, limit.source, limit.amount,
function (mismatch) { callback(!mismatch); });
},
function (every) {
callback(!every);
});
};
var payment = function (remote, src, dst, amount, callback) { var payment = function (remote, src, dst, amount, callback) {
assert(5 === arguments.length); assert(5 === arguments.length);
@@ -212,6 +236,7 @@ var verify_balances = function (remote, balances, callback) {
exports.build_setup = build_setup; exports.build_setup = build_setup;
exports.create_accounts = create_accounts; exports.create_accounts = create_accounts;
exports.credit_limit = credit_limit; exports.credit_limit = credit_limit;
exports.credit_limits = credit_limits;
exports.payment = payment; exports.payment = payment;
exports.build_teardown = build_teardown; exports.build_teardown = build_teardown;
exports.transfer_rate = transfer_rate; exports.transfer_rate = transfer_rate;