import freenet.keys.InsertableClientSSK.*
import freenet.node.*
import freenet.node.RequestStarter.*
-import freenet.support.Base64
import freenet.support.api.*
import freenet.support.io.*
import net.pterodactylus.sone.core.FreenetInterface.*
import net.pterodactylus.sone.test.*
import net.pterodactylus.sone.test.Matchers.*
import net.pterodactylus.sone.test.TestUtil.*
+import net.pterodactylus.sone.utils.*
import org.hamcrest.MatcherAssert.*
import org.hamcrest.Matchers.equalTo
import org.hamcrest.Matchers.notNullValue
import org.mockito.Mockito.*
import java.io.*
import java.util.*
+import kotlin.test.Test
/**
* Unit test for [FreenetInterface].
@Before
fun setupSone() {
val insertSsk = createRandom(randomSource, "test-0")
- whenever(sone.id).thenReturn(Base64.encode(insertSsk.uri.routingKey))
+ whenever(sone.id).thenReturn(insertSsk.uri.routingKey.asFreenetBase64)
whenever(sone.requestUri).thenReturn(insertSsk.uri.uskForSSK())
}
@Before
fun setupCallbackCaptorAndUskManager() {
- doNothing().`when`(uskManager).subscribe(any(USK::class.java), callbackCaptor.capture(), anyBoolean(), any(RequestClient::class.java))
+ doNothing().whenever(uskManager).subscribe(any(USK::class.java), callbackCaptor.capture(), anyBoolean(), any(RequestClient::class.java))
}
@Test
verifyNoMoreInteractions(backgroundFetchCallback)
}
+ @Test
+ fun `unregistering a registered USK with different edition unregisters USK`() {
+ val callback = mock<Callback>()
+ val uri = createRandom(randomSource, "test-123").uri.uskForSSK()
+ freenetInterface.registerUsk(uri, callback)
+ freenetInterface.unregisterUsk(uri.setSuggestedEdition(234))
+ verify(uskManager).unsubscribe(any<USK>(), any<USKCallback>())
+ }
+
}