UT: Verify quality setting.

This commit is contained in:
Arthur Britto
2013-03-14 16:40:43 -07:00
parent d3e787307d
commit 56308f39ce
2 changed files with 59 additions and 14 deletions

View File

@@ -495,7 +495,7 @@ buster.testCase("More Path finding", {
self.remote.request_ripple_path_find("alice", "bob", "5/USD/bob",
[ { 'currency' : "USD" } ])
.on('success', function (m) {
console.log("proposed: %s", JSON.stringify(m));
// console.log("proposed: %s", JSON.stringify(m));
// 1 alternative.
// buster.assert.equals(1, m.alternatives.length)
@@ -1169,7 +1169,7 @@ buster.testCase("Indirect paths", {
self.remote.request_ripple_path_find("alice", "carol", "5/USD/carol",
[ { 'currency' : "USD" } ])
.on('success', function (m) {
console.log("proposed: %s", JSON.stringify(m));
// console.log("proposed: %s", JSON.stringify(m));
// 1 alternative.
buster.assert.equals(1, m.alternatives.length)
@@ -1186,4 +1186,41 @@ buster.testCase("Indirect paths", {
});
},
});
buster.testCase("Quality paths", {
// 'setUp' : testutils.build_setup(),
'setUp' : testutils.build_setup({ verbose: true }),
// 'setUp' : testutils.build_setup({ verbose: true, no_server: true }),
'tearDown' : testutils.build_teardown(),
"quality set and test" :
function (done) {
var self = this;
async.waterfall([
function (callback) {
self.what = "Create accounts.";
testutils.create_accounts(self.remote, "root", "10000.0", ["alice", "bob"], callback);
},
function (callback) {
self.what = "Set credit limits extended.";
testutils.credit_limits(self.remote,
{
"bob" : "1000/USD/alice:2000,1400000000",
},
callback);
},
function (callback) {
self.what = "Verify credit limits extended.";
testutils.verify_limit(self.remote, "bob", "1000/USD/alice:2000,1400000000", callback);
},
], function (error) {
buster.refute(error, self.what);
done();
});
},
});
// vim:sw=2:sts=2:ts=8:et

View File

@@ -171,7 +171,7 @@ var create_accounts = function (remote, src, amount, accounts, callback) {
var credit_limit = function (remote, src, amount, callback) {
assert(4 === arguments.length);
var _m = amount.match(/^(\d+\/...\/[^\/]+)(?:(\d+)(?:\/(\d+))?)?$/);
var _m = amount.match(/^(\d+\/...\/[^\:]+)(?::(\d+)(?:,(\d+))?)?$/);
if (!_m) {
console.log("credit_limit: parse error: %s", amount);
@@ -179,8 +179,13 @@ var credit_limit = function (remote, src, amount, callback) {
}
else
{
// console.log("credit_limit: parsed: %s", JSON.stringify(_m, undefined, 2));
var _account_limit = _m[1];
var _quality_in = _m[2];
var _quality_out = _m[3];
remote.transaction()
.ripple_line_set(src, _m[1], _m[2], _m[3])
.ripple_line_set(src, _account_limit, _quality_in, _quality_out)
.on('proposed', function (m) {
// console.log("proposed: %s", JSON.stringify(m));
@@ -198,33 +203,35 @@ var credit_limit = function (remote, src, amount, callback) {
var verify_limit = function (remote, src, amount, callback) {
assert(4 === arguments.length);
var _m = amount.match(/^(\d+\/...\/[^\/]+)(?:(\d+)(?:\/(\d+))?)?$/);
var _m = amount.match(/^(\d+\/...\/[^\:]+)(?::(\d+)(?:,(\d+))?)?$/);
if (!_m) {
console.log("credit_limit: parse error: %s", amount);
// console.log("credit_limit: parse error: %s", amount);
callback('parse_error');
}
else
{
// console.log("verify_limit: parsed: %s", JSON.stringify(_m, undefined, 2));
var _account_limit = _m[1];
var _quality_in = _m[2];
var _quality_out = _m[3];
remote.request_ripple_balance()
.once('ripple_state', function (m) {
// console.log("proposed: %s", JSON.stringify(m));
buster.assert(m.account_limit.equals(_account_limit));
buster.assert('undefined' === _quality_in || m.account_quality_in.equals(_quality_in));
buster.assert('undefined' === _quality_out || m.account_quality_out.equals(_quality_out));
var _limit = Amount.from_json(_account_limit);
callback(m.result != 'tesSUCCESS');
remote.request_ripple_balance(src, _limit.issuer().to_json(), _limit.currency().to_json(), 'CURRENT')
.once('ripple_state', function (m) {
buster.assert(m.account_limit.equals(_limit));
buster.assert('undefined' === _quality_in || m.account_quality_in == _quality_in);
buster.assert('undefined' === _quality_out || m.account_quality_out == _quality_out);
callback();
})
.on('error', function (m) {
// console.log("error: %s", JSON.stringify(m));
callback(m);
})
.submit();
.request();
}
};
@@ -466,6 +473,7 @@ exports.payments = payments;
exports.transfer_rate = transfer_rate;
exports.verify_balance = verify_balance;
exports.verify_balances = verify_balances;
exports.verify_limit = verify_limit;
exports.verify_offer = verify_offer;
exports.verify_offer_not_found = verify_offer_not_found;
exports.verify_owner_count = verify_owner_count;