File tree Expand file tree Collapse file tree
libs/test/SalesforceSDKTest/src/com/salesforce/androidsdk/auth Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -46,6 +46,7 @@ import io.mockk.coVerify
4646import io.mockk.every
4747import io.mockk.mockk
4848import io.mockk.slot
49+ import io.mockk.spyk
4950import io.mockk.verify
5051import kotlinx.coroutines.CoroutineScope
5152import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -730,6 +731,28 @@ class LoginViewModelTest {
730731 }
731732 }
732733
734+ @Test
735+ fun getAuthorizationUrl_WithAppAttestationClient_AddsAttestationToAdditionalParams () = runBlocking {
736+ val appAttestationClient = createMockAppAttestationClient(attestation = TEST_APP_ATTESTATION )
737+ val sdkManagerMock = createSdkManagerMockForAttestation(appAttestationClient = appAttestationClient)
738+ val freshViewModel = LoginViewModel (bootConfig)
739+
740+ // Spy on additionalParameters to verify put is called
741+ val additionalParamsSpy = spyk(freshViewModel.additionalParameters)
742+ freshViewModel.additionalParameters = additionalParamsSpy
743+
744+ freshViewModel.getAuthorizationUrl(TEST_ATTESTATION_SERVER , sdkManagerMock)
745+
746+ // Verify that additionalParams.put(ATTESTATION, attestation) was called on line 473
747+ verify(exactly = 1 ) {
748+ additionalParamsSpy.put(OAuth2 .ATTESTATION , TEST_APP_ATTESTATION )
749+ }
750+ coVerify(exactly = 1 ) {
751+ appAttestationClient.fetchMobileAppAttestationChallenge()
752+ appAttestationClient.createAppAttestation(appAttestationChallenge = TEST_CHALLENGE_VALUE )
753+ }
754+ }
755+
733756 @Test
734757 fun loginViewModel_applyPendingLoginServer_returns_onNullPendingLoginServer () {
735758
You can’t perform that action at this time.
0 commit comments