xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
test
overlay
TMTransaction_test.cpp
1
#include <test/jtx/Env.h>
2
#include <test/jtx/envconfig.h>
3
#include <test/overlay/CapturePeer.h>
4
5
#include <xrpl/beast/unit_test/suite.h>
6
#include <xrpl/resource/Fees.h>
7
8
#include <xrpl.pb.h>
9
10
#include <
memory
>
11
12
namespace
xrpl::test
{
13
14
using namespace
jtx
;
15
16
class
TMTransaction_test
:
public
beast::unit_test::Suite
17
{
18
void
19
testFailureDeserializingTransactionIsCharged
()
20
{
21
testcase
(
"Undeserializable Transaction Is Charged"
);
22
23
Env
env{*
this
,
envconfig
()};
24
25
auto
peer =
makeCapturePeer
(env);
26
auto
tx =
std::make_shared<protocol::TMTransaction>
();
27
tx->set_status(protocol::tsNEW);
28
29
// Bytes that are not a serialized transaction, so deserialization fails.
30
tx->set_rawtransaction(
"\x01\x02\x03"
, 3);
31
32
peer->onMessage(tx);
33
BEAST_EXPECT(peer->feeCharge() ==
resource::kFeeInvalidData
);
34
}
35
36
void
37
run
()
override
38
{
39
testFailureDeserializingTransactionIsCharged
();
40
}
41
};
42
43
BEAST_DEFINE_TESTSUITE
(TMTransaction, overlay,
xrpl
);
44
45
}
// namespace xrpl::test
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
xrpl::test::TMTransaction_test
Definition
TMTransaction_test.cpp:17
xrpl::test::TMTransaction_test::testFailureDeserializingTransactionIsCharged
void testFailureDeserializingTransactionIsCharged()
Definition
TMTransaction_test.cpp:19
xrpl::test::TMTransaction_test::run
void run() override
Runs the suite.
Definition
TMTransaction_test.cpp:37
xrpl::test::jtx::Env
A transaction testing environment.
Definition
Env.h:161
std::make_shared
T make_shared(T... args)
memory
xrpl::resource::kFeeInvalidData
Charge const kFeeInvalidData
xrpl::test::jtx
Definition
Oracle_test.cpp:34
xrpl::test::jtx::envconfig
std::unique_ptr< Config > envconfig()
creates and initializes a default configuration for jtx::Env
Definition
envconfig.h:38
xrpl::test
Definition
STLedgerEntry.h:21
xrpl::test::BEAST_DEFINE_TESTSUITE
BEAST_DEFINE_TESTSUITE(AMMClawback, app, xrpl)
xrpl::test::makeCapturePeer
std::shared_ptr< PeerType > makeCapturePeer(jtx::Env &env, std::optional< PublicKey > key=std::nullopt, HttpRequestType request={})
Build an active CapturePeer and register it with the overlay.
Definition
CapturePeer.h:209
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
Generated by
1.17.0