mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 11:05:54 +00:00
UT: Verify quality setting.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user