Reuse OkHttp instance

This commit is contained in:
Kirill Kamakin
2021-11-20 22:23:51 +03:00
parent a6e948ca6b
commit dd9c302729
7 changed files with 63 additions and 33 deletions

View File

@@ -2,8 +2,10 @@ package gq.kirmanak.mealient.data.impl
import com.google.common.truth.Truth.assertThat
import dagger.hilt.android.testing.HiltAndroidTest
import gq.kirmanak.mealient.data.auth.AuthStorage
import gq.kirmanak.mealient.data.auth.impl.AUTHORIZATION_HEADER
import gq.kirmanak.mealient.test.AuthImplTestData.TEST_TOKEN
import gq.kirmanak.mealient.test.AuthImplTestData.TEST_URL
import gq.kirmanak.mealient.test.MockServerTest
import okhttp3.OkHttpClient
import okhttp3.Request
@@ -17,16 +19,20 @@ class OkHttpBuilderTest : MockServerTest() {
@Inject
lateinit var subject: OkHttpBuilder
@Inject
lateinit var authStorage: AuthStorage
@Test
fun `when token null then no auth header`() {
val client = subject.buildOkHttp(null)
val client = subject.buildOkHttp()
val header = sendRequestAndExtractAuthHeader(client)
assertThat(header).isNull()
}
@Test
fun `when token isn't null then auth header contains token`() {
val client = subject.buildOkHttp(TEST_TOKEN)
authStorage.storeAuthData(TEST_TOKEN, TEST_URL)
val client = subject.buildOkHttp()
val header = sendRequestAndExtractAuthHeader(client)
assertThat(header).isEqualTo("Bearer $TEST_TOKEN")
}