X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Ftest%2FMocks.kt;h=16e9b8d61adf70ec1d956328d7699b922fa6f729;hb=a4211e5d0529ce01d9fd3ec7145a594dc5d7cbb7;hp=0bb8bc9ebfe1e9a19c8a922326bf4162a0707adb;hpb=6116ab8aa248eab6a4d800f991e749debc496df9;p=Sone.git diff --git a/src/test/kotlin/net/pterodactylus/sone/test/Mocks.kt b/src/test/kotlin/net/pterodactylus/sone/test/Mocks.kt index 0bb8bc9..16e9b8d 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,13 +17,18 @@ 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.impl.* -import net.pterodactylus.sone.text.* -import net.pterodactylus.sone.utils.* +import com.google.common.base.Optional +import freenet.crypt.DummyRandomSource +import freenet.keys.FreenetURI +import freenet.keys.InsertableClientSSK +import net.pterodactylus.sone.data.Image +import net.pterodactylus.sone.data.Post +import net.pterodactylus.sone.data.PostReply +import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.data.SoneOptions.DefaultSoneOptions +import net.pterodactylus.sone.data.impl.IdOnlySone +import net.pterodactylus.sone.data.impl.ImageImpl +import net.pterodactylus.sone.utils.asFreenetBase64 val remoteSone1 = createRemoteSone() val remoteSone2 = createRemoteSone() @@ -31,28 +36,36 @@ 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) { +fun createLocalSone(id: String? = createId()): Sone = 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): Post.EmptyPost { +fun createRemoteSone(id: String? = createId()): Sone = IdOnlySone(id) + +fun createPost(text: String = "", sone: Sone = remoteSone1, known: Boolean = false, time: Long = 1): Post { 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) = object : PostReply { +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.of(post) - override fun getTime() = 1L + override fun getPostId() = post!!.id + override fun getPost(): Optional = Optional.fromNullable(post) + override fun getTime() = time override fun getText() = text override fun isKnown() = known - override fun setKnown(known: Boolean): PostReply = this } + +fun createImage(sone: Sone): Image = + ImageImpl().modify().setSone(sone).update()