1 package net.pterodactylus.sone.core
3 import net.pterodactylus.sone.data.impl.IdOnlySone
4 import net.pterodactylus.sone.freenet.wot.DefaultIdentity
5 import net.pterodactylus.sone.freenet.wot.DefaultOwnIdentity
6 import net.pterodactylus.sone.test.createInsertUri
7 import net.pterodactylus.sone.test.createRequestUri
8 import org.hamcrest.MatcherAssert.assertThat
9 import org.hamcrest.Matchers.emptyArray
10 import org.hamcrest.Matchers.equalTo
11 import org.hamcrest.Matchers.nullValue
12 import kotlin.test.Test
15 * Unit test for [SoneUriCreator].
17 class SoneUriCreatorTest {
19 private val soneUriCreator = SoneUriCreator()
21 private val requestUri = soneUriCreator.getRequestUri(sone)
22 private val insertUri = soneUriCreator.getInsertUri(sone)
25 fun `generated request URI is a USK`() {
26 assertThat(requestUri.keyType, equalTo("USK"))
30 fun `generated request URI has correct doc name`() {
31 assertThat(requestUri.docName, equalTo("Sone"))
35 fun `generated request URI has no meta strings`() {
36 assertThat(requestUri.allMetaStrings, emptyArray())
40 fun `generated request URI has correct edition`() {
41 assertThat(requestUri.suggestedEdition, equalTo(123L))
45 fun `insert URI is null if sone’s identity is not an own identity`() {
46 val remoteSone = object : IdOnlySone("id") {
47 override fun getIdentity() = DefaultIdentity("id", "name", createRequestUri.toString())
49 assertThat(soneUriCreator.getInsertUri(remoteSone), nullValue())
53 fun `generated insert URI is a USK`() {
54 assertThat(insertUri!!.keyType, equalTo("USK"))
58 fun `generated insert URI has correct doc name`() {
59 assertThat(insertUri!!.docName, equalTo("Sone"))
63 fun `generated insert URI has no meta strings`() {
64 assertThat(insertUri!!.allMetaStrings, emptyArray())
68 fun `generated insert URI has correct edition`() {
69 assertThat(insertUri!!.suggestedEdition, equalTo(123L))
74 private val sone = object : IdOnlySone("id") {
75 override fun getIdentity() =
76 DefaultOwnIdentity("id", "name", createRequestUri.toString(), createInsertUri.toString())
78 override fun getLatestEdition() = 123L