diff --git a/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java b/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java index 32510b95a..682dfe212 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java @@ -51,12 +51,16 @@ public class HttpDownloaderTest { new Pair<>("https://ftp.fau.de/fdroid/repo", "dev.lonami.klooni/en-US/phoneScreenshots/1-game.jpg"), //new Pair<>("https://microg.org/fdroid/repo/index-v1.jar"), //new Pair<>("https://grobox.de/fdroid/repo/index.jar"), - new Pair<>("https://guardianproject.info/fdroid/repo", IndexV1UpdaterKt.SIGNED_FILE_NAME) + new Pair<>("https://guardianproject.info/fdroid/repo", IndexV1UpdaterKt.SIGNED_FILE_NAME), + new Pair<>("https://en.wikipedia.org", "/wiki/Index.html"), // no SNI but weird ipv6 lookup issues + new Pair<>("https://mirror.cyberbits.eu/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME) // TLSv1.2 only and SNI )); - if (Build.VERSION.SDK_INT >= 22) { - tempUrls.addAll(Arrays.asList( - new Pair<>("https://en.wikipedia.org", "/wiki/Index.html"), // no SNI but weird ipv6 lookup issues - new Pair<>("https://mirror.cyberbits.eu/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME) // TLSv1.2 only and SNI + if (Build.VERSION.SDK_INT < 26) { + // domains that use Let's Encrypt won't work on Android 7.1 and older + // https://gitlab.com/fdroid/fdroidclient/-/issues/2102 + tempUrls = new ArrayList<>(Arrays.asList( + new Pair<>("https://ftp.fau.de/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME), + new Pair<>("https://ftp.gwdg.de/pub/android/fdroid/repo/", IndexV1UpdaterKt.SIGNED_FILE_NAME) )); } URLS = tempUrls; @@ -151,7 +155,7 @@ public class HttpDownloaderTest { public void downloadThenCancel() throws IOException, InterruptedException { final CountDownLatch latch = new CountDownLatch(2); String path = "index.jar"; - List mirrors = Mirror.fromStrings(Collections.singletonList("https://f-droid.org/repo/")); + List mirrors = Mirror.fromStrings(Collections.singletonList("https://ftp.fau.de/fdroid/repo/")); File destFile = File.createTempFile("dl-", ""); final DownloadRequest request = new DownloadRequest(path, mirrors, null, null, null); final HttpDownloader httpDownloader = new HttpDownloader(httpManager, request, destFile); diff --git a/libs/download/src/androidInstrumentedTest/kotlin/org/fdroid/download/HttpManagerInstrumentationTest.kt b/libs/download/src/androidInstrumentedTest/kotlin/org/fdroid/download/HttpManagerInstrumentationTest.kt index de6e15299..df54aad23 100644 --- a/libs/download/src/androidInstrumentedTest/kotlin/org/fdroid/download/HttpManagerInstrumentationTest.kt +++ b/libs/download/src/androidInstrumentedTest/kotlin/org/fdroid/download/HttpManagerInstrumentationTest.kt @@ -16,12 +16,12 @@ import org.fdroid.getIndexFile import org.fdroid.getRandomString import org.fdroid.runSuspend import org.json.JSONObject +import org.junit.Assume.assumeTrue import org.junit.runner.RunWith import javax.net.ssl.SSLHandshakeException import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFalse -import kotlin.test.assertTrue @RunWith(AndroidJUnit4::class) @Suppress("BlockingMethodInNonBlockingContext") @@ -113,7 +113,10 @@ internal class HttpManagerInstrumentationTest { // second request right after resumed session JSONObject(httpManager.getBytes(downloadRequest).decodeToString()).let { json -> val connectionInfo = json.getJSONObject("connection_info") - assertTrue(connectionInfo.getBoolean("session_resumed")) + assumeTrue( + "Session was not resumed at all", + connectionInfo.getBoolean("session_resumed") + ) } delay(10_100) // third request after 10s did not resume session