Add method to PushMessageProviderService interface

This commit is contained in:
Artyom 2022-08-16 13:35:29 +03:00
parent ac9cac3049
commit b15ea97aac
5 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,5 @@
package ru.touchin.push.message.provider.dto.request
data class PushTokenCheck(
val pushToken: String
)

View File

@ -0,0 +1,7 @@
package ru.touchin.push.message.provider.dto.result
import ru.touchin.push.message.provider.enums.PushTokenStatus
data class CheckPushTokenResult(
val status: PushTokenStatus
)

View File

@ -0,0 +1,14 @@
package ru.touchin.push.message.provider.enums
enum class PushTokenStatus {
/** Passes [PushMessageProviderType] validation. */
VALID,
/** Not passes [PushMessageProviderType] validation: not registered or has incorrect format. */
INVALID,
/** Could not validate. */
UNKNOWN
}

View File

@ -1,6 +1,8 @@
package ru.touchin.push.message.provider.services
import ru.touchin.push.message.provider.dto.request.PushTokenCheck
import ru.touchin.push.message.provider.dto.request.SendPushRequest
import ru.touchin.push.message.provider.dto.result.CheckPushTokenResult
import ru.touchin.push.message.provider.dto.result.SendPushResult
import ru.touchin.push.message.provider.enums.PushMessageProviderType
@ -10,4 +12,6 @@ interface PushMessageProviderService {
fun send(request: SendPushRequest): SendPushResult
fun check(request: PushTokenCheck): CheckPushTokenResult
}

View File

@ -4,8 +4,9 @@ import org.junit.Assert
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.Test
import ru.touchin.common.exceptions.CommonException
import ru.touchin.push.message.provider.dto.request.PushTokenCheck
import ru.touchin.push.message.provider.dto.request.SendPushRequest
import ru.touchin.push.message.provider.dto.result.CheckPushTokenResult
import ru.touchin.push.message.provider.dto.result.SendPushResult
import ru.touchin.push.message.provider.enums.PlatformType
import ru.touchin.push.message.provider.enums.PushMessageProviderType
@ -19,6 +20,9 @@ class PushMessageProviderServiceFactoryImplTest {
override val type: PushMessageProviderType = PushMessageProviderType.FCM
override fun send(request: SendPushRequest): SendPushResult = throw NotImplementedError()
override fun check(request: PushTokenCheck): CheckPushTokenResult = throw NotImplementedError()
}
@Test
@ -73,6 +77,9 @@ class PushMessageProviderServiceFactoryImplTest {
override val type: PushMessageProviderType = PushMessageProviderType.FCM
override fun send(request: SendPushRequest): SendPushResult = throw NotImplementedError()
override fun check(request: PushTokenCheck): CheckPushTokenResult = throw NotImplementedError()
}
)
)