Merge branch 'ci-26' into 'master'

Run instrumentation test using ftp.fau.de instead of f-droid.org to avoid Let's Encrypt and work on SDK 23

See merge request fdroid/fdroidclient!1357
This commit is contained in:
Torsten Grote
2024-03-12 21:02:15 +00:00
2 changed files with 15 additions and 8 deletions

View File

@@ -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<Mirror> mirrors = Mirror.fromStrings(Collections.singletonList("https://f-droid.org/repo/"));
List<Mirror> 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);

View File

@@ -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