Skip to content

Commit 68f3ada

Browse files
committed
FirebaseDataConnectInternalExts.kt: add extension functions: FirebaseDataConnect.awaitAuthReady() and FirebaseDataConnect.awaitAppCheckReady()
1 parent ee8fbf3 commit 68f3ada

File tree

3 files changed

+40
-13
lines changed

3 files changed

+40
-13
lines changed

firebase-dataconnect/src/androidTest/kotlin/com/google/firebase/dataconnect/AuthIntegrationTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
package com.google.firebase.dataconnect
1818

1919
import com.google.firebase.auth.FirebaseAuth
20-
import com.google.firebase.dataconnect.core.FirebaseDataConnectInternal
2120
import com.google.firebase.dataconnect.testutil.DataConnectBackend
2221
import com.google.firebase.dataconnect.testutil.DataConnectIntegrationTestBase
2322
import com.google.firebase.dataconnect.testutil.InProcessDataConnectGrpcServer
23+
import com.google.firebase.dataconnect.testutil.awaitAuthReady
2424
import com.google.firebase.dataconnect.testutil.newInstance
2525
import com.google.firebase.dataconnect.testutil.property.arbitrary.dataConnect
2626
import com.google.firebase.dataconnect.testutil.schemas.PersonSchema
@@ -202,7 +202,7 @@ class AuthIntegrationTest : DataConnectIntegrationTestBase() {
202202
}
203203

