@@ -32,7 +32,6 @@ import com.google.firebase.dataconnect.testutil.UnavailableDeferred
3232import com.google.firebase.dataconnect.testutil.newBackgroundScopeThatAdvancesLikeForeground
3333import com.google.firebase.dataconnect.testutil.newMockLogger
3434import com.google.firebase.dataconnect.testutil.property.arbitrary.dataConnect
35- import com.google.firebase.dataconnect.testutil.property.arbitrary.distinctPair
3635import com.google.firebase.dataconnect.testutil.shouldContainWithNonAbuttingText
3736import com.google.firebase.dataconnect.testutil.shouldContainWithNonAbuttingTextIgnoringCase
3837import com.google.firebase.dataconnect.testutil.shouldHaveLoggedAtLeastOneMessageContaining
@@ -47,10 +46,8 @@ import io.kotest.assertions.nondeterministic.eventually
4746import io.kotest.assertions.nondeterministic.eventuallyConfig
4847import io.kotest.assertions.throwables.shouldThrow
4948import io.kotest.assertions.withClue
50- import io.kotest.matchers.collections.shouldBeEmpty
5149import io.kotest.matchers.collections.shouldContain
5250import io.kotest.matchers.collections.shouldContainExactly
53- import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder
5451import io.kotest.matchers.nulls.shouldBeNull
5552import io.kotest.matchers.nulls.shouldNotBeNull
5653import io.kotest.matchers.shouldBe
@@ -317,21 +314,7 @@ class DataConnectAuthUnitTest {
317314 }
318315
319316 @Test
320- fun `getToken() should populate authUids from user_id claim` () = runTest {
321- val dataConnectAuth = newDataConnectAuth()
322- dataConnectAuth.initialize()
323- advanceUntilIdle()
324- val uid = Arb .brand().map { it.value }.next(rs)
325- coEvery { mockInternalAuthProvider.getAccessToken(any()) } returns
326- taskForToken(accessToken, mapOf (" user_id" to uid))
327-
328- val result = dataConnectAuth.getToken(requestId)
329-
330- result.shouldNotBeNull().authUids.shouldContainExactly(uid)
331- }
332-
333- @Test
334- fun `getToken() should populate authUids from sub claim` () = runTest {
317+ fun `getToken() should populate authUid from sub claim` () = runTest {
335318 val dataConnectAuth = newDataConnectAuth()
336319 dataConnectAuth.initialize()
337320 advanceUntilIdle()
@@ -341,25 +324,11 @@ class DataConnectAuthUnitTest {
341324
342325 val result = dataConnectAuth.getToken(requestId)
343326
344- result.shouldNotBeNull().authUids.shouldContainExactly(uid)
345- }
346-
347- @Test
348- fun `getToken() should populate authUids from user_id and sub claims` () = runTest {
349- val dataConnectAuth = newDataConnectAuth()
350- dataConnectAuth.initialize()
351- advanceUntilIdle()
352- val (uid1, uid2) = Arb .brand().map { it.value }.distinctPair().next(rs)
353- coEvery { mockInternalAuthProvider.getAccessToken(any()) } returns
354- taskForToken(accessToken, mapOf (" user_id" to uid1, " sub" to uid2))
355-
356- val result = dataConnectAuth.getToken(requestId)
357-
358- result.shouldNotBeNull().authUids.shouldContainExactlyInAnyOrder(uid1, uid2)
327+ result.shouldNotBeNull().authUid shouldBe uid
359328 }
360329
361330 @Test
362- fun `getToken() should populate empty authUids if claims are missing` () = runTest {
331+ fun `getToken() should populate null authUid if sub claim is missing` () = runTest {
363332 val dataConnectAuth = newDataConnectAuth()
364333 dataConnectAuth.initialize()
365334 advanceUntilIdle()
@@ -368,20 +337,20 @@ class DataConnectAuthUnitTest {
368337
369338 val result = dataConnectAuth.getToken(requestId)
370339
371- result.shouldNotBeNull().authUids.shouldBeEmpty ()
340+ result.shouldNotBeNull().authUid.shouldBeNull ()
372341 }
373342
374343 @Test
375- fun `getToken() should ignore non-string uid claims ` () = runTest {
344+ fun `getToken() should populate null authUid if sub claim is not a String ` () = runTest {
376345 val dataConnectAuth = newDataConnectAuth()
377346 dataConnectAuth.initialize()
378347 advanceUntilIdle()
379348 coEvery { mockInternalAuthProvider.getAccessToken(any()) } returns
380- taskForToken(accessToken, mapOf (" user_id " to 123 , " sub" to true ))
349+ taskForToken(accessToken, mapOf (" sub" to 42 ))
381350
382351 val result = dataConnectAuth.getToken(requestId)
383352
384- result.shouldNotBeNull().authUids shouldBe emptySet ()
353+ result.shouldNotBeNull().authUid.shouldBeNull ()
385354 }
386355
387356 @Test
0 commit comments