Skip to content

Commit

Permalink
fix build
Browse files Browse the repository at this point in the history
  • Loading branch information
martinbonnin committed Mar 11, 2024
1 parent 4eadbc4 commit 5ea6351
Show file tree
Hide file tree
Showing 9 changed files with 32 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ fun MockServer(handler: MockServerHandler): MockServer =
@ApolloDeprecatedSince(ApolloDeprecatedSince.Version.v4_0_0)
fun MockServer.enqueue(string: String = "", delayMs: Long = 0, statusCode: Int = 200) = enqueueString(string, delayMs, statusCode)

fun MockServer.enqueueString(string: String, delayMs: Long = 0, statusCode: Int = 200, contentType: String = "text/plain") {
fun MockServer.enqueueString(string: String = "", delayMs: Long = 0, statusCode: Int = 200, contentType: String = "text/plain") {
enqueue(MockResponse.Builder()
.statusCode(statusCode)
.body(string)
Expand Down
7 changes: 4 additions & 3 deletions tests/http-cache/src/test/kotlin/HttpCacheTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.apollographql.apollo3.exception.ApolloParseException
import com.apollographql.apollo3.exception.HttpCacheMissException
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.awaitRequest
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.network.okHttpClient
import com.apollographql.apollo3.testing.enqueueData
Expand Down Expand Up @@ -88,7 +89,7 @@ class HttpCacheTest {
@Test
fun NetworkOnly() = runTest(before = { before() }, after = { tearDown() }) {
mockServer.enqueueData(data)
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)

runBlocking {
val response = apolloClient.query(GetRandomQuery()).execute()
Expand All @@ -107,7 +108,7 @@ class HttpCacheTest {
@Test
fun NetworkFirst() = runTest(before = { before() }, after = { tearDown() }) {
mockServer.enqueueData(data)
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)

runBlocking {
var response = apolloClient.query(GetRandomQuery())
Expand Down Expand Up @@ -171,7 +172,7 @@ class HttpCacheTest {
val okHttpClient = OkHttpClient.Builder().addInterceptor(interceptor).build()

val mockServer = MockServer()
mockServer.enqueueString(statusCode = 200)
mockServer.enqueueString("")
val apolloClient = ApolloClient.Builder()
.serverUrl(mockServer.url())
.okHttpClient(okHttpClient)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import com.apollographql.apollo3.api.json.writeObject
import com.apollographql.apollo3.integration.fullstack.LaunchDetailsQuery
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.awaitRequest
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.network.http.HttpNetworkTransport
import com.apollographql.apollo3.testing.internal.runTest
import okio.Buffer
Expand Down Expand Up @@ -58,7 +58,7 @@ class BodyExtensionsTest {
)
.build()

mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(LaunchDetailsQuery("42")).execute()

val request = mockServer.awaitRequest()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import com.apollographql.apollo3.integration.normalizer.HeroAndFriendsNamesQuery
import com.apollographql.apollo3.integration.normalizer.HeroNameQuery
import com.apollographql.apollo3.integration.normalizer.type.Episode
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.testing.internal.runTest
import kotlinx.coroutines.flow.toList
Expand Down Expand Up @@ -40,7 +41,7 @@ class ExceptionsTest {

@Test
fun whenHttpErrorAssertExecuteFails() = runTest(before = { setUp() }, after = { tearDown() }) {
mockServer.enqueueString(statusCode = 404)
mockServer.enqueueError(statusCode = 404)

val response = apolloClient.query(HeroNameQuery()).execute()
val exception = response.exception
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import com.apollographql.apollo3.interceptor.ApolloInterceptor
import com.apollographql.apollo3.interceptor.ApolloInterceptorChain
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.awaitRequest
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.testing.enqueue
import com.apollographql.apollo3.testing.internal.runTest
Expand Down Expand Up @@ -391,7 +392,7 @@ class FetchPolicyTest {

// Initial state: everything fails
// Cache Error + Network Error => Error
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(query).fetchPolicy(FetchPolicy.CacheAndNetwork).execute().exception.let {
assertIs<CacheMissException>(it)
assertIs<ApolloHttpException>(it.suppressedExceptions.first())
Expand All @@ -413,7 +414,7 @@ class FetchPolicyTest {
// Now cache is populated but make the network fail again
// Cache Success + Network Error => 1 response with cache value + 1 response with network exception
caught = null
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
responses = apolloClient.query(query).fetchPolicy(FetchPolicy.CacheAndNetwork).toFlow().catch { caught = it }.toList()

assertNull(caught)
Expand Down Expand Up @@ -462,7 +463,7 @@ class FetchPolicyTest {
var caught: Throwable? = null
// Initial state: everything fails
// Cache Error + Network Error => Error
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)

@Suppress("DEPRECATION")
assertFailsWith<ApolloCompositeException> {
Expand All @@ -489,7 +490,7 @@ class FetchPolicyTest {
// Now cache is populated but make the network fail again
// Cache Success + Network Error => 1 response + 1 network exception
caught = null
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
@Suppress("DEPRECATION")
responses = apolloClient.query(query).fetchPolicy(FetchPolicy.CacheAndNetwork).toFlowV3().catch { caught = it }.toList()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import com.apollographql.apollo3.exception.CacheMissException
import com.apollographql.apollo3.integration.normalizer.EpisodeHeroNameQuery
import com.apollographql.apollo3.integration.normalizer.type.Episode
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.testing.internal.runTest
import com.apollographql.apollo3.testing.receiveOrTimeout
Expand Down Expand Up @@ -50,7 +51,7 @@ class WatcherErrorHandlingTest {
val jobs = mutableListOf<Job>()

jobs += launch {
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.CacheFirst)
.watch()
Expand All @@ -69,7 +70,7 @@ class WatcherErrorHandlingTest {
}

jobs += launch {
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.NetworkFirst)
.watch()
Expand All @@ -79,7 +80,7 @@ class WatcherErrorHandlingTest {
}

jobs += launch {
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.NetworkOnly)
.watch()
Expand All @@ -89,7 +90,7 @@ class WatcherErrorHandlingTest {
}

jobs += launch {
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.CacheAndNetwork)
.watch()
Expand Down Expand Up @@ -125,7 +126,7 @@ class WatcherErrorHandlingTest {
// Due to .refetchPolicy(FetchPolicy.NetworkOnly), a subsequent call will be executed in watch()
// we enqueue an error so a network exception is emitted
mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponseNameChange.json"))
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute()

assertIs<ApolloHttpException>(channel.receiveOrTimeout().exception)
Expand All @@ -134,7 +135,7 @@ class WatcherErrorHandlingTest {

@Test
fun fetchEmitsExceptions() = runTest(before = { setUp() }, after = { tearDown() }) {
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
assertIs<CacheMissException>(
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.CacheFirst)
Expand All @@ -151,7 +152,7 @@ class WatcherErrorHandlingTest {
.exception
)

mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
assertIs<ApolloHttpException>(
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.NetworkFirst)
Expand All @@ -160,7 +161,7 @@ class WatcherErrorHandlingTest {
.exception
)

mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
assertIs<ApolloHttpException>(
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.NetworkOnly)
Expand All @@ -169,7 +170,7 @@ class WatcherErrorHandlingTest {
.exception
)

mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
assertIs<CacheMissException>(
apolloClient.query(EpisodeHeroNameQuery(Episode.EMPIRE))
.fetchPolicy(FetchPolicy.CacheAndNetwork)
Expand Down Expand Up @@ -205,7 +206,7 @@ class WatcherErrorHandlingTest {
// Due to .refetchPolicy(FetchPolicy.NetworkOnly), a subsequent call will be executed in watch()
// we enqueue an error so a network exception is emitted
mockServer.enqueueString(testFixtureToUtf8("EpisodeHeroNameResponseNameChange.json"))
mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
apolloClient.query(query).fetchPolicy(FetchPolicy.NetworkOnly).execute()

assertIs<ApolloHttpException>(channel.receiveOrTimeout().exception)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.apollographql.apollo3.api.http.HttpRequest
import com.apollographql.apollo3.api.http.HttpResponse
import com.apollographql.apollo3.integration.normalizer.HeroNameQuery
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.network.http.DefaultHttpEngine
import com.apollographql.apollo3.network.http.HttpEngine
Expand Down Expand Up @@ -41,12 +42,12 @@ class ExecutionContextTest {
.build().use { apolloClient ->

// we don't need a response
mockServer.enqueueString(statusCode = 404)
mockServer.enqueueError(statusCode = 404)
apolloClient.query(HeroNameQuery())
.addExecutionContext(MyExecutionContext("value0"))
.execute()

mockServer.enqueueString(statusCode = 404)
mockServer.enqueueError(statusCode = 404)
apolloClient.query(HeroNameQuery())
.addExecutionContext(MyExecutionContext("value1"))
.execute()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.apollographql.apollo3.ApolloClient
import com.apollographql.apollo3.integration.normalizer.HeroNameQuery
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.awaitRequest
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.network.okHttpClient
import kotlinx.coroutines.runBlocking
Expand All @@ -23,7 +24,7 @@ class OkHttpClientTest {

runBlocking {
val mockServer = MockServer()
mockServer.enqueueString(statusCode = 200)
mockServer.enqueueError(statusCode = 200)

val apolloClient = ApolloClient.Builder()
.serverUrl(mockServer.url())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import com.apollographql.apollo3.api.json.readAny
import com.apollographql.apollo3.api.json.writeObject
import com.apollographql.apollo3.mockserver.MockServer
import com.apollographql.apollo3.mockserver.awaitRequest
import com.apollographql.apollo3.mockserver.enqueueError
import com.apollographql.apollo3.mockserver.enqueueString
import com.apollographql.apollo3.network.http.HttpNetworkTransport
import com.apollographql.apollo3.testing.internal.runTest
Expand Down Expand Up @@ -64,7 +65,7 @@ class NoQueryDocumentTest {
)
.build()

mockServer.enqueueString(statusCode = 500)
mockServer.enqueueError(statusCode = 500)
kotlin.runCatching {
apolloClient.query(GetRandomQuery())
.execute()
Expand Down

0 comments on commit 5ea6351

Please sign in to comment.