Skip to content

Commit 7a6aca5

Browse files
committed
Refactor out ktor mock to simplify rules
1 parent c77819b commit 7a6aca5

File tree

5 files changed

+12
-35
lines changed

5 files changed

+12
-35
lines changed

firebase-vertexai/consumer-rules.pro

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,3 @@
2121
#-renamesourcefileattribute SourceFile
2222

2323
-keep class com.google.firebase.vertexai.common.** { *; }
24-
25-
-dontwarn io.ktor.client.engine.mock.MockEngine$Companion
26-
-dontwarn io.ktor.client.engine.mock.MockEngine
27-
-dontwarn io.ktor.client.engine.mock.MockRequestHandleScope
28-
-dontwarn io.ktor.client.engine.mock.MockUtilsKt

firebase-vertexai/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
version=16.0.0-beta06
15+
version=16.0.0-beta10
1616
latestReleasedVersion=16.0.0-beta05

firebase-vertexai/src/main/kotlin/com/google/firebase/vertexai/common/APIController.kt

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@
1717
package com.google.firebase.vertexai.common
1818

1919
import android.util.Log
20-
import androidx.annotation.VisibleForTesting
2120
import com.google.firebase.vertexai.common.server.FinishReason
2221
import com.google.firebase.vertexai.common.util.decodeToFlow
2322
import com.google.firebase.vertexai.common.util.fullModelName
2423
import io.ktor.client.HttpClient
2524
import io.ktor.client.call.body
2625
import io.ktor.client.engine.HttpClientEngine
27-
import io.ktor.client.engine.mock.MockEngine
28-
import io.ktor.client.engine.mock.respond
2926
import io.ktor.client.engine.okhttp.OkHttp
3027
import io.ktor.client.plugins.HttpTimeout
3128
import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
@@ -38,13 +35,9 @@ import io.ktor.client.statement.HttpResponse
3835
import io.ktor.client.statement.bodyAsChannel
3936
import io.ktor.client.statement.bodyAsText
4037
import io.ktor.http.ContentType
41-
import io.ktor.http.HttpHeaders
4238
import io.ktor.http.HttpStatusCode
4339
import io.ktor.http.contentType
44-
import io.ktor.http.headersOf
4540
import io.ktor.serialization.kotlinx.json.json
46-
import io.ktor.utils.io.ByteChannel
47-
import kotlin.time.Duration
4841
import kotlinx.coroutines.CoroutineName
4942
import kotlinx.coroutines.TimeoutCancellationException
5043
import kotlinx.coroutines.flow.Flow
@@ -54,6 +47,7 @@ import kotlinx.coroutines.flow.map
5447
import kotlinx.coroutines.launch
5548
import kotlinx.coroutines.withTimeout
5649
import kotlinx.serialization.json.Json
50+
import kotlin.time.Duration
5751

5852
internal val JSON = Json {
5953
ignoreUnknownKeys = true
@@ -91,24 +85,6 @@ internal constructor(
9185
headerProvider: HeaderProvider? = null,
9286
) : this(key, model, requestOptions, OkHttp.create(), apiClient, headerProvider)
9387

94-
@VisibleForTesting(otherwise = VisibleForTesting.NONE)
95-
constructor(
96-
key: String,
97-
model: String,
98-
requestOptions: RequestOptions,
99-
apiClient: String,
100-
headerProvider: HeaderProvider?,
101-
channel: ByteChannel,
102-
status: HttpStatusCode,
103-
) : this(
104-
key,
105-
model,
106-
requestOptions,
107-
MockEngine { respond(channel, status, headersOf(HttpHeaders.ContentType, "application/json")) },
108-
apiClient,
109-
headerProvider,
110-
)
111-
11288
private val model = fullModelName(model)
11389

11490
private val client =

firebase-vertexai/src/test/java/com/google/firebase/vertexai/common/util/tests.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ import com.google.firebase.vertexai.common.shared.Content
2828
import com.google.firebase.vertexai.common.shared.TextPart
2929
import io.kotest.matchers.collections.shouldNotBeEmpty
3030
import io.kotest.matchers.nulls.shouldNotBeNull
31+
import io.ktor.client.engine.mock.MockEngine
32+
import io.ktor.client.engine.mock.respond
33+
import io.ktor.http.HttpHeaders
3134
import io.ktor.http.HttpStatusCode
35+
import io.ktor.http.headersOf
3236
import io.ktor.utils.io.ByteChannel
3337
import io.ktor.utils.io.close
3438
import io.ktor.utils.io.writeFully
@@ -106,10 +110,9 @@ internal fun commonTest(
106110
"super_cool_test_key",
107111
"gemini-pro",
108112
requestOptions,
113+
MockEngine { respond(channel, status, headersOf(HttpHeaders.ContentType, "application/json")) },
109114
TEST_CLIENT_ID,
110115
null,
111-
channel,
112-
status,
113116
)
114117
CommonTestScope(channel, apiController).block()
115118
}

firebase-vertexai/src/test/java/com/google/firebase/vertexai/util/tests.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ import com.google.firebase.vertexai.common.APIController
2121
import com.google.firebase.vertexai.common.RequestOptions
2222
import io.kotest.matchers.collections.shouldNotBeEmpty
2323
import io.kotest.matchers.nulls.shouldNotBeNull
24+
import io.ktor.client.engine.mock.MockEngine
25+
import io.ktor.client.engine.mock.respond
26+
import io.ktor.http.HttpHeaders
2427
import io.ktor.http.HttpStatusCode
28+
import io.ktor.http.headersOf
2529
import io.ktor.utils.io.ByteChannel
2630
import io.ktor.utils.io.close
2731
import io.ktor.utils.io.writeFully
@@ -93,10 +97,9 @@ internal fun commonTest(
9397
"super_cool_test_key",
9498
"gemini-pro",
9599
requestOptions,
100+
MockEngine { respond(channel, status, headersOf(HttpHeaders.ContentType, "application/json")) },
96101
TEST_CLIENT_ID,
97102
null,
98-
channel,
99-
status,
100103
)
101104
val model = GenerativeModel("cool-model-name", controller = apiController)
102105
CommonTestScope(channel, model).block()

0 commit comments

Comments
 (0)