mirror of
https://github.com/f-droid/fdroidclient.git
synced 2026-06-14 10:55:47 -04:00
[app] Fix or remove UI tests
Tests for v0 index have been removed with their assets. AntiFeaturesTest is not needed anymore, because filtering doesn't happen in new DB PanicResponderActivityTest can not be tested as easily anymore MultiIndexUpdaterTests are now spread over various database tests LocaleSelectionTest is now in org.fdroid.database.BestLocaleTest Most tests org.fdroid.fdroid.data now have equivalents in the new database library
This commit is contained in:
committed by
Hans-Christoph Steiner
parent
d61ecbfa08
commit
cf913ffefa
@@ -1,7 +1,13 @@
|
||||
package org.fdroid.fdroid.nearby;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import org.fdroid.fdroid.FDroidApp;
|
||||
import org.fdroid.fdroid.Utils;
|
||||
import org.junit.Ignore;
|
||||
@@ -13,12 +19,6 @@ import org.robolectric.shadows.ShadowLog;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
|
||||
/**
|
||||
* Test that this can start and stop the webserver.
|
||||
|
||||
@@ -168,23 +168,13 @@ public class LocalHTTPDTest {
|
||||
assertTrue(string.indexOf("test.html") > 0);
|
||||
connection.disconnect();
|
||||
|
||||
IOUtils.copy(classLoader.getResourceAsStream("index.microg.jar"),
|
||||
new FileOutputStream(new File(webRoot, "index.microg.jar")));
|
||||
url = new URL(baseUrl + "/index.microg.jar");
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
assertEquals(200, connection.getResponseCode());
|
||||
byte[] actual = IOUtils.toByteArray(connection.getInputStream());
|
||||
byte[] expected = IOUtils.toByteArray(classLoader.getResourceAsStream("index.microg.jar"));
|
||||
Assert.assertArrayEquals(expected, actual);
|
||||
connection.disconnect();
|
||||
|
||||
IOUtils.copy(classLoader.getResourceAsStream("extendedPerms.xml"),
|
||||
new FileOutputStream(new File(webRoot, "extendedPerms.xml")));
|
||||
url = new URL(baseUrl + "/extendedPerms.xml");
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
assertEquals(200, connection.getResponseCode());
|
||||
actual = IOUtils.toByteArray(connection.getInputStream());
|
||||
expected = IOUtils.toByteArray(classLoader.getResourceAsStream("extendedPerms.xml"));
|
||||
byte[] actual = IOUtils.toByteArray(connection.getInputStream());
|
||||
byte[] expected = IOUtils.toByteArray(classLoader.getResourceAsStream("extendedPerms.xml"));
|
||||
Assert.assertArrayEquals(expected, actual);
|
||||
connection.disconnect();
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@ public class LocalRepoKeyStoreTest {
|
||||
JarOutputStream jo = new JarOutputStream(bo);
|
||||
JarEntry je = new JarEntry(IndexUpdater.DATA_FILE_NAME);
|
||||
jo.putNextEntry(je);
|
||||
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("smallRepo.xml");
|
||||
InputStream inputStream =
|
||||
getClass().getClassLoader().getResourceAsStream("all_fields_index-v1.json");
|
||||
IOUtils.copy(inputStream, jo);
|
||||
jo.close();
|
||||
bo.close();
|
||||
@@ -53,7 +54,7 @@ public class LocalRepoKeyStoreTest {
|
||||
JarFile jarFile = new JarFile(xmlIndexJar, true);
|
||||
JarEntry indexEntry = (JarEntry) jarFile.getEntry(IndexUpdater.DATA_FILE_NAME);
|
||||
byte[] data = IOUtils.toByteArray(jarFile.getInputStream(indexEntry));
|
||||
assertEquals(17187, data.length);
|
||||
assertEquals(6431, data.length);
|
||||
assertNotNull(IndexUpdater.getSigningCertFromJar(indexEntry));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
package org.fdroid.fdroid.panic;
|
||||
|
||||
import org.fdroid.fdroid.data.DBHelper;
|
||||
import org.fdroid.fdroid.data.FDroidProviderTest;
|
||||
import org.fdroid.fdroid.data.Repo;
|
||||
import org.fdroid.fdroid.data.RepoProvider;
|
||||
import org.fdroid.fdroid.data.RepoProviderTest;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class PanicResponderActivityTest extends FDroidProviderTest {
|
||||
|
||||
/**
|
||||
* The {@link DBHelper} class populates the default repos when it first creates a database.
|
||||
* The names/URLs/signing certificates for these repos are all hard coded in the source/res.
|
||||
*/
|
||||
@Test
|
||||
public void defaultRepos() {
|
||||
int defaultRepoCount = RepoProviderTest.getDefaultRepoCount(context);
|
||||
|
||||
List<Repo> defaultRepos = RepoProvider.Helper.all(context);
|
||||
assertEquals(defaultRepos.size(), defaultRepoCount);
|
||||
|
||||
Repo gpRepo = RepoProvider.Helper.findByAddress(context, "https://guardianproject.info/fdroid/repo");
|
||||
setEnabled(gpRepo, true);
|
||||
assertEquals(2, RepoProvider.Helper.countEnabledRepos(context));
|
||||
|
||||
PanicResponderActivity.resetRepos(context);
|
||||
assertEquals(1, RepoProvider.Helper.countEnabledRepos(context));
|
||||
defaultRepos = RepoProvider.Helper.all(context);
|
||||
assertEquals(defaultRepoCount, defaultRepos.size());
|
||||
|
||||
RepoProviderTest.insertRepo(
|
||||
context,
|
||||
"https://mock-repo-1.example.com/fdroid/repo",
|
||||
"Just a made up repo",
|
||||
"ABCDEF1234567890",
|
||||
"Mock Repo 1"
|
||||
);
|
||||
defaultRepos = RepoProvider.Helper.all(context);
|
||||
assertEquals(defaultRepoCount + 1, defaultRepos.size());
|
||||
assertEquals(2, RepoProvider.Helper.countEnabledRepos(context));
|
||||
|
||||
PanicResponderActivity.resetRepos(context);
|
||||
defaultRepos = RepoProvider.Helper.all(context);
|
||||
assertEquals(defaultRepoCount, defaultRepos.size());
|
||||
assertEquals(1, RepoProvider.Helper.countEnabledRepos(context));
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.fdroid.fdroid.updater;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.content.ContextWrapper;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
@@ -80,11 +82,6 @@ public class SwapRepoTest {
|
||||
}
|
||||
};
|
||||
|
||||
TestUtils.registerContentProvider(ApkProvider.getAuthority(), ApkProvider.class);
|
||||
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
||||
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
|
||||
TestUtils.registerContentProvider(TempAppProvider.getAuthority(), TempAppProvider.class);
|
||||
|
||||
Preferences.setupForTests(context);
|
||||
}
|
||||
|
||||
@@ -147,8 +144,7 @@ public class SwapRepoTest {
|
||||
assertFalse(TextUtils.isEmpty(signingCert));
|
||||
assertFalse(TextUtils.isEmpty(Utils.calcFingerprint(localCert)));
|
||||
|
||||
Repo repo = MultiIndexUpdaterTest.createRepo("", FDroidApp.repo.getAddress(),
|
||||
context, signingCert);
|
||||
Repo repo = createRepo("", FDroidApp.repo.getAddress(), context, signingCert);
|
||||
IndexUpdater updater = new IndexUpdater(context, repo);
|
||||
updater.update();
|
||||
assertTrue(updater.hasChanged());
|
||||
@@ -164,11 +160,11 @@ public class SwapRepoTest {
|
||||
assertTrue(foundRepo);
|
||||
|
||||
assertNotEquals(-1, repo.getId());
|
||||
List<Apk> apks = ApkProvider.Helper.findByRepo(context, repo, Schema.ApkTable.Cols.ALL);
|
||||
assertEquals(1, apks.size());
|
||||
for (Apk apk : apks) {
|
||||
System.out.println(apk);
|
||||
}
|
||||
// List<Apk> apks = ApkProvider.Helper.findByRepo(context, repo, Schema.ApkTable.Cols.ALL);
|
||||
// assertEquals(1, apks.size());
|
||||
// for (Apk apk : apks) {
|
||||
// System.out.println(apk);
|
||||
// }
|
||||
//MultiIndexUpdaterTest.assertApksExist(apks, context.getPackageName(), new int[]{BuildConfig.VERSION_CODE});
|
||||
Thread.sleep(10000);
|
||||
} finally {
|
||||
@@ -177,4 +173,17 @@ public class SwapRepoTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a real instance of {@code Repo} by loading it from the database,
|
||||
* that ensures it includes the primary key from the database.
|
||||
*/
|
||||
static Repo createRepo(String name, String uri, Context context, String signingCert) {
|
||||
ContentValues values = new ContentValues(3);
|
||||
values.put(Schema.RepoTable.Cols.SIGNING_CERT, signingCert);
|
||||
values.put(Schema.RepoTable.Cols.ADDRESS, uri);
|
||||
values.put(Schema.RepoTable.Cols.NAME, name);
|
||||
RepoProvider.Helper.insert(context, values);
|
||||
return RepoProvider.Helper.findByAddress(context, uri);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user