@@ -9,11 +9,8 @@ import com.apollographql.apollo3.mpp.currentTimeMillis
9
9
import com.apollographql.apollo3.network.http.DefaultHttpEngine
10
10
import com.apollographql.apollo3.network.http.get
11
11
import com.apollographql.apollo3.testing.internal.runTest
12
- import platform.CFNetwork.kCFErrorDomainCFNetwork
13
- import platform.CFNetwork.kCFErrorHTTPSProxyConnectionFailure
14
- import platform.Foundation.CFBridgingRelease
15
12
import platform.Foundation.NSError
16
- import platform.Foundation.NSURLErrorCannotFindHost
13
+ import platform.Foundation.NSURLErrorCannotConnectToHost
17
14
import platform.Foundation.NSURLErrorDomain
18
15
import platform.Foundation.NSURLErrorTimedOut
19
16
import kotlin.test.Test
@@ -26,7 +23,11 @@ import kotlin.test.fail
26
23
class HttpEngineTest {
27
24
@Test
28
25
fun canReadNSError () = runTest {
29
- val apolloClient = ApolloClient .Builder ().serverUrl(" https://inexistent.host/graphql" ).build()
26
+ /* *
27
+ * Try to trigger an error wihtout having to wait 60s on a timeout.
28
+ * Hopefully Port 1 is closed on most machines. If that's not enough, we'd need to find an instrumented server
29
+ */
30
+ val apolloClient = ApolloClient .Builder ().serverUrl(" https://127.0.0.1:1/graphql" ).build()
30
31
31
32
val response = apolloClient.query(HeroNameQuery ()).execute()
32
33
val apolloNetworkException = response.exception
@@ -38,15 +39,8 @@ class HttpEngineTest {
38
39
// assertIs<NSError>(cause)
39
40
check(cause is NSError )
40
41
41
- assertTrue(
42
- when {
43
- // Happens locally if a proxy is running
44
- cause.domain == (CFBridgingRelease (kCFErrorDomainCFNetwork) as String ) && cause.code == kCFErrorHTTPSProxyConnectionFailure.toLong() -> true
45
- // Default case
46
- cause.domain == NSURLErrorDomain && cause.code == NSURLErrorCannotFindHost -> true
47
- else -> false
48
- }
49
- )
42
+ assertEquals(cause.domain, NSURLErrorDomain )
43
+ assertEquals(cause.code, NSURLErrorCannotConnectToHost )
50
44
}
51
45
52
46
@Test
0 commit comments