1 package net.pterodactylus.sone.freenet
4 import net.pterodactylus.sone.freenet.Key.*
5 import org.hamcrest.MatcherAssert.*
6 import org.hamcrest.Matchers.*
10 * Unit test for [Key].
14 private val uri = FreenetURI("SSK@$routingKey,$cryptoKey,$extra/some-site-12/foo/bar.html")
15 private val key: Key = from(uri)
18 fun keyCanBeCreatedFromFreenetUri() {
19 assertThat(key.routingKey, equalTo(routingKey))
20 assertThat(key.cryptoKey, equalTo(cryptoKey))
21 assertThat(key.extra, equalTo(extra))
25 fun keyCanBeConvertedToUsk() {
26 val uskUri = key.toUsk("other-site", 15, "some", "path.html")
27 assertThat(uskUri.toString(), equalTo("USK@$routingKey,$cryptoKey,$extra/other-site/15/some/path.html"))
31 fun keyCanBeConvertedToSskWithoutEdition() {
32 val uskUri = key.toSsk("other-site", "some", "path.html")
33 assertThat(uskUri.toString(), equalTo("SSK@$routingKey,$cryptoKey,$extra/other-site/some/path.html"))
37 fun keyCanBeConvertedToSskWithEdition() {
38 val uskUri = key.toSsk("other-site", 15, "some", "path.html")
39 assertThat(uskUri.toString(), equalTo("SSK@$routingKey,$cryptoKey,$extra/other-site-15/some/path.html"))
43 fun routingKeyIsExtractCorrectly() {
44 assertThat(routingKey(uri), equalTo(routingKey))
49 private const val routingKey = "NfUYvxDwU9vqb2mh-qdT~DYJ6U0XNbxMGGoLe0aCHJs"
50 private const val cryptoKey = "Miglsgix0VR56ZiPl4NgjnUd~UdrnHqIvXJ3KKHmxmI"
51 private const val extra = "AQACAAE"