18 #include <ripple/core/JobQueue.h>
19 #include <ripple/protocol/ErrorCodes.h>
32 auto const alice =
Account(
"alice");
35 auto const aliceSequence = env.
seq(alice);
37 auto const tx1 = env.
jt(
noop(alice),
seq(aliceSequence));
38 auto const tx2 = env.
jt(
noop(alice),
seq(aliceSequence + 1),
39 json(R
"({"LastLedgerSequence":7})"));
43 BEAST_EXPECT(env.seq(alice) == aliceSequence + 1);
46 BEAST_EXPECT(env.seq(alice) == aliceSequence + 2);
51 auto const result = env.
rpc(
"tx",
to_string(tx1.stx->getTransactionID()));
52 BEAST_EXPECT(result[
"result"][
"meta"][
"TransactionResult"] ==
"tesSUCCESS");
55 auto const result = env.
rpc(
"tx",
to_string(tx2.stx->getTransactionID()));
56 BEAST_EXPECT(result[
"result"][
"meta"][
"TransactionResult"] ==
"tesSUCCESS");
66 auto const alice =
Account(
"alice");
69 auto const aliceSequence = env.
seq(alice);
71 auto const tx1 = env.
jt(
noop(alice),
seq(aliceSequence));
72 auto const tx2 = env.
jt(
noop(alice),
seq(aliceSequence + 1),
73 json(R
"({"LastLedgerSequence":7})"));
76 BEAST_EXPECT(env.seq(alice) == aliceSequence);
79 BEAST_EXPECT(env.seq(alice) == aliceSequence + 2);
84 auto const result = env.
rpc(
"tx",
to_string(tx1.stx->getTransactionID()));
85 BEAST_EXPECT(result[
"result"][
"meta"][
"TransactionResult"] ==
"tesSUCCESS");
88 auto const result = env.
rpc(
"tx",
to_string(tx2.stx->getTransactionID()));
89 BEAST_EXPECT(result[
"result"][
"meta"][
"TransactionResult"] ==
"tesSUCCESS");
99 auto const alice =
Account(
"alice");
102 auto const aliceSequence = env.
seq(alice);
105 for (
auto i = 0; i < 5; ++i)
108 env.
jt(
noop(alice),
seq(aliceSequence + i),
109 json(R
"({"LastLedgerSequence":7})"))
113 for (
auto i = 1; i < 5; ++i)
116 BEAST_EXPECT(env.
seq(alice) == aliceSequence);
121 BEAST_EXPECT(env.
seq(alice) == aliceSequence + 5);
125 for (
auto i = 0; i < 5; ++i)
127 auto const result = env.
rpc(
"tx",
to_string(tx[i].stx->getTransactionID()));
128 BEAST_EXPECT(result[
"result"][
"meta"][
"TransactionResult"] ==
"tesSUCCESS");
Json::Value noop(Account const &account)
The null transaction.
const XRP_t XRP
Converts to XRP Issue or STAmount.
BEAST_DEFINE_TESTSUITE(AccountDelete, app, ripple)
Set the expected result code for a JTx The test will fail if the code doesn't match.
JTx jt(JsonValue &&jv, FN const &... fN)
Create a JTx from parameters.
std::string to_string(ListDisposition disposition)
void testIncorrectOrder()
virtual JobQueue & getJobQueue()=0
void testIncorrectOrderMultipleIntermediaries()
std::uint32_t seq(Account const &account) const
Returns the next sequence number on account.
void rendezvous()
Block until no tasks running.
Set the sequence number on a JTx.
T emplace_back(T... args)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::array< Account, 1+sizeof...(Args)> noripple(Account const &account, Args const &... args)
Designate accounts as no-ripple in Env::fund.
void close(NetClock::time_point closeTime, boost::optional< std::chrono::milliseconds > consensusDelay=boost::none)
Close and advance the ledger.
void setThreadCount(int c, bool const standaloneMode)
Set the number of thread serving the job queue to precisely this number.
void fund(bool setDefaultRipple, STAmount const &amount, Account const &account)
Immutable cryptographic account descriptor.
A transaction testing environment.
Json::Value rpc(std::unordered_map< std::string, std::string > const &headers, std::string const &cmd, Args &&... args)
Execute an RPC command.