Validate several ids in constructors (#336)

* Validate ids in constructors.

* Remove redundant `.value` usage in string interpolation.

* Make a distinction between `SessionId` and `UserId` in `TestData`.
This commit is contained in:
Jorge Martin Espinosa 2023-04-18 18:17:13 +02:00 committed by GitHub
parent 638b45930e
commit fae3417181
36 changed files with 193 additions and 199 deletions

View file

@ -22,7 +22,6 @@ import io.element.android.libraries.di.AppScope
import io.element.android.libraries.di.ApplicationContext
import io.element.android.libraries.di.SingleIn
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.asSessionId
import io.element.android.libraries.pushstore.api.UserPushStore
import io.element.android.libraries.pushstore.api.UserPushStoreFactory
import io.element.android.libraries.sessionstorage.api.observer.SessionListener
@ -60,6 +59,6 @@ class DefaultUserPushStoreFactory @Inject constructor(
override suspend fun onSessionDeleted(userId: String) {
// Delete the store
userId.asSessionId()?.let { create(it).reset() }
create(SessionId(userId)).reset()
}
}

View file

@ -26,7 +26,6 @@ import com.squareup.anvil.annotations.ContributesBinding
import io.element.android.libraries.di.AppScope
import io.element.android.libraries.di.ApplicationContext
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.asSessionId
import io.element.android.libraries.pushstore.api.clientsecret.PushClientSecretStore
import kotlinx.coroutines.flow.first
import javax.inject.Inject
@ -58,7 +57,7 @@ class PushClientSecretStoreDataStore @Inject constructor(
val matchingKey = keyValues.keys.find {
keyValues[it] == clientSecret
}
return matchingKey?.name?.asSessionId()
return matchingKey?.name?.let(::SessionId)
}
private fun getPreferenceKeyForUser(userId: SessionId) = stringPreferencesKey(userId.value)

View file

@ -24,8 +24,8 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
import org.junit.Test
private val A_USER_ID_0 = SessionId("A_USER_ID_0")
private val A_USER_ID_1 = SessionId("A_USER_ID_1")
private val A_USER_ID_0 = SessionId("@A_USER_ID_0:domain")
private val A_USER_ID_1 = SessionId("@A_USER_ID_1:domain")
private const val A_UNKNOWN_SECRET = "A_UNKNOWN_SECRET"