Work on testing indirect ripple.

- WS: Make ripple_state more strict.
- UT: Add an indirect ripple test.
- UT: Add more testutils functions.
This commit is contained in:
Arthur Britto
2012-10-25 16:35:44 -07:00
parent 98130b524d
commit 522f064d9e
4 changed files with 111 additions and 13 deletions

View File

@@ -832,17 +832,23 @@ void WSConnection::doLedgerEntry(Json::Value& jvResult, const Json::Value& jvReq
uint160 uCurrency;
Json::Value jvRippleState = jvRequest["ripple_state"];
if (!jvRippleState.isMember("accounts")
|| !jvRippleState.isMember("currency")
if (!jvRippleState.isMember("currency")
|| !jvRippleState.isMember("accounts")
|| !jvRippleState["accounts"].isArray()
|| 2 != jvRippleState["accounts"].size()) {
|| 2 != jvRippleState["accounts"].size()
|| !jvRippleState["accounts"][0u].isString()
|| !jvRippleState["accounts"][1u].isString()
|| jvRippleState["accounts"][0u].asString() == jvRippleState["accounts"][1u].asString()
) {
cLog(lsINFO)
<< boost::str(boost::format("ledger_entry: ripple_state: accounts: %d currency: %d array=%d, size=%d")
<< boost::str(boost::format("ledger_entry: ripple_state: accounts: %d currency: %d array: %d size: %d equal: %d")
% jvRippleState.isMember("accounts")
% jvRippleState.isMember("currency")
% jvRippleState["accounts"].isArray()
% jvRippleState["accounts"].size());
% jvRippleState["accounts"].size()
% (jvRippleState["accounts"][0u].asString() == jvRippleState["accounts"][1u].asString())
);
jvResult["error"] = "malformedRequest";
}