diff options
| author | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-11-21 15:17:50 +0100 |
|---|---|---|
| committer | Jonatan Rhodin <jonatan.rhodin@mullvad.net> | 2025-11-21 15:17:50 +0100 |
| commit | 9a57656709bd76310a83a3ca1149b009d3f9611b (patch) | |
| tree | 1d8952e512c13e99641a02f65570ab238e63933e | |
| parent | 4845dcc29ca88c414ba31b39bd951a11af3e71ee (diff) | |
| parent | 9fc0e7505deecf1e086554c2cdee4ed3c7c9c679 (diff) | |
| download | mullvadvpn-9a57656709bd76310a83a3ca1149b009d3f9611b.tar.xz mullvadvpn-9a57656709bd76310a83a3ca1149b009d3f9611b.zip | |
Merge branch 'make-e2e-tests-more-robus'
2 files changed, 16 insertions, 1 deletions
diff --git a/android/lib/ui/designsystem/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/designsystem/ListItem.kt b/android/lib/ui/designsystem/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/designsystem/ListItem.kt index d3beb7ddb8..629619bf5d 100644 --- a/android/lib/ui/designsystem/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/designsystem/ListItem.kt +++ b/android/lib/ui/designsystem/src/main/kotlin/net/mullvad/mullvadvpn/lib/ui/designsystem/ListItem.kt @@ -36,6 +36,8 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.testTag +import androidx.compose.ui.semantics.selected +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewFontScale @@ -135,6 +137,7 @@ fun MullvadListItem( .applyIfNotNull(onClick, and = isEnabled) { combinedClickable(enabled = true, onClick = it, onLongClick = onLongClick) } + .semantics { selected = isSelected } .padding(start = ListTokens.listItemPaddingStart + hierarchy.paddingStart), verticalAlignment = Alignment.CenterVertically, ) { diff --git a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/api/partner/PartnerApi.kt b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/api/partner/PartnerApi.kt index 4d2e0ff198..4e959ba4d5 100644 --- a/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/api/partner/PartnerApi.kt +++ b/android/test/e2e/src/main/kotlin/net/mullvad/mullvadvpn/test/e2e/api/partner/PartnerApi.kt @@ -1,8 +1,10 @@ package net.mullvad.mullvadvpn.test.e2e.api.partner +import co.touchlab.kermit.Logger import io.ktor.client.HttpClient import io.ktor.client.call.body import io.ktor.client.engine.cio.CIO +import io.ktor.client.plugins.HttpRequestRetry import io.ktor.client.plugins.contentnegotiation.ContentNegotiation import io.ktor.client.plugins.defaultRequest import io.ktor.client.plugins.logging.LogLevel @@ -34,6 +36,11 @@ class PartnerApi(base64AuthCredentials: String) { level = LogLevel.INFO sanitizeHeader { header -> header == HttpHeaders.Authorization } } + install(HttpRequestRetry) { + retryOnException(maxRetries = MAX_RETRIES, retryOnTimeout = true) + retryOnServerErrors(maxRetries = MAX_RETRIES) + exponentialDelay() + } defaultRequest { url { @@ -65,10 +72,15 @@ class PartnerApi(base64AuthCredentials: String) { suspend fun deleteAccount(accountNumber: String) = withContext(Dispatchers.IO) { - client.delete { url { path("$ACCOUNT_PATH/$accountNumber") } } + try { + client.delete { url { path("$ACCOUNT_PATH/$accountNumber") } } + } catch (e: Throwable) { + Logger.e("Could not delete account", e) + } } companion object { + private const val MAX_RETRIES = 3 private const val BASE_URL = "partner.${BuildConfig.INFRASTRUCTURE_BASE_DOMAIN}" private const val ACCOUNT_PATH = "v1/accounts" } |
