File tree Expand file tree Collapse file tree 8 files changed +80
-16
lines changed
app/src/test/java/com/lukaslechner/coroutineusecasesonandroid/usecases/coroutines Expand file tree Collapse file tree 8 files changed +80
-16
lines changed Original file line number Diff line number Diff line change @@ -4,12 +4,20 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.AndroidVersion
4
4
import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
5
5
import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
6
6
import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
7
- import java.io.IOException
7
+ import okhttp3.MediaType
8
+ import okhttp3.ResponseBody
9
+ import retrofit2.HttpException
10
+ import retrofit2.Response
8
11
9
12
class FakeErrorApi () : MockApi {
10
13
11
14
override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
12
- throw IOException ()
15
+ throw HttpException (
16
+ Response .error<List <AndroidVersion >>(
17
+ 500 ,
18
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
19
+ )
20
+ )
13
21
}
14
22
15
23
override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
Original file line number Diff line number Diff line change 1
1
package com.lukaslechner.coroutineusecasesonandroid.usecases.coroutines.usecase2
2
2
3
3
import com.lukaslechner.coroutineusecasesonandroid.mock.*
4
- import java.io.IOException
4
+ import okhttp3.MediaType
5
+ import okhttp3.ResponseBody
6
+ import retrofit2.HttpException
7
+ import retrofit2.Response
5
8
6
9
class FakeFeaturesErrorApi : MockApi {
7
10
@@ -13,7 +16,12 @@ class FakeFeaturesErrorApi : MockApi {
13
16
return when (apiLevel) {
14
17
27 -> mockVersionFeaturesOreo
15
18
28 -> mockVersionFeaturesPie
16
- 29 -> throw IOException ()
19
+ 29 -> throw HttpException (
20
+ Response .error<List <AndroidVersion >>(
21
+ 500 ,
22
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
23
+ )
24
+ )
17
25
else -> throw IllegalArgumentException (" apiLevel not found" )
18
26
}
19
27
}
Original file line number Diff line number Diff line change @@ -4,12 +4,20 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.AndroidVersion
4
4
import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
5
5
import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
6
6
import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
7
- import java.io.IOException
7
+ import okhttp3.MediaType
8
+ import okhttp3.ResponseBody
9
+ import retrofit2.HttpException
10
+ import retrofit2.Response
8
11
9
12
class FakeVersionsErrorApi : MockApi {
10
13
11
14
override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
12
- throw IOException ()
15
+ throw HttpException (
16
+ Response .error<List <AndroidVersion >>(
17
+ 500 ,
18
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
19
+ )
20
+ )
13
21
}
14
22
15
23
override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
Original file line number Diff line number Diff line change @@ -3,7 +3,10 @@ package com.lukaslechner.coroutineusecasesonandroid.usecases.coroutines.usecase3
3
3
import com.lukaslechner.coroutineusecasesonandroid.mock.*
4
4
import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
5
5
import kotlinx.coroutines.delay
6
- import java.io.IOException
6
+ import okhttp3.MediaType
7
+ import okhttp3.ResponseBody
8
+ import retrofit2.HttpException
9
+ import retrofit2.Response
7
10
8
11
class FakeErrorApi (private val responseDelay : Long ) : MockApi {
9
12
@@ -15,7 +18,12 @@ class FakeErrorApi(private val responseDelay: Long) : MockApi {
15
18
delay(responseDelay)
16
19
return when (apiLevel) {
17
20
27 -> mockVersionFeaturesOreo
18
- 28 -> throw IOException ()
21
+ 28 -> throw HttpException (
22
+ Response .error<List <AndroidVersion >>(
23
+ 500 ,
24
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
25
+ )
26
+ )
19
27
29 -> mockVersionFeaturesAndroid10
20
28
else -> throw IllegalArgumentException (" apiLevel not found" )
21
29
}
Original file line number Diff line number Diff line change @@ -2,7 +2,10 @@ package com.lukaslechner.coroutineusecasesonandroid.usecases.coroutines.usecase4
2
2
3
3
import com.lukaslechner.coroutineusecasesonandroid.mock.*
4
4
import kotlinx.coroutines.delay
5
- import java.io.IOException
5
+ import okhttp3.MediaType
6
+ import okhttp3.ResponseBody
7
+ import retrofit2.HttpException
8
+ import retrofit2.Response
6
9
7
10
class FakeFeaturesErrorApi (private val responseDelay : Long ) : MockApi {
8
11
@@ -15,7 +18,12 @@ class FakeFeaturesErrorApi(private val responseDelay: Long) : MockApi {
15
18
delay(responseDelay)
16
19
return when (apiLevel) {
17
20
27 -> mockVersionFeaturesOreo
18
- 28 -> throw IOException ()
21
+ 28 -> throw HttpException (
22
+ Response .error<List <AndroidVersion >>(
23
+ 500 ,
24
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
25
+ )
26
+ )
19
27
29 -> mockVersionFeaturesAndroid10
20
28
else -> throw IllegalArgumentException (" apiLevel not found" )
21
29
}
Original file line number Diff line number Diff line change @@ -5,13 +5,21 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
5
5
import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
6
6
import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
7
7
import kotlinx.coroutines.delay
8
- import java.io.IOException
8
+ import okhttp3.MediaType
9
+ import okhttp3.ResponseBody
10
+ import retrofit2.HttpException
11
+ import retrofit2.Response
9
12
10
13
class FakeVersionsErrorApi (private val responseDelay : Long ) : MockApi {
11
14
12
15
override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
13
16
delay(responseDelay)
14
- throw IOException ()
17
+ throw throw HttpException (
18
+ Response .error<List <AndroidVersion >>(
19
+ 500 ,
20
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
21
+ )
22
+ )
15
23
}
16
24
17
25
override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
Original file line number Diff line number Diff line change @@ -5,13 +5,21 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
5
5
import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
6
6
import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
7
7
import kotlinx.coroutines.delay
8
- import java.io.IOException
8
+ import okhttp3.MediaType
9
+ import okhttp3.ResponseBody
10
+ import retrofit2.HttpException
11
+ import retrofit2.Response
9
12
10
13
class FakeVersionsErrorApi (private val responseDelay : Long ) : MockApi {
11
14
12
15
override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
13
16
delay(responseDelay)
14
- throw IOException ()
17
+ throw throw HttpException (
18
+ Response .error<List <AndroidVersion >>(
19
+ 500 ,
20
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
21
+ )
22
+ )
15
23
}
16
24
17
25
override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
Original file line number Diff line number Diff line change @@ -5,7 +5,10 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
5
5
import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
6
6
import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
7
7
import kotlinx.coroutines.delay
8
- import java.io.IOException
8
+ import okhttp3.MediaType
9
+ import okhttp3.ResponseBody
10
+ import retrofit2.HttpException
11
+ import retrofit2.Response
9
12
10
13
class FakeVersionsErrorApi (private val responseDelay : Long ) : MockApi {
11
14
@@ -14,7 +17,12 @@ class FakeVersionsErrorApi(private val responseDelay: Long) : MockApi {
14
17
override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
15
18
requestCount++
16
19
delay(responseDelay)
17
- throw IOException ()
20
+ throw throw HttpException (
21
+ Response .error<List <AndroidVersion >>(
22
+ 500 ,
23
+ ResponseBody .create(MediaType .parse(" application/json" ), " " )
24
+ )
25
+ )
18
26
}
19
27
20
28
override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
You can’t perform that action at this time.
0 commit comments