forked from Qortal/qortal
Test a registered name with a space in it
This commit is contained in:
parent
7aa8f115ce
commit
5c64a85d7c
@ -424,4 +424,48 @@ public class ArbitraryDataTests extends Common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNameWithSpace() throws DataException, IOException, MissingDataException {
|
||||||
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
|
PrivateKeyAccount alice = Common.getTestAccount(repository, "alice");
|
||||||
|
String publicKey58 = Base58.encode(alice.getPublicKey());
|
||||||
|
String name = "Test Name";
|
||||||
|
String identifier = null; // Not used for this test
|
||||||
|
Service service = Service.ARBITRARY_DATA;
|
||||||
|
|
||||||
|
// Register the name to Alice
|
||||||
|
RegisterNameTransactionData transactionData = new RegisterNameTransactionData(TestTransaction.generateBase(alice), name, "");
|
||||||
|
TransactionUtils.signAndMint(repository, transactionData, alice);
|
||||||
|
|
||||||
|
// Create PUT transaction
|
||||||
|
Path path1 = Paths.get("src/test/resources/arbitrary/demo1");
|
||||||
|
ArbitraryUtils.createAndMintTxn(repository, publicKey58, path1, name, identifier, Method.PUT, service, alice);
|
||||||
|
|
||||||
|
// Create PATCH transaction
|
||||||
|
Path path2 = Paths.get("src/test/resources/arbitrary/demo2");
|
||||||
|
ArbitraryUtils.createAndMintTxn(repository, publicKey58, path2, name, identifier, Method.PATCH, service, alice);
|
||||||
|
|
||||||
|
// Now build the latest data state for this name
|
||||||
|
ArbitraryDataReader arbitraryDataReader = new ArbitraryDataReader(name, ResourceIdType.NAME, service, identifier);
|
||||||
|
arbitraryDataReader.loadSynchronously(true);
|
||||||
|
Path finalPath = arbitraryDataReader.getFilePath();
|
||||||
|
|
||||||
|
// Ensure it exists
|
||||||
|
assertTrue(Files.exists(finalPath));
|
||||||
|
|
||||||
|
// Its directory hash should match the hash of demo2
|
||||||
|
ArbitraryDataDigest path2Digest = new ArbitraryDataDigest(path2);
|
||||||
|
path2Digest.compute();
|
||||||
|
ArbitraryDataDigest finalPathDigest = new ArbitraryDataDigest(finalPath);
|
||||||
|
finalPathDigest.compute();
|
||||||
|
assertEquals(path2Digest.getHash58(), finalPathDigest.getHash58());
|
||||||
|
|
||||||
|
// .. and its directory hash should also match the one included in the metadata
|
||||||
|
ArbitraryDataMetadataPatch patchMetadata = new ArbitraryDataMetadataPatch(finalPath);
|
||||||
|
patchMetadata.read();
|
||||||
|
assertArrayEquals(patchMetadata.getCurrentHash(), path2Digest.getHash());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user