[deps]: Update androidx.core:core-ktx to v1.19.0 (#7085)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Perez <david@livefront.com>
This commit is contained in:
renovate[bot]
2026-07-06 20:49:51 +00:00
committed by GitHub
co-authored by renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> David Perez
parent 65a50310bd
commit fe2e7c08eb
7 changed files with 53 additions and 32 deletions
@@ -2,13 +2,14 @@ package com.x8bit.bitwarden.data.auth.repository.util
import android.content.Intent
import android.net.Uri
import com.bitwarden.ui.platform.base.BaseRobolectricTest
import io.mockk.every
import io.mockk.mockk
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.Test
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Test
class SsoUtilsTest {
class SsoUtilsTest : BaseRobolectricTest() {
@Test
fun `generateUriForSso should generate the correct URI`() {
@@ -20,7 +21,7 @@ class SsoUtilsTest {
val codeVerifier = "test_code_verifier"
val expectedUrl = "https://identity.bitwarden.com/connect/authorize" +
"?client_id=mobile" +
"&redirect_uri=bitwarden%3A%2F%2Fsso-callback" +
"&redirect_uri=https%3A%2F%2Fbitwarden.com%2Fsso-callback" +
"&response_type=code" +
"&scope=api%20offline_access" +
"&state=test_state" +
@@ -2,14 +2,15 @@ package com.x8bit.bitwarden.data.auth.repository.util
import android.content.Intent
import android.net.Uri
import com.bitwarden.ui.platform.base.BaseRobolectricTest
import com.bitwarden.ui.platform.manager.intent.model.AuthTabData
import io.mockk.every
import io.mockk.mockk
import kotlinx.serialization.json.JsonObject
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
import org.junit.Assert.assertEquals
import org.junit.Test
class WebAuthUtilsTest {
class WebAuthUtilsTest : BaseRobolectricTest() {
@Test
fun `generateUriForWebAuth should return valid Uri`() {
@@ -3,17 +3,18 @@ package com.x8bit.bitwarden.data.autofill.accessibility.parser
import android.net.Uri
import android.view.accessibility.AccessibilityNodeInfo
import androidx.core.net.toUri
import com.bitwarden.ui.platform.base.BaseRobolectricTest
import com.x8bit.bitwarden.data.autofill.accessibility.manager.AccessibilityNodeInfoManager
import com.x8bit.bitwarden.data.autofill.accessibility.model.Browser
import com.x8bit.bitwarden.data.autofill.accessibility.model.FillableFields
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.Test
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Test
class AccessibilityParserTest {
class AccessibilityParserTest : BaseRobolectricTest() {
private val accessibilityNodeInfoManager: AccessibilityNodeInfoManager = mockk()
@@ -142,12 +143,13 @@ class AccessibilityParserTest {
@Suppress("MaxLineLength")
@Test
fun `parseForUriOrPackageName should return null when package is a supported browser and URL bar is not found`() {
val testBrowser = Browser(packageName = "com.android.chrome", urlFieldId = "url_bar")
val testPackageName = "com.android.chrome"
val testBrowser = Browser(packageName = testPackageName, urlFieldId = "url_bar")
val rootNode = mockk<AccessibilityNodeInfo> {
every { packageName } returns testBrowser.packageName
every { packageName } returns testPackageName
every {
findAccessibilityNodeInfosByViewId(
"$packageName:id/${testBrowser.possibleUrlFieldIds.first()}",
"$testPackageName:id/${testBrowser.possibleUrlFieldIds.first()}",
)
} returns emptyList()
}
@@ -160,16 +162,17 @@ class AccessibilityParserTest {
@Suppress("MaxLineLength")
@Test
fun `parseForUriOrPackageName should return null when URL bar node has no text or content description`() {
val testBrowser = Browser(packageName = "com.android.chrome", urlFieldId = "url_bar")
val testPackageName = "com.android.chrome"
val testBrowser = Browser(packageName = testPackageName, urlFieldId = "url_bar")
val emptyNode = mockk<AccessibilityNodeInfo> {
every { text } returns null
every { contentDescription } returns null
}
val rootNode = mockk<AccessibilityNodeInfo> {
every { packageName } returns testBrowser.packageName
every { packageName } returns testPackageName
every {
findAccessibilityNodeInfosByViewId(
"${testBrowser.packageName}:id/${testBrowser.possibleUrlFieldIds.first()}",
"$testPackageName:id/${testBrowser.possibleUrlFieldIds.first()}",
)
} returns listOf(emptyNode)
}
@@ -246,7 +249,7 @@ class AccessibilityParserTest {
predicate = any(),
)
} returns listOf(urlNode)
val expectedResult = "https://www.reddit.com".toUri()
val expectedResult = Uri.parse("https://www.reddit.com")
val result = accessibilityParser.parseForUriOrPackageName(rootNode = rootNode)
@@ -256,16 +259,17 @@ class AccessibilityParserTest {
@Suppress("MaxLineLength")
@Test
fun `parseForUriOrPackageName should return the site url un-augmented with https protocol as a URI when package is a supported browser and URL is found`() {
val testBrowser = Browser(packageName = "com.android.chrome", urlFieldId = "url_bar")
val testPackageName = "com.android.chrome"
val testBrowser = Browser(packageName = testPackageName, urlFieldId = "url_bar")
val url = "https://www.google.com"
val urlNode = mockk<AccessibilityNodeInfo> {
every { text } returns url
}
val rootNode = mockk<AccessibilityNodeInfo> {
every { packageName } returns testBrowser.packageName
every { packageName } returns testPackageName
every {
findAccessibilityNodeInfosByViewId(
"$packageName:id/${testBrowser.possibleUrlFieldIds.first()}",
"$testPackageName:id/${testBrowser.possibleUrlFieldIds.first()}",
)
} returns listOf(urlNode)
}
@@ -279,16 +283,17 @@ class AccessibilityParserTest {
@Suppress("MaxLineLength")
@Test
fun `parseForUriOrPackageName should return the site url un-augmented with http protocol as a URI when package is a supported browser and URL is found`() {
val testBrowser = Browser(packageName = "com.android.chrome", urlFieldId = "url_bar")
val testPackageName = "com.android.chrome"
val testBrowser = Browser(packageName = testPackageName, urlFieldId = "url_bar")
val url = "http://www.google.com"
val urlNode = mockk<AccessibilityNodeInfo> {
every { text } returns url
}
val rootNode = mockk<AccessibilityNodeInfo> {
every { packageName } returns testBrowser.packageName
every { packageName } returns testPackageName
every {
findAccessibilityNodeInfosByViewId(
"$packageName:id/${testBrowser.possibleUrlFieldIds.first()}",
"$testPackageName:id/${testBrowser.possibleUrlFieldIds.first()}",
)
} returns listOf(urlNode)
}
@@ -302,16 +307,17 @@ class AccessibilityParserTest {
@Suppress("MaxLineLength")
@Test
fun `parseForUriOrPackageName should return the site url augmented with https protocol as a URI when package is a supported browser and URL is found`() {
val testBrowser = Browser(packageName = "com.android.chrome", urlFieldId = "url_bar")
val testPackageName = "com.android.chrome"
val testBrowser = Browser(packageName = testPackageName, urlFieldId = "url_bar")
val url = "www.google.com"
val urlNode = mockk<AccessibilityNodeInfo> {
every { text } returns url
}
val rootNode = mockk<AccessibilityNodeInfo> {
every { packageName } returns testBrowser.packageName
every { packageName } returns testPackageName
every {
findAccessibilityNodeInfosByViewId(
"$packageName:id/${testBrowser.possibleUrlFieldIds.first()}",
"$testPackageName:id/${testBrowser.possibleUrlFieldIds.first()}",
)
} returns listOf(urlNode)
}
@@ -55,6 +55,7 @@ class CertificateManagerTest {
environmentRepository = mockEnvironmentRepository,
context = mockContext,
)
@BeforeEach
fun setUp() {
mockkStatic(KeyStore::class, KeyChain::class)
@@ -130,6 +131,9 @@ class CertificateManagerTest {
@Test
fun `mutualTlsCertificate should return null when keyUri is invalid`() {
every {
mockEnvironment.environmentUrlData
} returns DEFAULT_ENV_URL_DATA.copy(keyUri = null)
assertNull(certificateManager.mutualTlsCertificate)
}
@@ -667,6 +671,7 @@ class CertificateManagerTest {
@Test
fun `getCertificateChain should return null when mutualTlsCertificate is null`() {
setupMockUri(authority = "")
assertNull(certificateManager.getCertificateChain("mockAlias"))
}
@@ -684,6 +689,7 @@ class CertificateManagerTest {
@Test
fun `getPrivateKey should return null when mutualTlsCertificate is null`() {
setupMockUri(authority = "")
assertNull(certificateManager.getPrivateKey("mockAlias"))
}
@@ -56,6 +56,7 @@ class RecordedLogsViewModelTest : BaseViewModelTest() {
File::toURI,
Uri::parse,
)
every { Uri.parse(any()) } returns mockk()
}
@AfterEach
@@ -1,6 +1,7 @@
package com.bitwarden.authenticator.data.authenticator.repository
import android.net.Uri
import android.text.TextUtils
import app.cash.turbine.test
import com.bitwarden.authenticator.data.authenticator.datasource.disk.util.FakeAuthenticatorDiskSource
import com.bitwarden.authenticator.data.authenticator.datasource.entity.createMockAuthenticatorItemEntity
@@ -24,6 +25,8 @@ import com.bitwarden.authenticatorbridge.manager.model.AccountSyncState
import com.bitwarden.authenticatorbridge.model.SharedAccountData
import com.bitwarden.core.data.manager.dispatcher.FakeDispatcherManager
import com.bitwarden.core.data.repository.model.DataState
import com.bitwarden.core.data.util.asFailure
import com.bitwarden.core.data.util.asSuccess
import com.bitwarden.core.data.util.mockBuilder
import com.bitwarden.data.manager.file.FileManager
import com.bitwarden.ui.platform.model.FileData
@@ -86,6 +89,8 @@ class AuthenticatorRepositoryTest {
mockBuilder<Uri.Builder> { it.appendPath(any()) }
mockBuilder<Uri.Builder> { it.appendQueryParameter(any(), any()) }
every { anyConstructed<Uri.Builder>().build() } returns mockBuiltUri
mockkStatic(TextUtils::htmlEncode)
every { TextUtils.htmlEncode(any()) } returns ""
}
@AfterEach
@@ -93,6 +98,7 @@ class AuthenticatorRepositoryTest {
unmockkStatic(Uri::class)
unmockkStatic(List<SharedAccountData.Account>::toAuthenticatorItems)
unmockkConstructor(Uri.Builder::class)
unmockkStatic(TextUtils::htmlEncode)
}
@Test
@@ -396,7 +402,7 @@ class AuthenticatorRepositoryTest {
coEvery {
mockFileManager.uriToByteArray(mockUri)
} returns Result.success(testByteArray)
} returns testByteArray.asSuccess()
coEvery {
mockImportManager.import(
@@ -424,7 +430,7 @@ class AuthenticatorRepositoryTest {
coEvery {
mockFileManager.uriToByteArray(mockUri)
} returns Result.failure(RuntimeException("File read error"))
} returns RuntimeException("File read error").asFailure()
val result = authenticatorRepository.importVaultData(
format = ImportFileFormat.BITWARDEN_JSON,
@@ -446,7 +452,7 @@ class AuthenticatorRepositoryTest {
coEvery {
mockFileManager.uriToByteArray(mockUri)
} returns Result.success(testByteArray)
} returns testByteArray.asSuccess()
coEvery {
mockImportManager.import(
+1 -1
View File
@@ -19,7 +19,7 @@ androidxBiometrics = "1.2.0-alpha05"
androidxBrowser = "1.10.0"
androidxCamera = "1.6.1"
androidxComposeBom = "2026.06.00"
androidxCore = "1.18.0"
androidxCore = "1.19.0"
androidxCredentials = "1.6.0"
androidxCredentialsProviderEvents = "1.0.0-alpha06"
androidxHiltNavigationCompose = "1.3.0"