@@ -19,6 +19,8 @@ import android.os.Build
1919import  androidx.test.ext.junit.runners.AndroidJUnit4 
2020import  com.google.firebase.dataconnect.BuildConfig 
2121import  com.google.firebase.dataconnect.FirebaseDataConnect.CallerSdkType 
22+ import  com.google.firebase.dataconnect.core.DataConnectAppCheck.GetAppCheckTokenResult 
23+ import  com.google.firebase.dataconnect.core.DataConnectAuth.GetAuthTokenResult 
2224import  com.google.firebase.dataconnect.testutil.FirebaseAppUnitTestingRule 
2325import  com.google.firebase.dataconnect.testutil.property.arbitrary.appCheckTokenResult 
2426import  com.google.firebase.dataconnect.testutil.property.arbitrary.authTokenResult 
@@ -31,9 +33,12 @@ import io.kotest.matchers.collections.shouldNotContain
3133import  io.kotest.matchers.shouldBe 
3234import  io.kotest.matchers.types.shouldBeSameInstanceAs 
3335import  io.kotest.property.Arb 
36+ import  io.kotest.property.Exhaustive 
3437import  io.kotest.property.arbitrary.constant 
3538import  io.kotest.property.arbitrary.enum 
3639import  io.kotest.property.arbitrary.next 
40+ import  io.kotest.property.checkAll 
41+ import  io.kotest.property.exhaustive.of 
3742import  io.mockk.coEvery 
3843import  io.mockk.mockk 
3944import  kotlinx.coroutines.test.runTest 
@@ -160,24 +165,33 @@ class DataConnectGrpcMetadataUnitTest {
160165
161166  @Test
162167  fun  `should omit x-firebase-auth-token when the auth token is null` =  runTest {
163-     val  dataConnectAuth:  DataConnectAuth  =  mockk()
164-     coEvery { dataConnectAuth.getToken(any()) } returns null 
165-     val  dataConnectGrpcMetadata = 
166-       Arb .dataConnect
167-         .dataConnectGrpcMetadata(dataConnectAuth =  Arb .constant(dataConnectAuth))
168-         .next()
169-     val  requestId =  Arb .dataConnect.requestId().next()
170-     val  callerSdkType =  Arb .enum<CallerSdkType >().next()
168+     val  getAuthTokenResults:  Exhaustive <GetAuthTokenResult ?> = 
169+       Exhaustive .of(
170+         null ,
171+         Arb .dataConnect.authTokenResult(accessToken =  Arb .constant(null )).next(),
172+       )
171173
172-     val  metadata =  dataConnectGrpcMetadata.get(requestId, callerSdkType)
174+     checkAll(getAuthTokenResults) { getAuthTokenResult -> 
175+       val  dataConnectAuth:  DataConnectAuth  =  mockk()
176+       coEvery { dataConnectAuth.getToken(any()) } returns getAuthTokenResult
177+       val  dataConnectGrpcMetadata = 
178+         Arb .dataConnect
179+           .dataConnectGrpcMetadata(dataConnectAuth =  Arb .constant(dataConnectAuth))
180+           .next()
181+       val  requestId =  Arb .dataConnect.requestId().next()
182+       val  callerSdkType =  Arb .enum<CallerSdkType >().next()
173183
174-     metadata.asClue { it.keys() shouldNotContain " x-firebase-auth-token" 
184+       val  metadata =  dataConnectGrpcMetadata.get(requestId, callerSdkType)
185+ 
186+       metadata.asClue { it.keys() shouldNotContain " x-firebase-auth-token" 
187+     }
175188  }
176189
177190  @Test
178191  fun  `should include x-firebase-auth-token when the auth token is not null` =  runTest {
179192    val  dataConnectAuth:  DataConnectAuth  =  mockk()
180-     val  authTokenResult =  Arb .dataConnect.authTokenResult().next()
193+     val  authTokenResult = 
194+       Arb .dataConnect.authTokenResult(accessToken =  Arb .dataConnect.accessToken()).next()
181195    coEvery { dataConnectAuth.getToken(any()) } returns authTokenResult
182196    val  dataConnectGrpcMetadata = 
183197      Arb .dataConnect
@@ -197,24 +211,33 @@ class DataConnectGrpcMetadataUnitTest {
197211
198212  @Test
199213  fun  `should omit x-firebase-appcheck when the AppCheck token is null` =  runTest {
200-     val  dataConnectAppCheck:  DataConnectAppCheck  =  mockk {
201-       coEvery { getToken(any()) } returns null 
202-     }
203-     val  dataConnectGrpcMetadata = 
204-       Arb .dataConnect
205-         .dataConnectGrpcMetadata(dataConnectAppCheck =  Arb .constant(dataConnectAppCheck))
206-         .next()
207-     val  requestId =  Arb .dataConnect.requestId().next()
208-     val  callerSdkType =  Arb .enum<CallerSdkType >().next()
214+     val  getAppCheckTokenResults:  Exhaustive <GetAppCheckTokenResult ?> = 
215+       Exhaustive .of(
216+         null ,
217+         Arb .dataConnect.appCheckTokenResult(accessToken =  Arb .constant(null )).next(),
218+       )
209219
210-     val  metadata =  dataConnectGrpcMetadata.get(requestId, callerSdkType)
220+     checkAll(getAppCheckTokenResults) { getAppCheckTokenResult -> 
221+       val  dataConnectAppCheck:  DataConnectAppCheck  =  mockk {
222+         coEvery { getToken(any()) } returns getAppCheckTokenResult
223+       }
224+       val  dataConnectGrpcMetadata = 
225+         Arb .dataConnect
226+           .dataConnectGrpcMetadata(dataConnectAppCheck =  Arb .constant(dataConnectAppCheck))
227+           .next()
228+       val  requestId =  Arb .dataConnect.requestId().next()
229+       val  callerSdkType =  Arb .enum<CallerSdkType >().next()
211230
212-     metadata.asClue { it.keys() shouldNotContain " x-firebase-appcheck" 
231+       val  metadata =  dataConnectGrpcMetadata.get(requestId, callerSdkType)
232+ 
233+       metadata.asClue { it.keys() shouldNotContain " x-firebase-appcheck" 
234+     }
213235  }
214236
215237  @Test
216238  fun  `should include x-firebase-appcheck when the AppCheck token is not null` =  runTest {
217-     val  appCheckTokenResult =  Arb .dataConnect.appCheckTokenResult().next()
239+     val  appCheckTokenResult = 
240+       Arb .dataConnect.appCheckTokenResult(accessToken =  Arb .dataConnect.accessToken()).next()
218241    val  dataConnectAppCheck:  DataConnectAppCheck  =  mockk {
219242      coEvery { getToken(any()) } returns appCheckTokenResult
220243    }
0 commit comments