diff --git a/core/java/test/junit/net/i2p/util/ConvertToHashTest.java b/core/java/test/junit/net/i2p/util/ConvertToHashTest.java new file mode 100644 index 0000000000000000000000000000000000000000..dd037941a01246e5d3559bf145c9202d108fb102 --- /dev/null +++ b/core/java/test/junit/net/i2p/util/ConvertToHashTest.java @@ -0,0 +1,69 @@ +package net.i2p.util; + +import net.i2p.data.Hash; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class ConvertToHashTest { + private static final String zzzDotI2pBase32Hash = "lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua"; + private static final String zzzDotI2pBase64Hash = "WcI~uSICHFCVVPoufn4J7v5u~1lhxi45C60Nm43jMeg="; + private static final String zzzDotI2pBase64Dest = "GKapJ8koUcBj~jmQzHsTYxDg2tpfWj0xjQTzd8BhfC9c3OS5fwPBNajgF-eOD6eCjFTqTlorlh7Hnd8kXj1qblUGXT-tDoR9~YV8dmXl51cJn9MVTRrEqRWSJVXbUUz9t5Po6Xa247Vr0sJn27R4KoKP8QVj1GuH6dB3b6wTPbOamC3dkO18vkQkfZWUdRMDXk0d8AdjB0E0864nOT~J9Fpnd2pQE5uoFT6P0DqtQR2jsFvf9ME61aqLvKPPWpkgdn4z6Zkm-NJOcDz2Nv8Si7hli94E9SghMYRsdjU-knObKvxiagn84FIwcOpepxuG~kFXdD5NfsH0v6Uri3usE3XWD7Pw6P8qVYF39jUIq4OiNMwPnNYzy2N4mDMQdsdHO3LUVh~DEppOy9AAmEoHDjjJxt2BFBbGxfdpZCpENkwvmZeYUyNCCzASqTOOlNzdpne8cuesn3NDXIpNnqEE6Oe5Qm5YOJykrX~Vx~cFFT3QzDGkIjjxlFBsjUJyYkFjBQAEAAcAAA=="; + + + @Test + public void getHashNullPeer() { + assertNull(ConvertToHash.getHash(null)); + } + + @Test + public void getHashB64() { + Hash hash = ConvertToHash.getHash(zzzDotI2pBase64Hash); + assertNotNull(hash); + assertEquals(hash.toBase64(), zzzDotI2pBase64Hash); + } + + @Test + public void getHashB64DotI2P() { + Hash hash = ConvertToHash.getHash(zzzDotI2pBase64Hash + ".i2p"); + assertNotNull(hash); + assertEquals(hash.toBase64(), zzzDotI2pBase64Hash); + } + + @Test + public void getHashDestinationB64() { + Hash hash = ConvertToHash.getHash(zzzDotI2pBase64Dest); + assertNotNull(hash); + assertEquals(hash.toBase64(), zzzDotI2pBase64Hash); + } + + @Test + public void getHashDestinationB64DotI2P() { + Hash hash = ConvertToHash.getHash(zzzDotI2pBase64Dest + ".i2p"); + assertNotNull(hash); + assertEquals(hash.toBase64(), zzzDotI2pBase64Hash); + } + + @Test + public void getHashB32() { + Hash hash = ConvertToHash.getHash(zzzDotI2pBase32Hash); + assertNotNull(hash); + assertEquals(hash.toBase32(), zzzDotI2pBase32Hash + ".b32.i2p"); + } + + @Test + public void getHashB32DotI2P() { + String zzzB32I2P = zzzDotI2pBase32Hash + ".b32.i2p"; + Hash hash = ConvertToHash.getHash(zzzB32I2P); + assertNotNull(hash); + assertEquals(hash.toBase32(), zzzB32I2P); + } + + /** + * The case where a destination cannot be resolved at all + */ + @Test + public void getHashResolveDestinationFail() { + assertNull(ConvertToHash.getHash("unknown.i2p")); + } +}