Use robolectric:4.3

- remove constants annotation
- Most @Implementation methods in shadow classes are now protected instead of public.
  Tests should always prefer to call SDK methods directly on Android classes rather
  than on their shadows
This commit is contained in:
Dominik Schürmann 2020-07-01 20:05:01 +02:00
parent c784274b98
commit cefd706aeb
27 changed files with 75 additions and 82 deletions

View File

@ -168,18 +168,22 @@ dependencies {
fullImplementation 'org.jmdns:jmdns:3.5.5'
fullImplementation 'org.nanohttpd:nanohttpd:2.3.1'
testImplementation 'org.robolectric:robolectric:3.8'
testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'androidx.test:monitor:1.1.1'
testImplementation 'org.bouncycastle:bcprov-jdk15on:1.60'
testImplementation 'junit:junit:4.13'
testImplementation 'org.hamcrest:hamcrest:2.2'
testImplementation 'org.mockito:mockito-core:2.7.22'
androidTestImplementation 'androidx.annotation:annotation:1.1.0'
androidTestImplementation 'androidx.test:core:1.2.0'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
androidTestImplementation 'androidx.annotation:annotation:1.1.0'
}
checkstyle {

View File

@ -23,7 +23,7 @@ import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class AntiFeaturesTest extends FDroidProviderTest {

View File

@ -1,5 +1,6 @@
package org.fdroid.fdroid;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
@ -13,7 +14,6 @@ import org.fdroid.fdroid.data.Repo;
import org.fdroid.fdroid.data.Schema.ApkTable;
import org.fdroid.fdroid.data.Schema.AppMetadataTable;
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
import org.robolectric.shadows.ShadowContentResolver;
import java.util.ArrayList;
import java.util.Collections;
@ -86,7 +86,7 @@ public class Assert {
}
}
public static void assertCantDelete(ShadowContentResolver resolver, Uri uri) {
public static void assertCantDelete(ContentResolver resolver, Uri uri) {
try {
resolver.delete(uri, null, null);
fail();
@ -97,7 +97,7 @@ public class Assert {
}
}
public static void assertCantUpdate(ShadowContentResolver resolver, Uri uri) {
public static void assertCantUpdate(ContentResolver resolver, Uri uri) {
try {
resolver.update(uri, new ContentValues(), null, null);
fail();
@ -108,36 +108,36 @@ public class Assert {
}
}
public static void assertInvalidUri(ShadowContentResolver resolver, String uri) {
public static void assertInvalidUri(ContentResolver resolver, String uri) {
assertInvalidUri(resolver, Uri.parse(uri));
}
public static void assertValidUri(ShadowContentResolver resolver, String uri, String[] projection) {
public static void assertValidUri(ContentResolver resolver, String uri, String[] projection) {
assertValidUri(resolver, Uri.parse(uri), projection);
}
public static void assertInvalidUri(ShadowContentResolver resolver, Uri uri) {
public static void assertInvalidUri(ContentResolver resolver, Uri uri) {
Cursor cursor = resolver.query(uri, new String[]{}, null, null, null);
assertNull(cursor);
}
public static void assertValidUri(ShadowContentResolver resolver, Uri uri, String[] projection) {
public static void assertValidUri(ContentResolver resolver, Uri uri, String[] projection) {
Cursor cursor = resolver.query(uri, projection, null, null, null);
assertNotNull(cursor);
cursor.close();
}
public static void assertValidUri(ShadowContentResolver resolver, Uri actualUri, String expectedUri,
public static void assertValidUri(ContentResolver resolver, Uri actualUri, String expectedUri,
String[] projection) {
assertValidUri(resolver, actualUri, projection);
assertEquals(expectedUri, actualUri.toString());
}
public static void assertResultCount(ShadowContentResolver resolver, int expectedCount, Uri uri) {
public static void assertResultCount(ContentResolver resolver, int expectedCount, Uri uri) {
assertResultCount(resolver, expectedCount, uri, new String[]{});
}
public static void assertResultCount(ShadowContentResolver resolver, int expectedCount, Uri uri,
public static void assertResultCount(ContentResolver resolver, int expectedCount, Uri uri,
String[] projection) {
Cursor cursor = resolver.query(uri, projection, null, null, null);
assertResultCount(expectedCount, cursor);
@ -154,7 +154,7 @@ public class Assert {
assertEquals(expectedCount, result.getCount());
}
public static void assertIsInstalledVersionInDb(ShadowContentResolver resolver,
public static void assertIsInstalledVersionInDb(ContentResolver resolver,
String appId, int versionCode, String versionName) {
Uri uri = InstalledAppProvider.getAppUri(appId);

View File

@ -16,7 +16,6 @@ import java.util.List;
/**
* @author Michael Poehn (michael.poehn@fsfe.org)
*/
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class ProvisionerTest {

View File

@ -19,7 +19,6 @@ import org.fdroid.fdroid.data.Schema;
import org.mockito.AdditionalAnswers;
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowContentResolver;
import java.io.File;
import java.io.FileOutputStream;
@ -157,7 +156,7 @@ public class TestUtils {
* {@link ContextWrapper} which is able to return a proper content
* resolver that delegates to the Robolectric shadow object.
*/
public static ContextWrapper createContextWithContentResolver(ShadowContentResolver contentResolver) {
public static ContextWrapper createContextWithContentResolver(ContentResolver contentResolver) {
final ContentResolver resolver = mock(ContentResolver.class, AdditionalAnswers.delegatesTo(contentResolver));
return new ContextWrapper(RuntimeEnvironment.application.getApplicationContext()) {
@Override

View File

@ -19,7 +19,6 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class UtilsTest {

View File

@ -31,7 +31,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class ApkProviderTest extends FDroidProviderTest {

View File

@ -15,7 +15,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class AppPrefsProviderTest extends FDroidProviderTest {

View File

@ -16,7 +16,6 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowContentResolver;
import java.util.ArrayList;
import java.util.List;
@ -31,7 +30,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class AppProviderTest extends FDroidProviderTest {
@ -315,11 +314,11 @@ public class AppProviderTest extends FDroidProviderTest {
return insertApp(contentResolver, context, id, name, additionalValues);
}
public static App insertApp(ShadowContentResolver contentResolver, Context context, String id, String name, ContentValues additionalValues) {
public static App insertApp(ContentResolver contentResolver, Context context, String id, String name, ContentValues additionalValues) {
return insertApp(contentResolver, context, id, name, additionalValues, 1);
}
public static App insertApp(ShadowContentResolver contentResolver, Context context, String id, String name, ContentValues additionalValues, long repoId) {
public static App insertApp(ContentResolver contentResolver, Context context, String id, String name, ContentValues additionalValues, long repoId) {
ContentValues values = new ContentValues();
values.put(Cols.Package.PACKAGE_NAME, id);

View File

@ -24,7 +24,7 @@ import static org.fdroid.fdroid.Assert.assertContainsOnly;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class CategoryProviderTest extends FDroidProviderTest {

View File

@ -12,6 +12,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.xmlpull.v1.XmlPullParserException;
import java.io.File;
@ -46,7 +47,7 @@ public class DBHelperTest {
@Before
public final void setupBase() {
context = InstrumentationRegistry.getContext();
context = RuntimeEnvironment.application.getApplicationContext();
}
@Test

View File

@ -20,7 +20,7 @@ import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowContentResolver;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class DatabaseMigration {
@ -30,7 +30,7 @@ public class DatabaseMigration {
@Before
public final void setupBase() {
contentResolver = RuntimeEnvironment.application.getContentResolver();
context = TestUtils.createContextWithContentResolver(Shadows.shadowOf(contentResolver));
context = TestUtils.createContextWithContentResolver(contentResolver);
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
}

View File

@ -18,7 +18,7 @@ public abstract class FDroidProviderTest { // NOPMD This abstract class does not
@Before
public final void setupBase() {
contentResolver = RuntimeEnvironment.application.getContentResolver();
context = TestUtils.createContextWithContentResolver(Shadows.shadowOf(contentResolver));
context = TestUtils.createContextWithContentResolver(contentResolver);
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
}

View File

@ -24,7 +24,7 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class InstalledAppProviderTest extends FDroidProviderTest {

View File

@ -13,7 +13,7 @@ import org.robolectric.annotation.Config;
import static org.junit.Assert.assertEquals;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class PreferredSignatureTest extends FDroidProviderTest {

View File

@ -20,7 +20,6 @@ import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowContentResolver;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class ProviderUriTests {
@ -45,67 +44,67 @@ public class ProviderUriTests {
@Test
public void invalidInstalledAppProviderUris() {
TestUtils.registerContentProvider(InstalledAppProvider.getAuthority(), InstalledAppProvider.class);
assertInvalidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getAuthority());
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
assertInvalidUri(resolver, InstalledAppProvider.getAuthority());
assertInvalidUri(resolver, "blah");
}
@Test
public void validInstalledAppProviderUris() {
TestUtils.registerContentProvider(InstalledAppProvider.getAuthority(), InstalledAppProvider.class);
String[] projection = new String[]{InstalledAppTable.Cols._ID};
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getContentUri(), projection);
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getAppUri("org.example.app"), projection);
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("blah"), projection);
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("\"blah\""), projection);
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("blah & sneh"), projection);
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("http://blah.example.com?sneh=\"sneh\""), projection);
assertValidUri(resolver, InstalledAppProvider.getContentUri(), projection);
assertValidUri(resolver, InstalledAppProvider.getAppUri("org.example.app"), projection);
assertValidUri(resolver, InstalledAppProvider.getSearchUri("blah"), projection);
assertValidUri(resolver, InstalledAppProvider.getSearchUri("\"blah\""), projection);
assertValidUri(resolver, InstalledAppProvider.getSearchUri("blah & sneh"), projection);
assertValidUri(resolver, InstalledAppProvider.getSearchUri("http://blah.example.com?sneh=\"sneh\""), projection);
}
@Test
public void invalidRepoProviderUris() {
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
assertInvalidUri(Shadows.shadowOf(resolver), RepoProvider.getAuthority());
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
assertInvalidUri(resolver, RepoProvider.getAuthority());
assertInvalidUri(resolver, "blah");
}
@Test
public void validRepoProviderUris() {
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
String[] projection = new String[]{Schema.RepoTable.Cols._ID};
assertValidUri(Shadows.shadowOf(resolver), RepoProvider.getContentUri(), projection);
assertValidUri(Shadows.shadowOf(resolver), RepoProvider.getContentUri(10000L), projection);
assertValidUri(Shadows.shadowOf(resolver), RepoProvider.allExceptSwapUri(), projection);
assertValidUri(resolver, RepoProvider.getContentUri(), projection);
assertValidUri(resolver, RepoProvider.getContentUri(10000L), projection);
assertValidUri(resolver, RepoProvider.allExceptSwapUri(), projection);
}
@Test
public void invalidAppProviderUris() {
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
assertInvalidUri(Shadows.shadowOf(resolver), AppProvider.getAuthority());
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
assertInvalidUri(resolver, AppProvider.getAuthority());
assertInvalidUri(resolver, "blah");
}
@Test
public void validAppProviderUris() {
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
String[] projection = new String[]{Schema.AppMetadataTable.Cols._ID};
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getContentUri(), APP_PROVIDER_URI_BASE, projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("'searching!'", null), APP_PROVIDER_URI_BASE + "/search/'searching!'", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("'searching!'", "Games"), APP_PROVIDER_URI_BASE + "/search/'searching!'/Games", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("/", null), APP_PROVIDER_URI_BASE + "/search/%2F", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("/", "Games"), APP_PROVIDER_URI_BASE + "/search/%2F/Games", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("", null), APP_PROVIDER_URI_BASE, projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("", "Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getCategoryUri("Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri((String) null, null), APP_PROVIDER_URI_BASE, projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri((String) null, "Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getInstalledUri(), APP_PROVIDER_URI_BASE + "/installed", projection);
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getCanUpdateUri(), APP_PROVIDER_URI_BASE + "/canUpdate", projection);
assertValidUri(resolver, AppProvider.getContentUri(), APP_PROVIDER_URI_BASE, projection);
assertValidUri(resolver, AppProvider.getSearchUri("'searching!'", null), APP_PROVIDER_URI_BASE + "/search/'searching!'", projection);
assertValidUri(resolver, AppProvider.getSearchUri("'searching!'", "Games"), APP_PROVIDER_URI_BASE + "/search/'searching!'/Games", projection);
assertValidUri(resolver, AppProvider.getSearchUri("/", null), APP_PROVIDER_URI_BASE + "/search/%2F", projection);
assertValidUri(resolver, AppProvider.getSearchUri("/", "Games"), APP_PROVIDER_URI_BASE + "/search/%2F/Games", projection);
assertValidUri(resolver, AppProvider.getSearchUri("", null), APP_PROVIDER_URI_BASE, projection);
assertValidUri(resolver, AppProvider.getSearchUri("", "Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
assertValidUri(resolver, AppProvider.getCategoryUri("Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
assertValidUri(resolver, AppProvider.getSearchUri((String) null, null), APP_PROVIDER_URI_BASE, projection);
assertValidUri(resolver, AppProvider.getSearchUri((String) null, "Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
assertValidUri(resolver, AppProvider.getInstalledUri(), APP_PROVIDER_URI_BASE + "/installed", projection);
assertValidUri(resolver, AppProvider.getCanUpdateUri(), APP_PROVIDER_URI_BASE + "/canUpdate", projection);
App app = new App();
app.repoId = 1;
app.packageName = "org.fdroid.fdroid";
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSpecificAppUri(app.packageName, app.repoId),
assertValidUri(resolver, AppProvider.getSpecificAppUri(app.packageName, app.repoId),
APP_PROVIDER_URI_BASE + "/app/1/org.fdroid.fdroid", projection);
}
@ -116,22 +115,22 @@ public class ProviderUriTests {
// Required so that the `assertValidUri` calls below will indeed have a real temp_fdroid_app
// table to query.
TempAppProvider.Helper.init(TestUtils.createContextWithContentResolver(Shadows.shadowOf(resolver)), 123);
TempAppProvider.Helper.init(TestUtils.createContextWithContentResolver(resolver), 123);
List<String> packageNames = new ArrayList<>(2);
packageNames.add("org.fdroid.fdroid");
packageNames.add("com.example.com");
assertValidUri(Shadows.shadowOf(resolver), TempAppProvider.getAppsUri(packageNames, 1),
assertValidUri(resolver, TempAppProvider.getAppsUri(packageNames, 1),
TEMP_APP_PROVIDER_URI_BASE + "/apps/1/org.fdroid.fdroid%2Ccom.example.com", projection);
assertValidUri(Shadows.shadowOf(resolver), TempAppProvider.getContentUri(), TEMP_APP_PROVIDER_URI_BASE, projection);
assertValidUri(resolver, TempAppProvider.getContentUri(), TEMP_APP_PROVIDER_URI_BASE, projection);
}
@Test
public void invalidApkProviderUris() {
TestUtils.registerContentProvider(ApkProvider.getAuthority(), ApkProvider.class);
assertInvalidUri(Shadows.shadowOf(resolver), ApkProvider.getAuthority());
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
assertInvalidUri(resolver, ApkProvider.getAuthority());
assertInvalidUri(resolver, "blah");
}
@Test
@ -144,15 +143,15 @@ public class ProviderUriTests {
apks.add(new MockApk("com.example." + i, i));
}
assertValidUri(Shadows.shadowOf(resolver), ApkProvider.getContentUri(),
assertValidUri(resolver, ApkProvider.getContentUri(),
APK_PROVIDER_URI_BASE, projection);
assertValidUri(Shadows.shadowOf(resolver), ApkProvider.getAppUri("org.fdroid.fdroid"),
assertValidUri(resolver, ApkProvider.getAppUri("org.fdroid.fdroid"),
APK_PROVIDER_URI_BASE + "/app/org.fdroid.fdroid", projection);
assertValidUri(Shadows.shadowOf(resolver), ApkProvider.getApkFromAnyRepoUri(new MockApk("org.fdroid.fdroid", 100)),
assertValidUri(resolver, ApkProvider.getApkFromAnyRepoUri(new MockApk("org.fdroid.fdroid", 100)),
APK_PROVIDER_URI_BASE + "/apk-any-repo/100/org.fdroid.fdroid", projection);
assertValidUri(Shadows.shadowOf(resolver), ApkProvider.getApkFromAnyRepoUri("org.fdroid.fdroid", 100, null),
assertValidUri(resolver, ApkProvider.getApkFromAnyRepoUri("org.fdroid.fdroid", 100, null),
APK_PROVIDER_URI_BASE + "/apk-any-repo/100/org.fdroid.fdroid", projection);
assertValidUri(Shadows.shadowOf(resolver), ApkProvider.getRepoUri(1000),
assertValidUri(resolver, ApkProvider.getRepoUri(1000),
APK_PROVIDER_URI_BASE + "/repo/1000", projection);
}
}

View File

@ -45,7 +45,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class RepoProviderTest extends FDroidProviderTest {

View File

@ -58,7 +58,6 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
public class RepoXMLHandlerTest {
private static final String TAG = "RepoXMLHandlerTest";

View File

@ -16,7 +16,7 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class SuggestedVersionTest extends FDroidProviderTest {

View File

@ -15,7 +15,6 @@ import java.net.URL;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class HttpDownloaderTest {

View File

@ -18,7 +18,6 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
public class AcceptableMultiIndexUpdaterTest extends MultiIndexUpdaterTest {
private static final String TAG = "AcceptableMultiRepoTest";

View File

@ -21,7 +21,6 @@ import static org.junit.Assert.assertThat;
* Check whether app icons are loaded from the correct repository. The repository with the
* highest priority should be where we decide to load icons from.
*/
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class AppIconsTest extends MultiIndexUpdaterTest {

View File

@ -13,7 +13,6 @@ import org.robolectric.annotation.Config;
* because there is so much metadata to parse in the main repo, covering many different aspects
* of the available metadata. Some apps will be added, others updated, and it should all just work.
*/
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
public class FDroidRepoUpdateTest extends MultiIndexUpdaterTest {

View File

@ -62,7 +62,6 @@ import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
public class IndexV1UpdaterTest extends FDroidProviderTest {
public static final String TAG = "IndexV1UpdaterTest";

View File

@ -17,7 +17,6 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
@Config(constants = BuildConfig.class)
@RunWith(RobolectricTestRunner.class)
@SuppressWarnings("LineLength")
public class Issue763MultiRepo extends MultiIndexUpdaterTest {

View File

@ -33,7 +33,7 @@ import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@Config(constants = BuildConfig.class, shadows = ProperMultiIndexUpdaterTest.ArmSystemProperties.class)
@Config(shadows = ProperMultiIndexUpdaterTest.ArmSystemProperties.class)
@RunWith(RobolectricTestRunner.class)
public class ProperMultiIndexUpdaterTest extends MultiIndexUpdaterTest {
private static final String TAG = "ProperMultiRepoSupport";

View File

@ -27,7 +27,7 @@ import org.robolectric.annotation.Config;
import static org.junit.Assert.assertEquals;
@Config(constants = BuildConfig.class, application = Application.class)
@Config(application = Application.class)
@RunWith(RobolectricTestRunner.class)
public class AppDetailsAdapterTest extends FDroidProviderTest {