Remove dependency on AppNavigationStateService from DefaultUnifiedPushCurrentUserPushConfigProvider
This commit is contained in:
parent
705b1b08f2
commit
afdfe28ef4
21 changed files with 124 additions and 160 deletions
|
|
@ -99,7 +99,7 @@ class DefaultPushService(
|
|||
|
||||
override suspend fun testPush(sessionId: SessionId): Boolean {
|
||||
val pushProvider = getCurrentPushProvider(sessionId) ?: return false
|
||||
val config = pushProvider.getCurrentUserPushConfig() ?: return false
|
||||
val config = pushProvider.getPushConfig(sessionId) ?: return false
|
||||
testPush.execute(config)
|
||||
return true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,17 +13,17 @@ import io.element.android.appconfig.PushConfig
|
|||
import io.element.android.libraries.matrix.api.core.EventId
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
|
||||
import io.element.android.libraries.pushproviders.api.CurrentUserPushConfig
|
||||
import io.element.android.libraries.pushproviders.api.Config
|
||||
|
||||
interface TestPush {
|
||||
suspend fun execute(config: CurrentUserPushConfig)
|
||||
suspend fun execute(config: Config)
|
||||
}
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class DefaultTestPush(
|
||||
private val pushGatewayNotifyRequest: PushGatewayNotifyRequest,
|
||||
) : TestPush {
|
||||
override suspend fun execute(config: CurrentUserPushConfig) {
|
||||
override suspend fun execute(config: Config) {
|
||||
pushGatewayNotifyRequest.execute(
|
||||
PushGatewayNotifyRequest.Params(
|
||||
url = config.url,
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@ import io.element.android.libraries.push.impl.store.PushDataStore
|
|||
import io.element.android.libraries.push.impl.test.FakeTestPush
|
||||
import io.element.android.libraries.push.impl.test.TestPush
|
||||
import io.element.android.libraries.push.test.FakeGetCurrentPushProvider
|
||||
import io.element.android.libraries.pushproviders.api.CurrentUserPushConfig
|
||||
import io.element.android.libraries.pushproviders.api.Config
|
||||
import io.element.android.libraries.pushproviders.api.Distributor
|
||||
import io.element.android.libraries.pushproviders.api.PushProvider
|
||||
import io.element.android.libraries.pushproviders.test.FakePushProvider
|
||||
import io.element.android.libraries.pushproviders.test.aCurrentUserPushConfig
|
||||
import io.element.android.libraries.pushproviders.test.aSessionPushConfig
|
||||
import io.element.android.libraries.pushstore.api.UserPushStoreFactory
|
||||
import io.element.android.libraries.pushstore.api.clientsecret.PushClientSecretStore
|
||||
import io.element.android.libraries.pushstore.test.userpushstore.FakeUserPushStore
|
||||
|
|
@ -62,10 +62,10 @@ class DefaultPushServiceTest {
|
|||
|
||||
@Test
|
||||
fun `test push ok`() = runTest {
|
||||
val aConfig = aCurrentUserPushConfig()
|
||||
val testPushResult = lambdaRecorder<CurrentUserPushConfig, Unit> { }
|
||||
val aConfig = aSessionPushConfig()
|
||||
val testPushResult = lambdaRecorder<Config, Unit> { }
|
||||
val aPushProvider = FakePushProvider(
|
||||
currentUserPushConfig = aConfig
|
||||
config = aConfig
|
||||
)
|
||||
val defaultPushService = createDefaultPushService(
|
||||
pushProviders = setOf(aPushProvider),
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ package io.element.android.libraries.push.impl.test
|
|||
|
||||
import io.element.android.appconfig.PushConfig
|
||||
import io.element.android.libraries.push.impl.pushgateway.PushGatewayNotifyRequest
|
||||
import io.element.android.libraries.pushproviders.test.aCurrentUserPushConfig
|
||||
import io.element.android.libraries.pushproviders.test.aSessionPushConfig
|
||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||
import io.element.android.tests.testutils.lambda.value
|
||||
import kotlinx.coroutines.test.runTest
|
||||
|
|
@ -24,7 +24,7 @@ class DefaultTestPushTest {
|
|||
executeResult = executeResult,
|
||||
)
|
||||
)
|
||||
val aConfig = aCurrentUserPushConfig()
|
||||
val aConfig = aSessionPushConfig()
|
||||
defaultTestPush.execute(aConfig)
|
||||
executeResult.assertions()
|
||||
.isCalledOnce()
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
package io.element.android.libraries.push.impl.test
|
||||
|
||||
import io.element.android.libraries.pushproviders.api.CurrentUserPushConfig
|
||||
import io.element.android.libraries.pushproviders.api.Config
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
|
||||
class FakeTestPush(
|
||||
private val executeResult: (CurrentUserPushConfig) -> Unit = { lambdaError() }
|
||||
private val executeResult: (Config) -> Unit = { lambdaError() }
|
||||
) : TestPush {
|
||||
override suspend fun execute(config: CurrentUserPushConfig) {
|
||||
override suspend fun execute(config: Config) {
|
||||
executeResult(config)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue