1#include <xrpld/rpc/Status.h> 
    3#include <xrpl/basics/contract.h> 
    4#include <xrpl/beast/unit_test.h> 
   12    template <
typename Type>
 
   25            expect(s.empty(), 
"String for OK status");
 
   30            expect(s.empty(), 
"String for OK status");
 
   35            expect(s.empty(), 
"String for 0 status");
 
   40            expect(s.empty(), 
"String for tesSUCCESS");
 
   45            expect(s.empty(), 
"String for rpcSUCCESS");
 
 
   60            expect(s == 
"temBAD_AMOUNT: Malformed: Bad amount.", s);
 
   65            expect(s == 
"badSyntax: Syntax error.", s);
 
 
 
   78BEAST_DEFINE_TESTSUITE(codeString, rpc, RPC);
 
   85    template <
typename Type>
 
  113    template <
typename Type>
 
  124        auto prefix = label + 
": ";
 
  127        auto error = 
value_[jss::error];
 
  128        expect(
bool(error), prefix + 
"No error.");
 
  130        auto code = error[jss::code].asInt();
 
  136        auto m = error[jss::message].asString();
 
  137        expect(m == message, m + 
" != " + message);
 
  139        auto d = error[jss::data];
 
  140        size_t s1 = d.size(), s2 = messages.
size();
 
  145        for (
auto i = 0; i < 
std::min(s1, s2); ++i)
 
  147            auto ds = d[i].asString();
 
  148            expect(ds == messages[i], prefix + ds + 
" != " + messages[i]);
 
 
  160            "temBAD_AMOUNT: Malformed: Bad amount.");
 
  165            {
"An error.", 
"Another error."},
 
  166            "badSyntax: Syntax error.");
 
  168        expectFill(
"integer message", 23, {
"Stuff."}, 
"23");
 
 
  183            expect(msgs.size() == 1, 
"Wrong number of messages");
 
  184            expect(msgs[0] == 
"path=sdcdfd", msgs[0]);
 
  188            expect(
false, 
"Didn't catch a Status");
 
 
 
  202BEAST_DEFINE_TESTSUITE(fillJson, rpc, RPC);
 
void clear()
Remove all object members and array elements.
 
testcase_t testcase
Memberspace for declaring test cases.
 
bool expect(Condition const &shouldBeTrue)
Evaluate a test condition.
 
void run() override
Runs the suite.
 
std::string codeString(Type t)
 
void run() override
Runs the suite.
 
void expectFill(std::string const &label, Type status, Status::Strings messages, std::string const &message)
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
Status represents the results of an operation that might fail.
 
Strings const & messages() const
 
TER toTER() const
Returns the Status as a TER.
 
std::string codeString() const
 
void fillJson(Json::Value &)
Fill a Json::Value with an RPC 2.0 response.