204204
private suspend fun signIn() {
205-
(personSchema.dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
205+
personSchema.dataConnect.awaitAuthReady()
206206
val authResult = auth.run { signInAnonymously().await() }
207207
withClue("authResult.user returned from signInAnonymously()") {
208208
authResult.user.shouldNotBeNull()

firebase-dataconnect/src/androidTest/kotlin/com/google/firebase/dataconnect/GrpcMetadataIntegrationTest.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import com.google.android.gms.tasks.Tasks
2323
import com.google.firebase.appcheck.AppCheckProvider
2424
import com.google.firebase.appcheck.AppCheckProviderFactory
2525
import com.google.firebase.appcheck.FirebaseAppCheck
26-
import com.google.firebase.dataconnect.core.FirebaseDataConnectInternal
2726
import com.google.firebase.dataconnect.generated.GeneratedConnector
2827
import com.google.firebase.dataconnect.generated.GeneratedMutation
2928
import com.google.firebase.dataconnect.generated.GeneratedQuery
@@ -32,6 +31,8 @@ import com.google.firebase.dataconnect.testutil.DataConnectIntegrationTestBase
3231
import com.google.firebase.dataconnect.testutil.DataConnectTestAppCheckToken
3332
import com.google.firebase.dataconnect.testutil.FirebaseAuthBackend
3433
import com.google.firebase.dataconnect.testutil.InProcessDataConnectGrpcServer
34+
import com.google.firebase.dataconnect.testutil.awaitAppCheckReady
35+
import com.google.firebase.dataconnect.testutil.awaitAuthReady
3536
import com.google.firebase.dataconnect.testutil.getFirebaseAppIdFromStrings
3637
import com.google.firebase.dataconnect.testutil.newInstance
3738
import com.google.firebase.dataconnect.util.SuspendingLazy
@@ -138,7 +139,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
138139
fun executeQueryShouldNotSendAuthMetadataWhenNotLoggedIn() = runTest {
139140
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
140141
val dataConnect = dataConnectFactory.newInstance(grpcServer)
141-
(dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
142+
dataConnect.awaitAuthReady()
142143
val queryRef = dataConnect.query("qryfyk7yfppfe", Unit, serializer<Unit>(), serializer<Unit>())
143144
val metadatasJob = async { grpcServer.metadatas.first() }
144145

@@ -151,7 +152,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
151152
fun executeMutationShouldNotSendAuthMetadataWhenNotLoggedIn() = runTest {
152153
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
153154
val dataConnect = dataConnectFactory.newInstance(grpcServer)
154-
(dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
155+
dataConnect.awaitAuthReady()
155156
val mutationRef =
156157
dataConnect.mutation("mutckjpte9v9j", Unit, serializer<Unit>(), serializer<Unit>())
157158
val metadatasJob = async { grpcServer.metadatas.first() }
@@ -165,7 +166,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
165166
fun executeQueryShouldSendAuthMetadataWhenLoggedIn() = runTest {
166167
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
167168
val dataConnect = dataConnectFactory.newInstance(grpcServer)
168-
(dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
169+
dataConnect.awaitAuthReady()
169170
val queryRef = dataConnect.query("qryyarwrxe2fv", Unit, serializer<Unit>(), serializer<Unit>())
170171
val metadatasJob = async { grpcServer.metadatas.first() }
171172
firebaseAuthSignIn(dataConnect)
@@ -179,7 +180,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
179180
fun executeMutationShouldSendAuthMetadataWhenLoggedIn() = runTest {
180181
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
181182
val dataConnect = dataConnectFactory.newInstance(grpcServer)
182-
(dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
183+
dataConnect.awaitAuthReady()
183184
val mutationRef =
184185
dataConnect.mutation("mutayn7as5k7d", Unit, serializer<Unit>(), serializer<Unit>())
185186
val metadatasJob = async { grpcServer.metadatas.first() }
@@ -194,7 +195,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
194195
fun executeQueryShouldNotSendAuthMetadataAfterLogout() = runTest {
195196
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
196197
val dataConnect = dataConnectFactory.newInstance(grpcServer)
197-
(dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
198+
dataConnect.awaitAuthReady()
198199
val queryRef = dataConnect.query("qryyarwrxe2fv", Unit, serializer<Unit>(), serializer<Unit>())
199200
val metadatasJob1 = async { grpcServer.metadatas.first() }
200201
val metadatasJob2 = async { grpcServer.metadatas.take(2).last() }
@@ -212,7 +213,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
212213
fun executeMutationShouldNotSendAuthMetadataAfterLogout() = runTest {
213214
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
214215
val dataConnect = dataConnectFactory.newInstance(grpcServer)
215-
(dataConnect as FirebaseDataConnectInternal).awaitAuthReady()
216+
dataConnect.awaitAuthReady()
216217
val mutationRef =
217218
dataConnect.mutation("mutvw945ag3vv", Unit, serializer<Unit>(), serializer<Unit>())
218219
val metadatasJob1 = async { grpcServer.metadatas.first() }
@@ -233,7 +234,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
233234
// appcheck token is sent at all.
234235
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
235236
val dataConnect = dataConnectFactory.newInstance(grpcServer)
236-
(dataConnect as FirebaseDataConnectInternal).awaitAppCheckReady()
237+
dataConnect.awaitAppCheckReady()
237238
val queryRef = dataConnect.query("qrybbeekpkkck", Unit, serializer<Unit>(), serializer<Unit>())
238239
val metadatasJob = async { grpcServer.metadatas.first() }
239240

@@ -248,7 +249,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
248249
// appcheck token is sent at all.
249250
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
250251
val dataConnect = dataConnectFactory.newInstance(grpcServer)
251-
(dataConnect as FirebaseDataConnectInternal).awaitAppCheckReady()
252+
dataConnect.awaitAppCheckReady()
252253
val mutationRef =
253254
dataConnect.mutation("mutbs7hhxk39c", Unit, serializer<Unit>(), serializer<Unit>())
254255
val metadatasJob = async { grpcServer.metadatas.first() }
@@ -262,7 +263,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
262263
fun executeQueryShouldSendAppCheckMetadataWhenAppCheckIsEnabled() = runTest {
263264
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
264265
val dataConnect = dataConnectFactory.newInstance(grpcServer)
265-
(dataConnect as FirebaseDataConnectInternal).awaitAppCheckReady()
266+
dataConnect.awaitAppCheckReady()
266267
val queryRef = dataConnect.query("qryyarwrxe2fv", Unit, serializer<Unit>(), serializer<Unit>())
267268
val metadatasJob = async { grpcServer.metadatas.first() }
268269
val appCheck = FirebaseAppCheck.getInstance(dataConnect.app)
@@ -277,7 +278,7 @@ class GrpcMetadataIntegrationTest : DataConnectIntegrationTestBase() {
277278
fun executeMutationShouldSendAppCheckMetadataWhenAppCheckIsEnabled() = runTest {
278279
val grpcServer = inProcessDataConnectGrpcServer.newInstance()
279280
val dataConnect = dataConnectFactory.newInstance(grpcServer)
280-
(dataConnect as FirebaseDataConnectInternal).awaitAppCheckReady()
281+
dataConnect.awaitAppCheckReady()
281282
val mutationRef =
282283
dataConnect.mutation("mutz4hzqzpgb4", Unit, serializer<Unit>(), serializer<Unit>())
283284
val metadatasJob = async { grpcServer.metadatas.first() }
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Copyright 2025 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.firebase.dataconnect.testutil
18+
19+
import com.google.firebase.dataconnect.FirebaseDataConnect
20+
import com.google.firebase.dataconnect.core.FirebaseDataConnectInternal
21+
22+
suspend fun FirebaseDataConnect.awaitAuthReady() =
23+
(this as FirebaseDataConnectInternal).awaitAuthReady()
24+
25+
suspend fun FirebaseDataConnect.awaitAppCheckReady() =
26+
(this as FirebaseDataConnectInternal).awaitAppCheckReady()

0 commit comments

Comments
 (0)