Convert all account based calls to WebSocket.

This commit is contained in:
Cody Henthorne
2025-03-07 15:48:21 -05:00
committed by Greyson Parrelli
parent 6d115a912d
commit 305b380fef
30 changed files with 748 additions and 615 deletions

View File

@@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.components.settings.app.account.export
import android.annotation.SuppressLint
import android.app.Application
import com.fasterxml.jackson.core.JsonParseException
import io.mockk.every
@@ -16,10 +17,11 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config
import org.thoughtcrime.securesms.net.SignalNetwork
import org.thoughtcrime.securesms.providers.BlobProvider
import org.thoughtcrime.securesms.testutil.MockAppDependenciesRule
import org.thoughtcrime.securesms.util.JsonUtils
import org.whispersystems.signalservice.api.SignalServiceAccountManager
import org.whispersystems.signalservice.api.NetworkResult
import java.io.IOException
@RunWith(RobolectricTestRunner::class)
@@ -65,14 +67,14 @@ class ExportAccountDataTest {
}
"""
@SuppressLint("CheckResult")
@Test
fun `Export json without text field`() {
val scheduler = TestScheduler()
val accountManager: SignalServiceAccountManager = mockk {
every { accountDataReport } returns mockJson
}
val mockRepository = ExportAccountDataRepository(accountManager)
val viewModel = ExportAccountDataViewModel(mockRepository)
every { SignalNetwork.account.accountDataReport() } returns NetworkResult.Success(mockJson)
val viewModel = ExportAccountDataViewModel(ExportAccountDataRepository())
viewModel.setExportAsTxt()
viewModel.onGenerateReport()

View File

@@ -36,6 +36,7 @@ import org.whispersystems.signalservice.api.SignalServiceAccountManager
import org.whispersystems.signalservice.api.SignalServiceDataStore
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver
import org.whispersystems.signalservice.api.SignalServiceMessageSender
import org.whispersystems.signalservice.api.account.AccountApi
import org.whispersystems.signalservice.api.archive.ArchiveApi
import org.whispersystems.signalservice.api.attachment.AttachmentApi
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations
@@ -46,6 +47,7 @@ import org.whispersystems.signalservice.api.services.CallLinksService
import org.whispersystems.signalservice.api.services.DonationsService
import org.whispersystems.signalservice.api.services.ProfileService
import org.whispersystems.signalservice.api.storage.StorageServiceApi
import org.whispersystems.signalservice.api.username.UsernameApi
import org.whispersystems.signalservice.api.websocket.SignalWebSocket
import org.whispersystems.signalservice.internal.configuration.SignalServiceConfiguration
import org.whispersystems.signalservice.internal.push.PushServiceSocket
@@ -60,7 +62,7 @@ class MockApplicationDependencyProvider : AppDependencies.Provider {
return mockk(relaxed = true)
}
override fun provideSignalServiceAccountManager(pushServiceSocket: PushServiceSocket, groupsV2Operations: GroupsV2Operations): SignalServiceAccountManager {
override fun provideSignalServiceAccountManager(authWebSocket: AccountApi, pushServiceSocket: PushServiceSocket, groupsV2Operations: GroupsV2Operations): SignalServiceAccountManager {
return mockk(relaxed = true)
}
@@ -245,4 +247,12 @@ class MockApplicationDependencyProvider : AppDependencies.Provider {
override fun provideUnauthWebSocket(signalServiceConfigurationSupplier: Supplier<SignalServiceConfiguration>, libSignalNetworkSupplier: Supplier<Network>): SignalWebSocket.UnauthenticatedWebSocket {
return mockk(relaxed = true)
}
override fun provideAccountApi(authWebSocket: SignalWebSocket.AuthenticatedWebSocket): AccountApi {
return mockk(relaxed = true)
}
override fun provideUsernameApi(unauthWebSocket: SignalWebSocket.UnauthenticatedWebSocket): UsernameApi {
return mockk(relaxed = true)
}
}