|
|
@ -5,6 +5,7 @@ import static org.junit.Assert.*; |
|
|
|
import org.junit.Before; |
|
|
|
import org.junit.Before; |
|
|
|
import org.junit.Test; |
|
|
|
import org.junit.Test; |
|
|
|
import org.qortal.account.PrivateKeyAccount; |
|
|
|
import org.qortal.account.PrivateKeyAccount; |
|
|
|
|
|
|
|
import org.qortal.data.naming.NameData; |
|
|
|
import org.qortal.data.transaction.RegisterNameTransactionData; |
|
|
|
import org.qortal.data.transaction.RegisterNameTransactionData; |
|
|
|
import org.qortal.data.transaction.TransactionData; |
|
|
|
import org.qortal.data.transaction.TransactionData; |
|
|
|
import org.qortal.data.transaction.UpdateNameTransactionData; |
|
|
|
import org.qortal.data.transaction.UpdateNameTransactionData; |
|
|
@ -29,12 +30,21 @@ public class UpdateTests extends Common { |
|
|
|
// Register-name
|
|
|
|
// Register-name
|
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
|
|
|
|
String initialReducedName = "initia1-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData initialTransactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData initialTransactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, initialTransactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, initialTransactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check name, reduced name, and data exist
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
NameData nameData = repository.getNameRepository().fromName(initialName); |
|
|
|
|
|
|
|
assertEquals("initia1-name", nameData.getReducedName()); |
|
|
|
|
|
|
|
assertEquals(initialData, nameData.getData()); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
String newName = "new-name"; |
|
|
|
String newName = "new-name"; |
|
|
|
|
|
|
|
String newReducedName = "new-name"; |
|
|
|
String newData = ""; |
|
|
|
String newData = ""; |
|
|
|
TransactionData updateTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newName, newData); |
|
|
|
TransactionData updateTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newName, newData); |
|
|
|
TransactionUtils.signAndMint(repository, updateTransactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, updateTransactionData, alice); |
|
|
@ -42,20 +52,37 @@ public class UpdateTests extends Common { |
|
|
|
// Check old name no longer exists
|
|
|
|
// Check old name no longer exists
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check reduced name no longer exists
|
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check new name exists
|
|
|
|
// Check new name exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(newName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(newName)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check reduced name and data are correct for new name
|
|
|
|
|
|
|
|
NameData newNameData = repository.getNameRepository().fromName(newReducedName); |
|
|
|
|
|
|
|
assertEquals(newReducedName, newNameData.getReducedName()); |
|
|
|
|
|
|
|
// Data should remain the same because it was empty in the UpdateNameTransactionData
|
|
|
|
|
|
|
|
assertEquals(initialData, newNameData.getData()); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
assertEquals((Long) updateTransactionData.getTimestamp(), repository.getNameRepository().fromName(newName).getUpdated()); |
|
|
|
assertEquals((Long) updateTransactionData.getTimestamp(), repository.getNameRepository().fromName(newName).getUpdated()); |
|
|
|
|
|
|
|
|
|
|
|
// orphan and recheck
|
|
|
|
// orphan and recheck
|
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
|
|
|
|
|
|
|
|
// Check new name no longer exists
|
|
|
|
// Check new name and reduced name no longer exist
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(newName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(newName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(newReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check old name exists again
|
|
|
|
// Check old name and reduced name exist again
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check data and reduced name are still present for this name
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
nameData = repository.getNameRepository().fromName(initialName); |
|
|
|
|
|
|
|
assertEquals(initialReducedName, nameData.getReducedName()); |
|
|
|
|
|
|
|
assertEquals(initialData, nameData.getData()); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is empty
|
|
|
|
// Check updated timestamp is empty
|
|
|
|
assertNull(repository.getNameRepository().fromName(initialName).getUpdated()); |
|
|
|
assertNull(repository.getNameRepository().fromName(initialName).getUpdated()); |
|
|
@ -70,9 +97,15 @@ public class UpdateTests extends Common { |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String constantReducedName = "initia1-name"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData initialTransactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData initialTransactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, initialTransactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, initialTransactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(constantReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
String newName = "Initial-Name"; |
|
|
|
String newName = "Initial-Name"; |
|
|
|
String newData = ""; |
|
|
|
String newData = ""; |
|
|
|
TransactionData updateTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newName, newData); |
|
|
|
TransactionData updateTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newName, newData); |
|
|
@ -83,6 +116,7 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check new name exists
|
|
|
|
// Check new name exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(newName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(newName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(constantReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
assertEquals((Long) updateTransactionData.getTimestamp(), repository.getNameRepository().fromName(newName).getUpdated()); |
|
|
|
assertEquals((Long) updateTransactionData.getTimestamp(), repository.getNameRepository().fromName(newName).getUpdated()); |
|
|
@ -95,6 +129,7 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check old name exists again
|
|
|
|
// Check old name exists again
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(constantReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is empty
|
|
|
|
// Check updated timestamp is empty
|
|
|
|
assertNull(repository.getNameRepository().fromName(initialName).getUpdated()); |
|
|
|
assertNull(repository.getNameRepository().fromName(initialName).getUpdated()); |
|
|
@ -108,32 +143,43 @@ public class UpdateTests extends Common { |
|
|
|
// Register-name
|
|
|
|
// Register-name
|
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
|
|
|
|
String initialReducedName = "initia1-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData initialTransactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData initialTransactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, initialTransactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, initialTransactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
String middleName = "middle-name"; |
|
|
|
String middleName = "middle-name"; |
|
|
|
|
|
|
|
String middleReducedName = "midd1e-name"; |
|
|
|
String middleData = ""; |
|
|
|
String middleData = ""; |
|
|
|
TransactionData middleTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, middleName, middleData); |
|
|
|
TransactionData middleTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, middleName, middleData); |
|
|
|
TransactionUtils.signAndMint(repository, middleTransactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, middleTransactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
// Check old name no longer exists
|
|
|
|
// Check old name no longer exists
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check new name exists
|
|
|
|
// Check new name exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(middleName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
String newestName = "newest-name"; |
|
|
|
String newestName = "newest-name"; |
|
|
|
|
|
|
|
String newestReducedName = "newest-name"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
TransactionData newestTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), middleName, newestName, newestData); |
|
|
|
TransactionData newestTransactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), middleName, newestName, newestData); |
|
|
|
TransactionUtils.signAndMint(repository, newestTransactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, newestTransactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
// Check previous name no longer exists
|
|
|
|
// Check previous name no longer exists
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(middleName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check newest name exists
|
|
|
|
// Check newest name exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(newestName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(newestName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(newestReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
assertEquals((Long) newestTransactionData.getTimestamp(), repository.getNameRepository().fromName(newestName).getUpdated()); |
|
|
|
assertEquals((Long) newestTransactionData.getTimestamp(), repository.getNameRepository().fromName(newestName).getUpdated()); |
|
|
@ -143,9 +189,11 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check newest name no longer exists
|
|
|
|
// Check newest name no longer exists
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(newestName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(newestName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(newestReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check previous name exists again
|
|
|
|
// Check previous name exists again
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(middleName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
// Check updated timestamp is correct
|
|
|
|
assertEquals((Long) middleTransactionData.getTimestamp(), repository.getNameRepository().fromName(middleName).getUpdated()); |
|
|
|
assertEquals((Long) middleTransactionData.getTimestamp(), repository.getNameRepository().fromName(middleName).getUpdated()); |
|
|
@ -155,9 +203,11 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check new name no longer exists
|
|
|
|
// Check new name no longer exists
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(middleName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check original name exists again
|
|
|
|
// Check original name exists again
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check updated timestamp is empty
|
|
|
|
// Check updated timestamp is empty
|
|
|
|
assertNull(repository.getNameRepository().fromName(initialName).getUpdated()); |
|
|
|
assertNull(repository.getNameRepository().fromName(initialName).getUpdated()); |
|
|
@ -171,11 +221,16 @@ public class UpdateTests extends Common { |
|
|
|
// Register-name
|
|
|
|
// Register-name
|
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
|
|
|
|
String initialReducedName = "initia1-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Don't update name, but update data.
|
|
|
|
// Don't update name, but update data.
|
|
|
|
// This tests whether reverting a future update/sale can find the correct previous name
|
|
|
|
// This tests whether reverting a future update/sale can find the correct previous name
|
|
|
|
String middleName = ""; |
|
|
|
String middleName = ""; |
|
|
@ -185,29 +240,35 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check old name still exists
|
|
|
|
// Check old name still exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
String newestName = "newest-name"; |
|
|
|
String newestName = "newest-name"; |
|
|
|
|
|
|
|
String newestReducedName = "newest-name"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newestName, newestData); |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newestName, newestData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
// Check previous name no longer exists
|
|
|
|
// Check previous name no longer exists
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check newest name exists
|
|
|
|
// Check newest name exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(newestName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(newestName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(newestReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// orphan and recheck
|
|
|
|
// orphan and recheck
|
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
|
|
|
|
|
|
|
|
// Check original name exists again
|
|
|
|
// Check original name exists again
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// orphan and recheck
|
|
|
|
// orphan and recheck
|
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
|
|
|
|
|
|
|
|
// Check original name still exists
|
|
|
|
// Check original name still exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -217,11 +278,16 @@ public class UpdateTests extends Common { |
|
|
|
// Register-name
|
|
|
|
// Register-name
|
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
|
|
|
|
String initialReducedName = "initia1-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
String newName = ""; |
|
|
|
String newName = ""; |
|
|
|
String newData = "new-data"; |
|
|
|
String newData = "new-data"; |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newName, newData); |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, newName, newData); |
|
|
@ -229,6 +295,7 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check name still exists
|
|
|
|
// Check name still exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(newData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
|
assertEquals(newData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
@ -238,6 +305,7 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check name still exists
|
|
|
|
// Check name still exists
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check old data restored
|
|
|
|
// Check old data restored
|
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
@ -251,13 +319,19 @@ public class UpdateTests extends Common { |
|
|
|
// Register-name
|
|
|
|
// Register-name
|
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
|
|
|
|
String initialReducedName = "initia1-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Update data
|
|
|
|
// Update data
|
|
|
|
String middleName = "middle-name"; |
|
|
|
String middleName = "middle-name"; |
|
|
|
|
|
|
|
String middleReducedName = "midd1e-name"; |
|
|
|
String middleData = "middle-data"; |
|
|
|
String middleData = "middle-data"; |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, middleName, middleData); |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, middleName, middleData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
@ -266,6 +340,7 @@ public class UpdateTests extends Common { |
|
|
|
assertEquals(middleData, repository.getNameRepository().fromName(middleName).getData()); |
|
|
|
assertEquals(middleData, repository.getNameRepository().fromName(middleName).getData()); |
|
|
|
|
|
|
|
|
|
|
|
String newestName = "newest-name"; |
|
|
|
String newestName = "newest-name"; |
|
|
|
|
|
|
|
String newestReducedName = "newest-name"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), middleName, newestName, newestData); |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), middleName, newestName, newestData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
@ -273,6 +348,14 @@ public class UpdateTests extends Common { |
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(newestData, repository.getNameRepository().fromName(newestName).getData()); |
|
|
|
assertEquals(newestData, repository.getNameRepository().fromName(newestName).getData()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name no longer exists
|
|
|
|
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check newest name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(newestName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(newestReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// orphan and recheck
|
|
|
|
// orphan and recheck
|
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
|
|
|
|
|
|
|
@ -284,6 +367,10 @@ public class UpdateTests extends Common { |
|
|
|
|
|
|
|
|
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists again
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -294,38 +381,69 @@ public class UpdateTests extends Common { |
|
|
|
// Register-name
|
|
|
|
// Register-name
|
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice"); |
|
|
|
String initialName = "initial-name"; |
|
|
|
String initialName = "initial-name"; |
|
|
|
|
|
|
|
String initialReducedName = "initia1-name"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
String initialData = "{\"age\":30}"; |
|
|
|
|
|
|
|
|
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), initialName, initialData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Don't update data, but update name.
|
|
|
|
// Don't update data, but update name.
|
|
|
|
// This tests whether reverting a future update/sale can find the correct previous data
|
|
|
|
// This tests whether reverting a future update/sale can find the correct previous data
|
|
|
|
String middleName = "middle-name"; |
|
|
|
String middleName = "middle-name"; |
|
|
|
|
|
|
|
String middleReducedName = "midd1e-name"; |
|
|
|
String middleData = ""; |
|
|
|
String middleData = ""; |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, middleName, middleData); |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), initialName, middleName, middleData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check original name no longer exists
|
|
|
|
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check middle name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(middleName).getData()); |
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(middleName).getData()); |
|
|
|
|
|
|
|
|
|
|
|
String newestName = "newest-name"; |
|
|
|
String newestName = "newest-name"; |
|
|
|
|
|
|
|
String newestReducedName = "newest-name"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
String newestData = "newest-data"; |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), middleName, newestName, newestData); |
|
|
|
transactionData = new UpdateNameTransactionData(TestTransaction.generateBase(alice), middleName, newestName, newestData); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
TransactionUtils.signAndMint(repository, transactionData, alice); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check middle name no longer exists
|
|
|
|
|
|
|
|
assertFalse(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check newest name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(newestName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(newestReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(newestData, repository.getNameRepository().fromName(newestName).getData()); |
|
|
|
assertEquals(newestData, repository.getNameRepository().fromName(newestName).getData()); |
|
|
|
|
|
|
|
|
|
|
|
// orphan and recheck
|
|
|
|
// orphan and recheck
|
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check middle name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(middleName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(middleReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(middleName).getData()); |
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(middleName).getData()); |
|
|
|
|
|
|
|
|
|
|
|
// orphan and recheck
|
|
|
|
// orphan and recheck
|
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
BlockUtils.orphanLastBlock(repository); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check initial name exists
|
|
|
|
|
|
|
|
assertTrue(repository.getNameRepository().nameExists(initialName)); |
|
|
|
|
|
|
|
assertNotNull(repository.getNameRepository().fromReducedName(initialReducedName)); |
|
|
|
|
|
|
|
|
|
|
|
// Check data is correct
|
|
|
|
// Check data is correct
|
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
|
assertEquals(initialData, repository.getNameRepository().fromName(initialName).getData()); |
|
|
|
} |
|
|
|
} |
|
|
|