20 #include <ripple/rpc/Status.h>
21 #include <ripple/basics/contract.h>
22 #include <ripple/beast/unit_test.h>
31 template <
typename Type>
42 expect (s.empty(),
"String for OK status");
47 expect (s.empty(),
"String for OK status");
52 expect (s.empty(),
"String for 0 status");
57 expect (s.empty(),
"String for tesSUCCESS");
62 expect (s.empty(),
"String for rpcSUCCESS");
71 expect (s ==
"23", s);
76 expect (s ==
"temBAD_AMOUNT: Can only send positive amounts.", s);
81 expect (s ==
"badSyntax: Syntax error.", s);
100 template <
typename Type>
111 expect (!
value_,
"Value for empty status");
114 expect (!
value_,
"Value for 0 status");
117 expect (!
value_,
"Value for OK status");
120 expect (!
value_,
"Value for tesSUCCESS");
123 expect (!
value_,
"Value for rpcSUCCESS");
126 template <
typename Type>
136 auto prefix = label +
": ";
137 expect (
bool (
value_), prefix +
"No value");
139 auto error =
value_[jss::error];
140 expect (
bool (error), prefix +
"No error.");
142 auto code = error[jss::code].asInt();
143 expect (status == code, prefix +
"Wrong status " +
146 auto m = error[jss::message].asString ();
147 expect (m == message, m +
" != " + message);
149 auto d = error[jss::data];
150 size_t s1 = d.size(), s2 = messages.
size();
151 expect (s1 == s2, prefix +
"Data sizes differ " +
153 for (
auto i = 0; i <
std::min (s1, s2); ++i)
155 auto ds = d[i].asString();
156 expect (ds == messages[i], prefix + ds +
" != " + messages[i]);
167 "temBAD_AMOUNT: Can only send positive amounts.");
172 {
"An error.",
"Another error."},
173 "badSyntax: Syntax error.");
193 expect (msgs.size () == 1,
"Wrong number of messages");
194 expect (msgs[0] ==
"path=sdcdfd", msgs[0]);
198 expect (
false,
"Didn't catch a Status");