From fe79119809ecc9fbd1c42d5c1acf63d567376f63 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Wed, 3 Nov 2021 19:18:26 +0000 Subject: [PATCH] Added PresenceTestTransaction, to allow SerializationTests.testTransactions() to be unblocked --- .../org/qortal/test/SerializationTests.java | 3 +-- .../transaction/PresenceTestTransaction.java | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/qortal/test/common/transaction/PresenceTestTransaction.java diff --git a/src/test/java/org/qortal/test/SerializationTests.java b/src/test/java/org/qortal/test/SerializationTests.java index 15641331..5a9fffa8 100644 --- a/src/test/java/org/qortal/test/SerializationTests.java +++ b/src/test/java/org/qortal/test/SerializationTests.java @@ -38,7 +38,6 @@ public class SerializationTests extends Common { } @Test - @Ignore(value = "Doesn't work, to be fixed later") public void testTransactions() throws DataException, TransformationException { try (final Repository repository = RepositoryManager.getRepository()) { PrivateKeyAccount signingAccount = Common.getTestAccount(repository, "alice"); @@ -174,4 +173,4 @@ public class SerializationTests extends Common { assertEqualBigDecimals("Deserialized BigDecimal has incorrect value", amount, newAmount); } -} \ No newline at end of file +} diff --git a/src/test/java/org/qortal/test/common/transaction/PresenceTestTransaction.java b/src/test/java/org/qortal/test/common/transaction/PresenceTestTransaction.java new file mode 100644 index 00000000..64df87f4 --- /dev/null +++ b/src/test/java/org/qortal/test/common/transaction/PresenceTestTransaction.java @@ -0,0 +1,25 @@ +package org.qortal.test.common.transaction; + +import com.google.common.primitives.Longs; +import org.qortal.account.PrivateKeyAccount; +import org.qortal.data.transaction.PresenceTransactionData; +import org.qortal.data.transaction.TransactionData; +import org.qortal.repository.DataException; +import org.qortal.repository.Repository; +import org.qortal.transaction.PresenceTransaction.PresenceType; +import org.qortal.utils.NTP; + +public class PresenceTestTransaction extends TestTransaction { + + public static TransactionData randomTransaction(Repository repository, PrivateKeyAccount account, boolean wantValid) throws DataException { + final int nonce = 0; + + byte[] tradePrivateKey = new byte[32]; + PrivateKeyAccount tradeNativeAccount = new PrivateKeyAccount(repository, tradePrivateKey); + long timestamp = NTP.getTime(); + byte[] timestampSignature = tradeNativeAccount.sign(Longs.toByteArray(timestamp)); + + return new PresenceTransactionData(generateBase(account), nonce, PresenceType.TRADE_BOT, timestampSignature); + } + +}