rippled
Loading...
Searching...
No Matches
LedgerHeader_test.cpp
1#include <test/jtx/Env.h>
2#include <test/jtx/envconfig.h>
3
4#include <xrpl/protocol/jss.h>
5
6namespace ripple {
7
9{
10 void
12 {
13 testcase("Current ledger");
14 using namespace test::jtx;
15 Env env{*this, envconfig(no_admin)};
16
18 params[jss::api_version] = 1;
19 params[jss::ledger_index] = "current";
20 auto const result =
21 env.client().invoke("ledger_header", params)[jss::result];
22 BEAST_EXPECT(result[jss::status] == "success");
23 BEAST_EXPECT(result.isMember("ledger"));
24 BEAST_EXPECT(result[jss::ledger][jss::closed] == false);
25 BEAST_EXPECT(result[jss::validated] == false);
26 }
27
28 void
30 {
31 testcase("Validated ledger");
32 using namespace test::jtx;
33 Env env{*this, envconfig(no_admin)};
34
36 params[jss::api_version] = 1;
37 params[jss::ledger_index] = "validated";
38 auto const result =
39 env.client().invoke("ledger_header", params)[jss::result];
40 BEAST_EXPECT(result[jss::status] == "success");
41 BEAST_EXPECT(result.isMember("ledger"));
42 BEAST_EXPECT(result[jss::ledger][jss::closed] == true);
43 BEAST_EXPECT(result[jss::validated] == true);
44 }
45
46 void
48 {
49 testcase("Command retired from API v2");
50 using namespace test::jtx;
51 Env env{*this, envconfig(no_admin)};
52
54 params[jss::api_version] = 2;
55 auto const result =
56 env.client().invoke("ledger_header", params)[jss::result];
57 BEAST_EXPECT(result[jss::error] == "unknownCmd");
58 BEAST_EXPECT(result[jss::status] == "error");
59 }
60
61public:
62 void
63 run() override
64 {
68 }
69};
70
71BEAST_DEFINE_TESTSUITE(LedgerHeader, rpc, ripple);
72
73} // namespace ripple
Represents a JSON value.
Definition json_value.h:130
A testsuite class.
Definition suite.h:52
testcase_t testcase
Memberspace for declaring test cases.
Definition suite.h:152
void run() override
Runs the suite.
@ objectValue
object value (collection of name/value pairs).
Definition json_value.h:26
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
Information about the notional ledger backing the view.