OXYGENHUB
# db00632a61d6 oxygenhub-android / app / src / test / java / io / oxygenhub / android / Fixtures.kt
989 B · last changed The hub's API and device sign-in, the token in the Keystore (refs #2) 11 days ago source blame history raw
1
package io.oxygenhub.android
2
3
import io.oxygenhub.android.api.HubJson
4
import io.oxygenhub.android.api.Inbox
5
import io.oxygenhub.android.api.Issue
6
import io.oxygenhub.android.api.Repository
7
import io.oxygenhub.android.api.User
8
import kotlinx.serialization.builtins.ListSerializer
9
10
/** The JSON fixtures under src/test/resources/fixtures, written from oxygenhub's hub-api types. */
11
object Fixtures {
12
    fun text(name: String): String =
13
        requireNotNull(Fixtures::class.java.classLoader!!.getResource("fixtures/$name")) { "no fixture $name" }.readText()
14
15
    val user: User get() = HubJson.decodeFromString(User.serializer(), text("user.json"))
16
    val repos: List<Repository> get() = HubJson.decodeFromString(ListSerializer(Repository.serializer()), text("repos.json"))
17
    val issues: List<Issue> get() = HubJson.decodeFromString(ListSerializer(Issue.serializer()), text("issues.json"))
18
    val inbox: Inbox get() = HubJson.decodeFromString(Inbox.serializer(), text("inbox.json"))
19
}