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
44import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
55import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
66import 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
811
912class FakeErrorApi () : MockApi {
1013
1114 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+ )
1321 }
1422
1523 override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
Original file line number Diff line number Diff line change 11package com.lukaslechner.coroutineusecasesonandroid.usecases.coroutines.usecase2
22
33import 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
58
69class FakeFeaturesErrorApi : MockApi {
710
@@ -13,7 +16,12 @@ class FakeFeaturesErrorApi : MockApi {
1316 return when (apiLevel) {
1417 27 -> mockVersionFeaturesOreo
1518 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+ )
1725 else -> throw IllegalArgumentException (" apiLevel not found" )
1826 }
1927 }
Original file line number Diff line number Diff line change @@ -4,12 +4,20 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.AndroidVersion
44import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
55import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
66import 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
811
912class FakeVersionsErrorApi : MockApi {
1013
1114 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+ )
1321 }
1422
1523 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
33import com.lukaslechner.coroutineusecasesonandroid.mock.*
44import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
55import kotlinx.coroutines.delay
6- import java.io.IOException
6+ import okhttp3.MediaType
7+ import okhttp3.ResponseBody
8+ import retrofit2.HttpException
9+ import retrofit2.Response
710
811class FakeErrorApi (private val responseDelay : Long ) : MockApi {
912
@@ -15,7 +18,12 @@ class FakeErrorApi(private val responseDelay: Long) : MockApi {
1518 delay(responseDelay)
1619 return when (apiLevel) {
1720 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+ )
1927 29 -> mockVersionFeaturesAndroid10
2028 else -> throw IllegalArgumentException (" apiLevel not found" )
2129 }
Original file line number Diff line number Diff line change @@ -2,7 +2,10 @@ package com.lukaslechner.coroutineusecasesonandroid.usecases.coroutines.usecase4
22
33import com.lukaslechner.coroutineusecasesonandroid.mock.*
44import kotlinx.coroutines.delay
5- import java.io.IOException
5+ import okhttp3.MediaType
6+ import okhttp3.ResponseBody
7+ import retrofit2.HttpException
8+ import retrofit2.Response
69
710class FakeFeaturesErrorApi (private val responseDelay : Long ) : MockApi {
811
@@ -15,7 +18,12 @@ class FakeFeaturesErrorApi(private val responseDelay: Long) : MockApi {
1518 delay(responseDelay)
1619 return when (apiLevel) {
1720 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+ )
1927 29 -> mockVersionFeaturesAndroid10
2028 else -> throw IllegalArgumentException (" apiLevel not found" )
2129 }
Original file line number Diff line number Diff line change @@ -5,13 +5,21 @@ import com.lukaslechner.coroutineusecasesonandroid.mock.MockApi
55import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
66import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
77import kotlinx.coroutines.delay
8- import java.io.IOException
8+ import okhttp3.MediaType
9+ import okhttp3.ResponseBody
10+ import retrofit2.HttpException
11+ import retrofit2.Response
912
1013class FakeVersionsErrorApi (private val responseDelay : Long ) : MockApi {
1114
1215 override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
1316 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+ )
1523 }
1624
1725 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
55import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
66import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
77import kotlinx.coroutines.delay
8- import java.io.IOException
8+ import okhttp3.MediaType
9+ import okhttp3.ResponseBody
10+ import retrofit2.HttpException
11+ import retrofit2.Response
912
1013class FakeVersionsErrorApi (private val responseDelay : Long ) : MockApi {
1114
1215 override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
1316 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+ )
1523 }
1624
1725 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
55import com.lukaslechner.coroutineusecasesonandroid.mock.VersionFeatures
66import com.lukaslechner.coroutineusecasesonandroid.utils.EndpointShouldNotBeCalledException
77import kotlinx.coroutines.delay
8- import java.io.IOException
8+ import okhttp3.MediaType
9+ import okhttp3.ResponseBody
10+ import retrofit2.HttpException
11+ import retrofit2.Response
912
1013class FakeVersionsErrorApi (private val responseDelay : Long ) : MockApi {
1114
@@ -14,7 +17,12 @@ class FakeVersionsErrorApi(private val responseDelay: Long) : MockApi {
1417 override suspend fun getRecentAndroidVersions (): List <AndroidVersion > {
1518 requestCount++
1619 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+ )
1826 }
1927
2028 override suspend fun getAndroidVersionFeatures (apiLevel : Int ): VersionFeatures {
You can’t perform that action at this time.
0 commit comments