xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
test
rpc
LedgerHeader_test.cpp
1
#include <test/jtx/Env.h>
2
#include <test/jtx/envconfig.h>
3
4
#include <xrpl/beast/unit_test/suite.h>
5
#include <xrpl/json/json_value.h>
6
#include <xrpl/protocol/jss.h>
7
8
namespace
xrpl
{
9
10
class
LedgerHeader_test
:
public
beast::unit_test::Suite
11
{
12
void
13
testSimpleCurrent
()
14
{
15
testcase
(
"Current ledger"
);
16
using namespace
test::jtx
;
17
Env env{*
this
, envconfig(noAdmin)};
18
19
json::Value
params{
json::ValueType::Object
};
20
params[jss::api_version] = 1;
21
params[jss::ledger_index] =
"current"
;
22
auto
const
result = env.client().invoke(
"ledger_header"
, params)[jss::result];
23
BEAST_EXPECT(result[jss::status] ==
"success"
);
24
BEAST_EXPECT(result.isMember(
"ledger"
));
25
BEAST_EXPECT(result[jss::ledger][jss::closed] ==
false
);
26
BEAST_EXPECT(result[jss::validated] ==
false
);
27
}
28
29
void
30
testSimpleValidated
()
31
{
32
testcase
(
"Validated ledger"
);
33
using namespace
test::jtx
;
34
Env env{*
this
, envconfig(noAdmin)};
35
36
json::Value
params{
json::ValueType::Object
};
37
params[jss::api_version] = 1;
38
params[jss::ledger_index] =
"validated"
;
39
auto
const
result = 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
47
testCommandRetired
()
48
{
49
testcase
(
"Command retired from API v2"
);
50
using namespace
test::jtx
;
51
Env env{*
this
, envconfig(noAdmin)};
52
53
json::Value
params{
json::ValueType::Object
};
54
params[jss::api_version] = 2;
55
auto
const
result = env.client().invoke(
"ledger_header"
, params)[jss::result];
56
BEAST_EXPECT(result[jss::error] ==
"unknownCmd"
);
57
BEAST_EXPECT(result[jss::status] ==
"error"
);
58
}
59
60
public
:
61
void
62
run
()
override
63
{
64
testSimpleCurrent
();
65
testSimpleValidated
();
66
testCommandRetired
();
67
}
68
};
69
70
BEAST_DEFINE_TESTSUITE
(
LedgerHeader
,
rpc
,
xrpl
);
71
72
}
// namespace xrpl
beast::unit_test::Suite
A testsuite class.
Definition
suite.h:52
beast::unit_test::Suite::testcase
TestcaseT testcase
Memberspace for declaring test cases.
Definition
suite.h:155
json::Value
Represents a JSON value.
Definition
json_value.h:117
xrpl::LedgerHeader_test
Definition
LedgerHeader_test.cpp:11
xrpl::LedgerHeader_test::testSimpleCurrent
void testSimpleCurrent()
Definition
LedgerHeader_test.cpp:13
xrpl::LedgerHeader_test::testCommandRetired
void testCommandRetired()
Definition
LedgerHeader_test.cpp:47
xrpl::LedgerHeader_test::testSimpleValidated
void testSimpleValidated()
Definition
LedgerHeader_test.cpp:30
xrpl::LedgerHeader_test::run
void run() override
Runs the suite.
Definition
LedgerHeader_test.cpp:62
json::ValueType::Object
@ Object
object value (collection of name/value pairs).
Definition
json_value.h:29
xrpl::rpc
API version numbers used in later API versions.
Definition
ApiVersion.h:36
xrpl::test::jtx
Definition
Oracle_test.cpp:34
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::BEAST_DEFINE_TESTSUITE
BEAST_DEFINE_TESTSUITE(AccountTxPaging, app, xrpl)
xrpl::LedgerHeader
Information about the notional ledger backing the view.
Definition
LedgerHeader.h:19
Generated by
1.17.0