Add test for Push parsers.
This commit is contained in:
committed by
Benoit Marty
parent
d0fc9f23c8
commit
3c2542847c
+5
-5
@@ -41,19 +41,19 @@ import kotlinx.serialization.Serializable
|
||||
*/
|
||||
@Serializable
|
||||
data class PushDataUnifiedPush(
|
||||
val notification: PushDataUnifiedPushNotification?
|
||||
val notification: PushDataUnifiedPushNotification? = null
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class PushDataUnifiedPushNotification(
|
||||
@SerialName("event_id") val eventId: String?,
|
||||
@SerialName("room_id") val roomId: String?,
|
||||
@SerialName("counts") var counts: PushDataUnifiedPushCounts?,
|
||||
@SerialName("event_id") val eventId: String? = null,
|
||||
@SerialName("room_id") val roomId: String? = null,
|
||||
@SerialName("counts") var counts: PushDataUnifiedPushCounts? = null,
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class PushDataUnifiedPushCounts(
|
||||
@SerialName("unread") val unread: Int?
|
||||
@SerialName("unread") val unread: Int? = null
|
||||
)
|
||||
|
||||
fun PushDataUnifiedPush.toPushData() = PushData(
|
||||
|
||||
+3
-1
@@ -23,7 +23,9 @@ import kotlinx.serialization.json.Json
|
||||
import javax.inject.Inject
|
||||
|
||||
class UnifiedPushParser @Inject constructor() {
|
||||
private val json by lazy { Json { ignoreUnknownKeys = true } }
|
||||
|
||||
fun parse(message: ByteArray): PushData? {
|
||||
return tryOrNull { Json.decodeFromString<PushDataUnifiedPush>(String(message)) }?.toPushData()
|
||||
return tryOrNull { json.decodeFromString<PushDataUnifiedPush>(String(message)) }?.toPushData()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user