From b21e658cd00c5c76fb61ad9f014980003ee47e79 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Fri, 28 Apr 2023 16:00:01 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20UserService=E3=82=92=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=82=BF=E3=83=BC=E3=83=95=E3=82=A7=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E3=81=AB=E6=8A=BD=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/dev/usbharu/hideout/Application.kt | 12 ++++--- .../dev/usbharu/hideout/plugins/Routing.kt | 4 +-- .../hideout/routing/RegisterRouting.kt | 4 +-- .../routing/activitypub/UserRouting.kt | 5 ++- .../routing/wellknown/WebfingerRouting.kt | 4 +-- .../ActivityPubFollowServiceImpl.kt | 8 ++--- .../activitypub/ActivityPubNoteServiceImpl.kt | 4 +-- .../activitypub/ActivityPubUserServiceImpl.kt | 4 +-- .../hideout/service/impl/IUserService.kt | 33 +++++++++++++++++++ .../hideout/service/impl/UserService.kt | 29 ++++++++-------- .../hideout/plugins/ActivityPubKtTest.kt | 16 +++++++-- .../usbharu/hideout/plugins/KtorKeyMapTest.kt | 11 ++++++- .../routing/activitypub/InboxRoutingKtTest.kt | 5 +-- .../routing/activitypub/UsersAPTest.kt | 3 +- .../ActivityPubFollowServiceImplTest.kt | 6 ++-- .../ActivityPubNoteServiceImplTest.kt | 4 +-- 16 files changed, 106 insertions(+), 46 deletions(-) create mode 100644 src/main/kotlin/dev/usbharu/hideout/service/impl/IUserService.kt diff --git a/src/main/kotlin/dev/usbharu/hideout/Application.kt b/src/main/kotlin/dev/usbharu/hideout/Application.kt index baeec6e5..3fe5d5a1 100644 --- a/src/main/kotlin/dev/usbharu/hideout/Application.kt +++ b/src/main/kotlin/dev/usbharu/hideout/Application.kt @@ -8,13 +8,17 @@ import dev.usbharu.hideout.config.ConfigData import dev.usbharu.hideout.domain.model.job.DeliverPostJob import dev.usbharu.hideout.domain.model.job.ReceiveFollowJob import dev.usbharu.hideout.plugins.* -import dev.usbharu.hideout.repository.* +import dev.usbharu.hideout.repository.IPostRepository +import dev.usbharu.hideout.repository.IUserRepository +import dev.usbharu.hideout.repository.PostRepositoryImpl +import dev.usbharu.hideout.repository.UserRepository import dev.usbharu.hideout.routing.register import dev.usbharu.hideout.service.IPostService import dev.usbharu.hideout.service.IUserAuthService import dev.usbharu.hideout.service.IdGenerateService import dev.usbharu.hideout.service.TwitterSnowflakeIdGenerateService import dev.usbharu.hideout.service.activitypub.* +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.impl.PostService import dev.usbharu.hideout.service.impl.UserAuthService import dev.usbharu.hideout.service.impl.UserService @@ -79,7 +83,7 @@ fun Application.parent() { } single { ActivityPubFollowServiceImpl(get(), get(), get(), get()) } single { ActivityPubServiceImpl(get(), get()) } - single { UserService(get(),get()) } + single { UserService(get(),get()) } single { ActivityPubUserServiceImpl(get(), get()) } single { ActivityPubNoteServiceImpl(get(), get(), get()) } single { PostService(get(), get()) } @@ -93,11 +97,11 @@ fun Application.parent() { configureStaticRouting() configureMonitoring() configureSerialization() - register(inject().value) + register(inject().value) configureRouting( inject().value, inject().value, - inject().value, + inject().value, inject().value, inject().value ) diff --git a/src/main/kotlin/dev/usbharu/hideout/plugins/Routing.kt b/src/main/kotlin/dev/usbharu/hideout/plugins/Routing.kt index 8ae17d25..f6bebf53 100644 --- a/src/main/kotlin/dev/usbharu/hideout/plugins/Routing.kt +++ b/src/main/kotlin/dev/usbharu/hideout/plugins/Routing.kt @@ -8,7 +8,7 @@ import dev.usbharu.hideout.routing.wellknown.webfinger import dev.usbharu.hideout.service.IPostService import dev.usbharu.hideout.service.activitypub.ActivityPubService import dev.usbharu.hideout.service.activitypub.ActivityPubUserService -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.signature.HttpSignatureVerifyService import io.ktor.server.application.* import io.ktor.server.plugins.autohead.* @@ -17,7 +17,7 @@ import io.ktor.server.routing.* fun Application.configureRouting( httpSignatureVerifyService: HttpSignatureVerifyService, activityPubService: ActivityPubService, - userService: UserService, + userService: IUserService, activityPubUserService: ActivityPubUserService, postService: IPostService ) { diff --git a/src/main/kotlin/dev/usbharu/hideout/routing/RegisterRouting.kt b/src/main/kotlin/dev/usbharu/hideout/routing/RegisterRouting.kt index b0e2f47e..c20221cc 100644 --- a/src/main/kotlin/dev/usbharu/hideout/routing/RegisterRouting.kt +++ b/src/main/kotlin/dev/usbharu/hideout/routing/RegisterRouting.kt @@ -1,7 +1,7 @@ package dev.usbharu.hideout.routing import dev.usbharu.hideout.domain.model.hideout.dto.UserCreateDto -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import io.ktor.http.* import io.ktor.server.application.* import io.ktor.server.auth.* @@ -9,7 +9,7 @@ import io.ktor.server.request.* import io.ktor.server.response.* import io.ktor.server.routing.* -fun Application.register(userService: UserService) { +fun Application.register(userService: IUserService) { routing { get("/register") { diff --git a/src/main/kotlin/dev/usbharu/hideout/routing/activitypub/UserRouting.kt b/src/main/kotlin/dev/usbharu/hideout/routing/activitypub/UserRouting.kt index d25fca2a..95b22635 100644 --- a/src/main/kotlin/dev/usbharu/hideout/routing/activitypub/UserRouting.kt +++ b/src/main/kotlin/dev/usbharu/hideout/routing/activitypub/UserRouting.kt @@ -1,10 +1,9 @@ package dev.usbharu.hideout.routing.activitypub -import dev.usbharu.hideout.config.Config import dev.usbharu.hideout.exception.ParameterNotExistException import dev.usbharu.hideout.plugins.respondAp import dev.usbharu.hideout.service.activitypub.ActivityPubUserService -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.util.HttpUtil.Activity import dev.usbharu.hideout.util.HttpUtil.JsonLd import io.ktor.http.* @@ -13,7 +12,7 @@ import io.ktor.server.request.* import io.ktor.server.response.* import io.ktor.server.routing.* -fun Routing.usersAP(activityPubUserService: ActivityPubUserService, userService: UserService) { +fun Routing.usersAP(activityPubUserService: ActivityPubUserService, userService: IUserService) { route("/users/{name}") { createChild(ContentTypeRouteSelector(ContentType.Application.Activity, ContentType.Application.JsonLd)).handle { val name = diff --git a/src/main/kotlin/dev/usbharu/hideout/routing/wellknown/WebfingerRouting.kt b/src/main/kotlin/dev/usbharu/hideout/routing/wellknown/WebfingerRouting.kt index 36948523..411e3095 100644 --- a/src/main/kotlin/dev/usbharu/hideout/routing/wellknown/WebfingerRouting.kt +++ b/src/main/kotlin/dev/usbharu/hideout/routing/wellknown/WebfingerRouting.kt @@ -4,14 +4,14 @@ import dev.usbharu.hideout.config.Config import dev.usbharu.hideout.domain.model.wellknown.WebFinger import dev.usbharu.hideout.exception.IllegalParameterException import dev.usbharu.hideout.exception.ParameterNotExistException -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.util.HttpUtil.Activity import io.ktor.http.* import io.ktor.server.application.* import io.ktor.server.response.* import io.ktor.server.routing.* -fun Routing.webfinger(userService:UserService){ +fun Routing.webfinger(userService: IUserService){ route("/.well-known/webfinger"){ get { val acct = call.request.queryParameters["resource"]?.decodeURLPart() diff --git a/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImpl.kt index b734aba1..fcd94662 100644 --- a/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImpl.kt +++ b/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImpl.kt @@ -1,14 +1,14 @@ package dev.usbharu.hideout.service.activitypub import com.fasterxml.jackson.module.kotlin.readValue -import dev.usbharu.hideout.domain.model.ap.Accept -import dev.usbharu.hideout.domain.model.ap.Follow import dev.usbharu.hideout.config.Config import dev.usbharu.hideout.domain.model.ActivityPubResponse import dev.usbharu.hideout.domain.model.ActivityPubStringResponse +import dev.usbharu.hideout.domain.model.ap.Accept +import dev.usbharu.hideout.domain.model.ap.Follow import dev.usbharu.hideout.domain.model.job.ReceiveFollowJob import dev.usbharu.hideout.plugins.postAp -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.job.JobQueueParentService import io.ktor.client.* import io.ktor.http.* @@ -17,7 +17,7 @@ import kjob.core.job.JobProps class ActivityPubFollowServiceImpl( private val jobQueueParentService: JobQueueParentService, private val activityPubUserService: ActivityPubUserService, - private val userService: UserService, + private val userService: IUserService, private val httpClient: HttpClient ) : ActivityPubFollowService { override suspend fun receiveFollow(follow: Follow): ActivityPubResponse { diff --git a/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImpl.kt index 445e5a48..f9b4702c 100644 --- a/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImpl.kt +++ b/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImpl.kt @@ -7,7 +7,7 @@ import dev.usbharu.hideout.domain.model.ap.Create import dev.usbharu.hideout.domain.model.ap.Note import dev.usbharu.hideout.domain.model.job.DeliverPostJob import dev.usbharu.hideout.plugins.postAp -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.job.JobQueueParentService import io.ktor.client.* import kjob.core.job.JobProps @@ -17,7 +17,7 @@ import java.time.Instant class ActivityPubNoteServiceImpl( private val httpClient: HttpClient, private val jobQueueParentService: JobQueueParentService, - private val userService: UserService + private val userService: IUserService ) : ActivityPubNoteService { private val logger = LoggerFactory.getLogger(this::class.java) diff --git a/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubUserServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubUserServiceImpl.kt index 318cff08..4aca8b88 100644 --- a/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubUserServiceImpl.kt +++ b/src/main/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubUserServiceImpl.kt @@ -8,7 +8,7 @@ import dev.usbharu.hideout.domain.model.ap.Person import dev.usbharu.hideout.domain.model.hideout.dto.RemoteUserCreateDto import dev.usbharu.hideout.exception.UserNotFoundException import dev.usbharu.hideout.exception.ap.IllegalActivityPubObjectException -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.util.HttpUtil.Activity import io.ktor.client.* import io.ktor.client.request.* @@ -17,7 +17,7 @@ import io.ktor.http.* import org.slf4j.LoggerFactory class ActivityPubUserServiceImpl( - private val userService: UserService, + private val userService: IUserService, private val httpClient: HttpClient ) : ActivityPubUserService { diff --git a/src/main/kotlin/dev/usbharu/hideout/service/impl/IUserService.kt b/src/main/kotlin/dev/usbharu/hideout/service/impl/IUserService.kt new file mode 100644 index 00000000..b41f31fd --- /dev/null +++ b/src/main/kotlin/dev/usbharu/hideout/service/impl/IUserService.kt @@ -0,0 +1,33 @@ +package dev.usbharu.hideout.service.impl + +import dev.usbharu.hideout.domain.model.hideout.dto.RemoteUserCreateDto +import dev.usbharu.hideout.domain.model.hideout.dto.UserCreateDto +import dev.usbharu.hideout.domain.model.hideout.entity.User + +interface IUserService { + suspend fun findAll(limit: Int? = 100, offset: Long? = 0): List + + suspend fun findById(id: Long): User + + suspend fun findByIds(ids: List): List + + suspend fun findByName(name: String): List + + suspend fun findByNameLocalUser(name: String): User + + suspend fun findByNameAndDomains(names: List>): List + + suspend fun findByUrl(url: String): User + + suspend fun findByUrls(urls: List): List + + suspend fun usernameAlreadyUse(username: String): Boolean + + suspend fun createLocalUser(user: UserCreateDto): User + + suspend fun createRemoteUser(user: RemoteUserCreateDto): User + + suspend fun findFollowersById(id: Long): List + + suspend fun addFollowers(id: Long, follower: Long) +} diff --git a/src/main/kotlin/dev/usbharu/hideout/service/impl/UserService.kt b/src/main/kotlin/dev/usbharu/hideout/service/impl/UserService.kt index 8e0f0f06..560eaebf 100644 --- a/src/main/kotlin/dev/usbharu/hideout/service/impl/UserService.kt +++ b/src/main/kotlin/dev/usbharu/hideout/service/impl/UserService.kt @@ -10,10 +10,11 @@ import dev.usbharu.hideout.service.IUserAuthService import java.lang.Integer.min import java.time.Instant -class UserService(private val userRepository: IUserRepository, private val userAuthService: IUserAuthService) { +class UserService(private val userRepository: IUserRepository, private val userAuthService: IUserAuthService) : + IUserService { private val maxLimit = 100 - suspend fun findAll(limit: Int? = maxLimit, offset: Long? = 0): List { + override suspend fun findAll(limit: Int?, offset: Long?): List { return userRepository.findAllByLimitAndByOffset( min(limit ?: maxLimit, maxLimit), @@ -21,41 +22,41 @@ class UserService(private val userRepository: IUserRepository, private val userA ) } - suspend fun findById(id: Long): User { + override suspend fun findById(id: Long): User { return userRepository.findById(id) ?: throw UserNotFoundException("$id was not found.") } - suspend fun findByIds(ids: List): List { + override suspend fun findByIds(ids: List): List { return userRepository.findByIds(ids) } - suspend fun findByName(name: String): List { + override suspend fun findByName(name: String): List { return userRepository.findByName(name) } - suspend fun findByNameLocalUser(name: String): User { + override suspend fun findByNameLocalUser(name: String): User { return userRepository.findByNameAndDomain(name, Config.configData.domain) ?: throw UserNotFoundException("$name was not found.") } - suspend fun findByNameAndDomains(names: List>): List { + override suspend fun findByNameAndDomains(names: List>): List { return userRepository.findByNameAndDomains(names) } - suspend fun findByUrl(url: String): User { + override suspend fun findByUrl(url: String): User { return userRepository.findByUrl(url) ?: throw UserNotFoundException("$url was not found.") } - suspend fun findByUrls(urls: List): List { + override suspend fun findByUrls(urls: List): List { return userRepository.findByUrls(urls) } - suspend fun usernameAlreadyUse(username: String): Boolean { + override suspend fun usernameAlreadyUse(username: String): Boolean { val findByNameAndDomain = userRepository.findByNameAndDomain(username, Config.configData.domain) return findByNameAndDomain != null } - suspend fun createLocalUser(user: UserCreateDto): User { + override suspend fun createLocalUser(user: UserCreateDto): User { val nextId = userRepository.nextId() val HashedPassword = userAuthService.hash(user.password) val keyPair = userAuthService.generateKeyPair() @@ -76,7 +77,7 @@ class UserService(private val userRepository: IUserRepository, private val userA return userRepository.save(userEntity) } - suspend fun createRemoteUser(user: RemoteUserCreateDto): User { + override suspend fun createRemoteUser(user: RemoteUserCreateDto): User { val nextId = userRepository.nextId() val userEntity = User( id = nextId, @@ -93,11 +94,11 @@ class UserService(private val userRepository: IUserRepository, private val userA return userRepository.save(userEntity) } - suspend fun findFollowersById(id: Long): List { + override suspend fun findFollowersById(id: Long): List { return userRepository.findFollowersById(id) } - suspend fun addFollowers(id: Long, follower: Long) { + override suspend fun addFollowers(id: Long, follower: Long) { return userRepository.createFollower(id, follower) } diff --git a/src/test/kotlin/dev/usbharu/hideout/plugins/ActivityPubKtTest.kt b/src/test/kotlin/dev/usbharu/hideout/plugins/ActivityPubKtTest.kt index de740d9a..63ff36cf 100644 --- a/src/test/kotlin/dev/usbharu/hideout/plugins/ActivityPubKtTest.kt +++ b/src/test/kotlin/dev/usbharu/hideout/plugins/ActivityPubKtTest.kt @@ -1,7 +1,7 @@ package dev.usbharu.hideout.plugins -import dev.usbharu.hideout.domain.model.hideout.entity.User import dev.usbharu.hideout.domain.model.ap.JsonLd +import dev.usbharu.hideout.domain.model.hideout.entity.User import dev.usbharu.hideout.repository.IUserRepository import dev.usbharu.hideout.service.impl.toPem import io.ktor.client.* @@ -29,7 +29,11 @@ class ActivityPubKtTest { TODO("Not yet implemented") } - override suspend fun findByName(name: String): User { + override suspend fun findByName(name: String): List { + TODO() + } + + override suspend fun findByNameAndDomain(name: String, domain: String): User? { val keyPairGenerator = KeyPairGenerator.getInstance("RSA") keyPairGenerator.initialize(1024) val generateKeyPair = keyPairGenerator.generateKeyPair() @@ -49,6 +53,10 @@ class ActivityPubKtTest { ) } + override suspend fun findByDomain(domain: String): List { + TODO("Not yet implemented") + } + override suspend fun findByNameAndDomains(names: List>): List { TODO("Not yet implemented") } @@ -85,6 +93,10 @@ class ActivityPubKtTest { TODO("Not yet implemented") } + override suspend fun nextId(): Long { + TODO("Not yet implemented") + } + }) val httpClient = HttpClient(MockEngine { httpRequestData -> diff --git a/src/test/kotlin/dev/usbharu/hideout/plugins/KtorKeyMapTest.kt b/src/test/kotlin/dev/usbharu/hideout/plugins/KtorKeyMapTest.kt index 331e7b5e..ad462b04 100644 --- a/src/test/kotlin/dev/usbharu/hideout/plugins/KtorKeyMapTest.kt +++ b/src/test/kotlin/dev/usbharu/hideout/plugins/KtorKeyMapTest.kt @@ -24,7 +24,11 @@ class KtorKeyMapTest { TODO("Not yet implemented") } - override suspend fun findByName(name: String): User { + override suspend fun findByName(name: String): List { + TODO() + } + + override suspend fun findByNameAndDomain(name: String, domain: String): User? { val keyPairGenerator = KeyPairGenerator.getInstance("RSA") keyPairGenerator.initialize(1024) val generateKeyPair = keyPairGenerator.generateKeyPair() @@ -42,6 +46,11 @@ class KtorKeyMapTest { generateKeyPair.private.toPem(), createdAt = Instant.now() ) + + } + + override suspend fun findByDomain(domain: String): List { + TODO("Not yet implemented") } override suspend fun findByNameAndDomains(names: List>): List { diff --git a/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/InboxRoutingKtTest.kt b/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/InboxRoutingKtTest.kt index 5fa97051..94ee5880 100644 --- a/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/InboxRoutingKtTest.kt +++ b/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/InboxRoutingKtTest.kt @@ -6,6 +6,7 @@ import dev.usbharu.hideout.plugins.configureSerialization import dev.usbharu.hideout.plugins.configureStatusPages import dev.usbharu.hideout.service.activitypub.ActivityPubService import dev.usbharu.hideout.service.activitypub.ActivityPubUserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.impl.UserService import dev.usbharu.hideout.service.signature.HttpSignatureVerifyService import io.ktor.client.request.* @@ -45,7 +46,7 @@ class InboxRoutingKtTest { val activityPubService = mock{ on { parseActivity(any()) } doThrow JsonParseException() } - val userService = mock() + val userService = mock() val activityPubUserService = mock() application { configureStatusPages() @@ -82,7 +83,7 @@ class InboxRoutingKtTest { val activityPubService = mock{ on { parseActivity(any()) } doThrow JsonParseException() } - val userService = mock() + val userService = mock() val activityPubUserService = mock() application { configureStatusPages() diff --git a/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/UsersAPTest.kt b/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/UsersAPTest.kt index fd537617..d4db2cff 100644 --- a/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/UsersAPTest.kt +++ b/src/test/kotlin/dev/usbharu/hideout/routing/activitypub/UsersAPTest.kt @@ -13,6 +13,7 @@ import dev.usbharu.hideout.plugins.configureRouting import dev.usbharu.hideout.plugins.configureSerialization import dev.usbharu.hideout.service.activitypub.ActivityPubService import dev.usbharu.hideout.service.activitypub.ActivityPubUserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.impl.UserService import dev.usbharu.hideout.service.signature.HttpSignatureVerifyService import dev.usbharu.hideout.util.HttpUtil.Activity @@ -62,7 +63,7 @@ class UsersAPTest { val httpSignatureVerifyService = mock {} val activityPubService = mock {} - val userService = mock {} + val userService = mock {} val activityPubUserService = mock { onBlocking { getPersonByName(anyString()) } doReturn person diff --git a/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImplTest.kt index c50749f1..e37652dd 100644 --- a/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImplTest.kt +++ b/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubFollowServiceImplTest.kt @@ -6,10 +6,10 @@ package dev.usbharu.hideout.service.activitypub import com.fasterxml.jackson.module.kotlin.readValue import dev.usbharu.hideout.config.Config import dev.usbharu.hideout.config.ConfigData -import dev.usbharu.hideout.domain.model.hideout.entity.User import dev.usbharu.hideout.domain.model.ap.* +import dev.usbharu.hideout.domain.model.hideout.entity.User import dev.usbharu.hideout.domain.model.job.ReceiveFollowJob -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.job.JobQueueParentService import io.ktor.client.* import io.ktor.client.engine.mock.* @@ -87,7 +87,7 @@ class ActivityPubFollowServiceImplTest { val activityPubUserService = mock { onBlocking { fetchPerson(anyString()) } doReturn person } - val userService = mock { + val userService = mock { onBlocking { findByUrls(any()) } doReturn listOf( User( id = 1L, diff --git a/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImplTest.kt index a0a85f3c..bb15ffde 100644 --- a/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImplTest.kt +++ b/src/test/kotlin/dev/usbharu/hideout/service/activitypub/ActivityPubNoteServiceImplTest.kt @@ -8,7 +8,7 @@ import dev.usbharu.hideout.config.ConfigData import dev.usbharu.hideout.domain.model.PostEntity import dev.usbharu.hideout.domain.model.hideout.entity.User import dev.usbharu.hideout.domain.model.job.DeliverPostJob -import dev.usbharu.hideout.service.impl.UserService +import dev.usbharu.hideout.service.impl.IUserService import dev.usbharu.hideout.service.job.JobQueueParentService import io.ktor.client.* import io.ktor.client.engine.mock.* @@ -54,7 +54,7 @@ class ActivityPubNoteServiceImplTest { createdAt = Instant.now() ) ) - val userService = mock { + val userService = mock { onBlocking { findById(eq(1L)) } doReturn User( 1L, "test",