X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FMocks.kt;h=a25fa5da53f3186a000a8e477a1d6d21353d1d9c;hp=f469dd7a3e509bb3b3e916691dc658c76d8043b0;hb=HEAD;hpb=339671a5532a02cfbc25269b8ac3f13fc6a09295 diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Mocks.kt b/src/test/kotlin/net/pterodactylus/sone/test/Mocks.kt index f469dd7..a25fa5d 100644 --- a/src/test/kotlin/net/pterodactylus/sone/test/Mocks.kt +++ b/src/test/kotlin/net/pterodactylus/sone/test/Mocks.kt @@ -1,5 +1,5 @@ /** - * Sone - Mocks.kt - Copyright © 2019 David ‘Bombe’ Roden + * Sone - Mocks.kt - Copyright © 2019–2020 David ‘Bombe’ Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,14 +17,49 @@ package net.pterodactylus.sone.test +import com.google.common.base.* import freenet.crypt.* import freenet.keys.* +import net.pterodactylus.sone.data.* +import net.pterodactylus.sone.data.SoneOptions.* import net.pterodactylus.sone.data.impl.* import net.pterodactylus.sone.utils.* +val remoteSone1 = createRemoteSone() +val remoteSone2 = createRemoteSone() + +val localSone1 = createLocalSone() +val localSone2 = createLocalSone() + +val createRequestUri: FreenetURI get() = InsertableClientSSK.createRandom(DummyRandomSource(), "").uri +val createInsertUri: FreenetURI get() = InsertableClientSSK.createRandom(DummyRandomSource(), "").insertURI fun createId() = InsertableClientSSK.createRandom(DummyRandomSource(), "").uri.routingKey.asFreenetBase64 fun createLocalSone(id: String? = createId()) = object : IdOnlySone(id) { + private val options = DefaultSoneOptions() + override fun getOptions() = options override fun isLocal() = true } fun createRemoteSone(id: String? = createId()) = IdOnlySone(id) + +fun createPost(text: String = "", sone: Sone = remoteSone1, known: Boolean = false, time: Long = 1): Post.EmptyPost { + return object : Post.EmptyPost("post-id") { + override fun getSone() = sone + override fun getText() = text + override fun isKnown() = known + override fun getTime() = time + } +} + +fun emptyPostReply(text: String = "", post: Post? = createPost(), sone: Sone = remoteSone1, known: Boolean = false, time: Long = 1) = object : PostReply { + override val id = "reply-id" + override fun getSone() = sone + override fun getPostId() = post!!.id + override fun getPost(): Optional = Optional.fromNullable(post) + override fun getTime() = time + override fun getText() = text + override fun isKnown() = known +} + +fun createImage(sone: Sone): Image = + ImageImpl().modify().setSone(sone).update()