Fix FeverDataSource tests

This commit is contained in:
Shinokuni 2024-08-07 15:01:38 +02:00
parent 89c4dfad1a
commit ba964ccce2
1 changed files with 20 additions and 24 deletions

View File

@ -1,19 +1,15 @@
package com.readrops.api.services.fever.adapters
package com.readrops.api.services.fever
import com.readrops.api.TestUtils
import com.readrops.api.apiModule
import com.readrops.api.services.fever.FeverCredentials
import com.readrops.api.services.fever.FeverDataSource
import com.readrops.api.utils.ApiUtils
import com.readrops.api.utils.AuthInterceptor
import com.readrops.api.utils.exceptions.LoginFailedException
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.test.runTest
import okhttp3.OkHttpClient
import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import okio.Buffer
import org.junit.After
import org.junit.Assert.assertThrows
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@ -24,6 +20,8 @@ import org.koin.test.KoinTestRule
import org.koin.test.get
import java.net.HttpURLConnection
import java.util.concurrent.TimeUnit
import kotlin.test.assertFalse
import kotlin.test.assertTrue
class FeverDataSourceTest : KoinTest {
@ -49,40 +47,38 @@ class FeverDataSourceTest : KoinTest {
modules(apiModule, module {
single {
OkHttpClient.Builder()
.callTimeout(1, TimeUnit.MINUTES)
.readTimeout(1, TimeUnit.HOURS)
.addInterceptor(get<AuthInterceptor>())
.build()
.callTimeout(1, TimeUnit.MINUTES)
.readTimeout(1, TimeUnit.HOURS)
.addInterceptor(get<AuthInterceptor>())
.build()
}
})
}
@Test
fun loginSuccessfulTest() {
fun loginSuccessfulTest() = runTest {
val stream = TestUtils.loadResource("services/fever/successful_auth.json")
mockServer.enqueue(MockResponse().setResponseCode(HttpURLConnection.HTTP_OK)
mockServer.enqueue(
MockResponse().setResponseCode(HttpURLConnection.HTTP_OK)
.addHeader(ApiUtils.CONTENT_TYPE_HEADER, "application/json")
.setBody(Buffer().readFrom(stream)))
.setBody(Buffer().readFrom(stream))
)
runBlocking {
dataSource.login("","")
}
assertTrue { dataSource.login("", "") }
}
@Test
fun loginFailedTest() {
fun loginFailedTest() = runTest {
val stream = TestUtils.loadResource("services/fever/failed_auth.json")
mockServer.enqueue(MockResponse().setResponseCode(HttpURLConnection.HTTP_OK)
mockServer.enqueue(
MockResponse().setResponseCode(HttpURLConnection.HTTP_OK)
.addHeader(ApiUtils.CONTENT_TYPE_HEADER, "application/json")
.setBody(Buffer().readFrom(stream)))
.setBody(Buffer().readFrom(stream))
)
assertThrows(LoginFailedException::class.java) {
runBlocking {
dataSource.login("","")
}
}
assertFalse { dataSource.login("", "") }
}
}