4#include <gtest/gtest.h>
6#include <protocol_autogen/TestHelpers.h>
8#include <xrpl/protocol/SecretKey.h>
9#include <xrpl/protocol/Seed.h>
10#include <xrpl/protocol/STTx.h>
11#include <xrpl/protocol_autogen/transactions/DelegateSet.h>
12#include <xrpl/protocol_autogen/transactions/AccountSet.h>
20TEST(TransactionsDelegateSetTests, BuilderSettersRoundTrip)
23 auto const [publicKey, secretKey] =
45 auto tx = builder.build(publicKey, secretKey);
48 EXPECT_TRUE(tx.validate(reason)) << reason;
51 EXPECT_FALSE(tx.getSigningPubKey().empty());
52 EXPECT_TRUE(tx.hasTxnSignature());
55 EXPECT_EQ(tx.getAccount(), accountValue);
56 EXPECT_EQ(tx.getSequence(), sequenceValue);
57 EXPECT_EQ(tx.getFee(), feeValue);
61 auto const& expected = authorizeValue;
62 auto const actual = tx.getAuthorize();
67 auto const& expected = permissionsValue;
68 auto const actual = tx.getPermissions();
77TEST(TransactionsDelegateSetTests, BuilderFromStTxRoundTrip)
80 auto const [publicKey, secretKey] =
102 auto initialTx = initialBuilder.build(publicKey, secretKey);
107 auto rebuiltTx = builderFromTx.
build(publicKey, secretKey);
110 EXPECT_TRUE(rebuiltTx.validate(reason)) << reason;
113 EXPECT_EQ(rebuiltTx.getAccount(), accountValue);
114 EXPECT_EQ(rebuiltTx.getSequence(), sequenceValue);
115 EXPECT_EQ(rebuiltTx.getFee(), feeValue);
119 auto const& expected = authorizeValue;
120 auto const actual = rebuiltTx.getAuthorize();
125 auto const& expected = permissionsValue;
126 auto const actual = rebuiltTx.getPermissions();
134TEST(TransactionsDelegateSetTests, WrapperThrowsOnWrongTxType)
137 auto const [pk, sk] =
142 auto wrongTx = wrongBuilder.build(pk, sk);
148TEST(TransactionsDelegateSetTests, BuilderThrowsOnWrongTxType)
151 auto const [pk, sk] =
156 auto wrongTx = wrongBuilder.build(pk, sk);
Builder for AccountSet transactions.
Builder for DelegateSet transactions.
DelegateSet build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the DelegateSet wrapper.
Transaction: DelegateSet.
std::shared_ptr< STTx const > getSTTx() const
Get the underlying STTx object.
TEST(TransactionsAccountDeleteTests, BuilderSettersRoundTrip)
AccountValue canonical_ACCOUNT()
Seed generateSeed(std::string const &passPhrase)
Generate a seed deterministically.
std::pair< PublicKey, SecretKey > generateKeyPair(KeyType type, Seed const &seed)
Generate a key pair deterministically.
STArray canonical_ARRAY()
AmountValue canonical_AMOUNT()
AccountID calcAccountID(PublicKey const &pk)
void expectEqualField(T const &expected, T const &actual, char const *fieldName)