Skip to content

Commit eb2a4ac

Browse files
fix: Re-add test dependencies and revert to mockito-kotlin syntax
1 parent 28f43e6 commit eb2a4ac

File tree

3 files changed

+25
-22
lines changed

3 files changed

+25
-22
lines changed

firebase-ai/firebase-ai.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ dependencies {
123123
testImplementation(libs.robolectric)
124124
testImplementation(libs.truth)
125125
testImplementation(libs.mockito.core)
126+
testImplementation(libs.mockito.kotlin)
127+
testImplementation(libs.ktor.client.mock)
126128

127129
androidTestImplementation(libs.androidx.espresso.core)
128130
androidTestImplementation(libs.androidx.test.junit)

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/LiveSession.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717
package com.google.firebase.ai.type
1818

1919
import android.Manifest.permission.RECORD_AUDIO
20-
import android.content.pm.PackageManager
2120
import android.media.AudioFormat
2221
import android.media.AudioTrack
2322
import android.util.Log
2423
import androidx.annotation.RequiresPermission
25-
import com.google.firebase.FirebaseApp
2624
import com.google.firebase.ai.common.JSON
2725
import com.google.firebase.ai.common.util.CancelledCoroutineScope
2826
import com.google.firebase.ai.common.util.accumulateUntil
27+
import com.google.firebase.FirebaseApp
28+
import android.content.pm.PackageManager
2929
import com.google.firebase.ai.common.util.childJob
3030
import com.google.firebase.annotations.concurrent.Blocking
3131
import io.ktor.client.plugins.websocket.ClientWebSocketSession
@@ -97,9 +97,8 @@ internal constructor(
9797
functionCallHandler: ((FunctionCallPart) -> FunctionResponsePart)? = null
9898
) {
9999
val context = firebaseApp.applicationContext
100-
if (
101-
context.checkSelfPermission(RECORD_AUDIO) !=
102-
android.content.pm.PackageManager.PERMISSION_GRANTED
100+
if (context.checkSelfPermission(RECORD_AUDIO) !=
101+
android.content.pm.PackageManager.PERMISSION_GRANTED
103102
) {
104103
throw PermissionMissingException("Missing RECORD_AUDIO permission.")
105104
}

firebase-ai/src/test/java/com/google/firebase/ai/type/LiveSessionTest.kt

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,29 @@ import android.content.pm.PackageManager
55
import com.google.firebase.FirebaseApp
66
import com.google.firebase.ai.util.doBlocking
77
import io.kotest.assertions.throwables.shouldThrow
8-
import io.ktor.client.plugins.websocket.testing.EmptyWebSockets
8+
import io.ktor.client.plugins.websocket.testing.*
99
import kotlinx.coroutines.Dispatchers
1010
import org.junit.Test
11-
import org.mockito.Mockito
11+
import org.mockito.kotlin.*
1212

1313
class LiveSessionTest {
1414

15-
@Test
16-
fun `startAudioConversation without permission throws exception`() = doBlocking {
17-
val mockContext = Mockito.mock(Context::class.java)
18-
Mockito.`when`(mockContext.checkSelfPermission(android.Manifest.permission.RECORD_AUDIO))
19-
.thenReturn(PackageManager.PERMISSION_DENIED)
20-
val mockFirebaseApp = Mockito.mock(FirebaseApp::class.java)
21-
Mockito.`when`(mockFirebaseApp.applicationContext).thenReturn(mockContext)
22-
val session =
23-
LiveSession(
24-
session = EmptyWebSockets.client.session,
25-
blockingDispatcher = Dispatchers.IO,
26-
firebaseApp = mockFirebaseApp
27-
)
15+
@Test
16+
fun `startAudioConversation without permission throws exception`() = doBlocking {
17+
val mockContext = mock<Context> {
18+
on { checkSelfPermission(android.Manifest.permission.RECORD_AUDIO) } doReturn PackageManager.PERMISSION_DENIED
19+
}
20+
val mockFirebaseApp = mock<FirebaseApp> {
21+
on { applicationContext } doReturn mockContext
22+
}
23+
val session = LiveSession(
24+
session = EmptyWebSockets.client.session,
25+
blockingDispatcher = Dispatchers.IO,
26+
firebaseApp = mockFirebaseApp
27+
)
2828

29-
shouldThrow<PermissionMissingException> { session.startAudioConversation() }
30-
}
29+
shouldThrow<PermissionMissingException> {
30+
session.startAudioConversation()
31+
}
32+
}
3133
}

0 commit comments

Comments
 (0)