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:
parent
c784274b98
commit
cefd706aeb
@ -168,18 +168,22 @@ dependencies {
|
|||||||
fullImplementation 'org.jmdns:jmdns:3.5.5'
|
fullImplementation 'org.jmdns:jmdns:3.5.5'
|
||||||
fullImplementation 'org.nanohttpd:nanohttpd:2.3.1'
|
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 'androidx.test:monitor:1.1.1'
|
||||||
testImplementation 'org.bouncycastle:bcprov-jdk15on:1.60'
|
testImplementation 'org.bouncycastle:bcprov-jdk15on:1.60'
|
||||||
testImplementation 'junit:junit:4.13'
|
testImplementation 'junit:junit:4.13'
|
||||||
testImplementation 'org.hamcrest:hamcrest:2.2'
|
testImplementation 'org.hamcrest:hamcrest:2.2'
|
||||||
testImplementation 'org.mockito:mockito-core:2.7.22'
|
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.espresso:espresso-core:3.2.0'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
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.test.uiautomator:uiautomator:2.2.0'
|
||||||
|
androidTestImplementation 'androidx.annotation:annotation:1.1.0'
|
||||||
}
|
}
|
||||||
|
|
||||||
checkstyle {
|
checkstyle {
|
||||||
|
@ -23,7 +23,7 @@ import static org.junit.Assert.assertArrayEquals;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AntiFeaturesTest extends FDroidProviderTest {
|
public class AntiFeaturesTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package org.fdroid.fdroid;
|
package org.fdroid.fdroid;
|
||||||
|
|
||||||
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.database.Cursor;
|
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.ApkTable;
|
||||||
import org.fdroid.fdroid.data.Schema.AppMetadataTable;
|
import org.fdroid.fdroid.data.Schema.AppMetadataTable;
|
||||||
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
import org.fdroid.fdroid.data.Schema.InstalledAppTable;
|
||||||
import org.robolectric.shadows.ShadowContentResolver;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
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 {
|
try {
|
||||||
resolver.delete(uri, null, null);
|
resolver.delete(uri, null, null);
|
||||||
fail();
|
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 {
|
try {
|
||||||
resolver.update(uri, new ContentValues(), null, null);
|
resolver.update(uri, new ContentValues(), null, null);
|
||||||
fail();
|
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));
|
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);
|
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);
|
Cursor cursor = resolver.query(uri, new String[]{}, null, null, null);
|
||||||
assertNull(cursor);
|
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);
|
Cursor cursor = resolver.query(uri, projection, null, null, null);
|
||||||
assertNotNull(cursor);
|
assertNotNull(cursor);
|
||||||
cursor.close();
|
cursor.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void assertValidUri(ShadowContentResolver resolver, Uri actualUri, String expectedUri,
|
public static void assertValidUri(ContentResolver resolver, Uri actualUri, String expectedUri,
|
||||||
String[] projection) {
|
String[] projection) {
|
||||||
assertValidUri(resolver, actualUri, projection);
|
assertValidUri(resolver, actualUri, projection);
|
||||||
assertEquals(expectedUri, actualUri.toString());
|
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[]{});
|
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) {
|
String[] projection) {
|
||||||
Cursor cursor = resolver.query(uri, projection, null, null, null);
|
Cursor cursor = resolver.query(uri, projection, null, null, null);
|
||||||
assertResultCount(expectedCount, cursor);
|
assertResultCount(expectedCount, cursor);
|
||||||
@ -154,7 +154,7 @@ public class Assert {
|
|||||||
assertEquals(expectedCount, result.getCount());
|
assertEquals(expectedCount, result.getCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void assertIsInstalledVersionInDb(ShadowContentResolver resolver,
|
public static void assertIsInstalledVersionInDb(ContentResolver resolver,
|
||||||
String appId, int versionCode, String versionName) {
|
String appId, int versionCode, String versionName) {
|
||||||
Uri uri = InstalledAppProvider.getAppUri(appId);
|
Uri uri = InstalledAppProvider.getAppUri(appId);
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ import java.util.List;
|
|||||||
/**
|
/**
|
||||||
* @author Michael Poehn (michael.poehn@fsfe.org)
|
* @author Michael Poehn (michael.poehn@fsfe.org)
|
||||||
*/
|
*/
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class ProvisionerTest {
|
public class ProvisionerTest {
|
||||||
|
@ -19,7 +19,6 @@ import org.fdroid.fdroid.data.Schema;
|
|||||||
import org.mockito.AdditionalAnswers;
|
import org.mockito.AdditionalAnswers;
|
||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.shadows.ShadowContentResolver;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
@ -157,7 +156,7 @@ public class TestUtils {
|
|||||||
* {@link ContextWrapper} which is able to return a proper content
|
* {@link ContextWrapper} which is able to return a proper content
|
||||||
* resolver that delegates to the Robolectric shadow object.
|
* 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));
|
final ContentResolver resolver = mock(ContentResolver.class, AdditionalAnswers.delegatesTo(contentResolver));
|
||||||
return new ContextWrapper(RuntimeEnvironment.application.getApplicationContext()) {
|
return new ContextWrapper(RuntimeEnvironment.application.getApplicationContext()) {
|
||||||
@Override
|
@Override
|
||||||
|
@ -19,7 +19,6 @@ import static org.junit.Assert.assertNotNull;
|
|||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class UtilsTest {
|
public class UtilsTest {
|
||||||
|
@ -31,7 +31,7 @@ import static org.junit.Assert.assertNotNull;
|
|||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class ApkProviderTest extends FDroidProviderTest {
|
public class ApkProviderTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ import static org.junit.Assert.assertFalse;
|
|||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AppPrefsProviderTest extends FDroidProviderTest {
|
public class AppPrefsProviderTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadows.ShadowContentResolver;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class AppProviderTest extends FDroidProviderTest {
|
public class AppProviderTest extends FDroidProviderTest {
|
||||||
@ -315,11 +314,11 @@ public class AppProviderTest extends FDroidProviderTest {
|
|||||||
return insertApp(contentResolver, context, id, name, additionalValues);
|
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);
|
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();
|
ContentValues values = new ContentValues();
|
||||||
values.put(Cols.Package.PACKAGE_NAME, id);
|
values.put(Cols.Package.PACKAGE_NAME, id);
|
||||||
|
@ -24,7 +24,7 @@ import static org.fdroid.fdroid.Assert.assertContainsOnly;
|
|||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.assertArrayEquals;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class CategoryProviderTest extends FDroidProviderTest {
|
public class CategoryProviderTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ import org.junit.Before;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -46,7 +47,7 @@ public class DBHelperTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public final void setupBase() {
|
public final void setupBase() {
|
||||||
context = InstrumentationRegistry.getContext();
|
context = RuntimeEnvironment.application.getApplicationContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -20,7 +20,7 @@ import org.robolectric.Shadows;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadows.ShadowContentResolver;
|
import org.robolectric.shadows.ShadowContentResolver;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class DatabaseMigration {
|
public class DatabaseMigration {
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ public class DatabaseMigration {
|
|||||||
@Before
|
@Before
|
||||||
public final void setupBase() {
|
public final void setupBase() {
|
||||||
contentResolver = RuntimeEnvironment.application.getContentResolver();
|
contentResolver = RuntimeEnvironment.application.getContentResolver();
|
||||||
context = TestUtils.createContextWithContentResolver(Shadows.shadowOf(contentResolver));
|
context = TestUtils.createContextWithContentResolver(contentResolver);
|
||||||
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ public abstract class FDroidProviderTest { // NOPMD This abstract class does not
|
|||||||
@Before
|
@Before
|
||||||
public final void setupBase() {
|
public final void setupBase() {
|
||||||
contentResolver = RuntimeEnvironment.application.getContentResolver();
|
contentResolver = RuntimeEnvironment.application.getContentResolver();
|
||||||
context = TestUtils.createContextWithContentResolver(Shadows.shadowOf(contentResolver));
|
context = TestUtils.createContextWithContentResolver(contentResolver);
|
||||||
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ import static org.junit.Assert.assertNotEquals;
|
|||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class InstalledAppProviderTest extends FDroidProviderTest {
|
public class InstalledAppProviderTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ import org.robolectric.annotation.Config;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class PreferredSignatureTest extends FDroidProviderTest {
|
public class PreferredSignatureTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -20,7 +20,6 @@ import org.robolectric.Shadows;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadows.ShadowContentResolver;
|
import org.robolectric.shadows.ShadowContentResolver;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class ProviderUriTests {
|
public class ProviderUriTests {
|
||||||
@ -45,67 +44,67 @@ public class ProviderUriTests {
|
|||||||
@Test
|
@Test
|
||||||
public void invalidInstalledAppProviderUris() {
|
public void invalidInstalledAppProviderUris() {
|
||||||
TestUtils.registerContentProvider(InstalledAppProvider.getAuthority(), InstalledAppProvider.class);
|
TestUtils.registerContentProvider(InstalledAppProvider.getAuthority(), InstalledAppProvider.class);
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getAuthority());
|
assertInvalidUri(resolver, InstalledAppProvider.getAuthority());
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
|
assertInvalidUri(resolver, "blah");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void validInstalledAppProviderUris() {
|
public void validInstalledAppProviderUris() {
|
||||||
TestUtils.registerContentProvider(InstalledAppProvider.getAuthority(), InstalledAppProvider.class);
|
TestUtils.registerContentProvider(InstalledAppProvider.getAuthority(), InstalledAppProvider.class);
|
||||||
String[] projection = new String[]{InstalledAppTable.Cols._ID};
|
String[] projection = new String[]{InstalledAppTable.Cols._ID};
|
||||||
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getContentUri(), projection);
|
assertValidUri(resolver, InstalledAppProvider.getContentUri(), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getAppUri("org.example.app"), projection);
|
assertValidUri(resolver, InstalledAppProvider.getAppUri("org.example.app"), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("blah"), projection);
|
assertValidUri(resolver, InstalledAppProvider.getSearchUri("blah"), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("\"blah\""), projection);
|
assertValidUri(resolver, InstalledAppProvider.getSearchUri("\"blah\""), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("blah & sneh"), projection);
|
assertValidUri(resolver, InstalledAppProvider.getSearchUri("blah & sneh"), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), InstalledAppProvider.getSearchUri("http://blah.example.com?sneh=\"sneh\""), projection);
|
assertValidUri(resolver, InstalledAppProvider.getSearchUri("http://blah.example.com?sneh=\"sneh\""), projection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void invalidRepoProviderUris() {
|
public void invalidRepoProviderUris() {
|
||||||
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
|
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), RepoProvider.getAuthority());
|
assertInvalidUri(resolver, RepoProvider.getAuthority());
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
|
assertInvalidUri(resolver, "blah");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void validRepoProviderUris() {
|
public void validRepoProviderUris() {
|
||||||
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
|
TestUtils.registerContentProvider(RepoProvider.getAuthority(), RepoProvider.class);
|
||||||
String[] projection = new String[]{Schema.RepoTable.Cols._ID};
|
String[] projection = new String[]{Schema.RepoTable.Cols._ID};
|
||||||
assertValidUri(Shadows.shadowOf(resolver), RepoProvider.getContentUri(), projection);
|
assertValidUri(resolver, RepoProvider.getContentUri(), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), RepoProvider.getContentUri(10000L), projection);
|
assertValidUri(resolver, RepoProvider.getContentUri(10000L), projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), RepoProvider.allExceptSwapUri(), projection);
|
assertValidUri(resolver, RepoProvider.allExceptSwapUri(), projection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void invalidAppProviderUris() {
|
public void invalidAppProviderUris() {
|
||||||
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), AppProvider.getAuthority());
|
assertInvalidUri(resolver, AppProvider.getAuthority());
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
|
assertInvalidUri(resolver, "blah");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void validAppProviderUris() {
|
public void validAppProviderUris() {
|
||||||
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
TestUtils.registerContentProvider(AppProvider.getAuthority(), AppProvider.class);
|
||||||
String[] projection = new String[]{Schema.AppMetadataTable.Cols._ID};
|
String[] projection = new String[]{Schema.AppMetadataTable.Cols._ID};
|
||||||
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getContentUri(), APP_PROVIDER_URI_BASE, projection);
|
assertValidUri(resolver, AppProvider.getContentUri(), APP_PROVIDER_URI_BASE, projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("'searching!'", null), APP_PROVIDER_URI_BASE + "/search/'searching!'", projection);
|
assertValidUri(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(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(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(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(resolver, AppProvider.getSearchUri("", null), APP_PROVIDER_URI_BASE, projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getSearchUri("", "Games"), APP_PROVIDER_URI_BASE + "/category/Games", projection);
|
assertValidUri(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(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(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(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(resolver, AppProvider.getInstalledUri(), APP_PROVIDER_URI_BASE + "/installed", projection);
|
||||||
assertValidUri(Shadows.shadowOf(resolver), AppProvider.getCanUpdateUri(), APP_PROVIDER_URI_BASE + "/canUpdate", projection);
|
assertValidUri(resolver, AppProvider.getCanUpdateUri(), APP_PROVIDER_URI_BASE + "/canUpdate", projection);
|
||||||
|
|
||||||
App app = new App();
|
App app = new App();
|
||||||
app.repoId = 1;
|
app.repoId = 1;
|
||||||
app.packageName = "org.fdroid.fdroid";
|
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);
|
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
|
// Required so that the `assertValidUri` calls below will indeed have a real temp_fdroid_app
|
||||||
// table to query.
|
// 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);
|
List<String> packageNames = new ArrayList<>(2);
|
||||||
packageNames.add("org.fdroid.fdroid");
|
packageNames.add("org.fdroid.fdroid");
|
||||||
packageNames.add("com.example.com");
|
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);
|
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
|
@Test
|
||||||
public void invalidApkProviderUris() {
|
public void invalidApkProviderUris() {
|
||||||
TestUtils.registerContentProvider(ApkProvider.getAuthority(), ApkProvider.class);
|
TestUtils.registerContentProvider(ApkProvider.getAuthority(), ApkProvider.class);
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), ApkProvider.getAuthority());
|
assertInvalidUri(resolver, ApkProvider.getAuthority());
|
||||||
assertInvalidUri(Shadows.shadowOf(resolver), "blah");
|
assertInvalidUri(resolver, "blah");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -144,15 +143,15 @@ public class ProviderUriTests {
|
|||||||
apks.add(new MockApk("com.example." + i, i));
|
apks.add(new MockApk("com.example." + i, i));
|
||||||
}
|
}
|
||||||
|
|
||||||
assertValidUri(Shadows.shadowOf(resolver), ApkProvider.getContentUri(),
|
assertValidUri(resolver, ApkProvider.getContentUri(),
|
||||||
APK_PROVIDER_URI_BASE, projection);
|
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);
|
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);
|
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);
|
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);
|
APK_PROVIDER_URI_BASE + "/repo/1000", projection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ import static org.junit.Assert.assertEquals;
|
|||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class RepoProviderTest extends FDroidProviderTest {
|
public class RepoProviderTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -58,7 +58,6 @@ import static org.junit.Assert.assertNull;
|
|||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class RepoXMLHandlerTest {
|
public class RepoXMLHandlerTest {
|
||||||
private static final String TAG = "RepoXMLHandlerTest";
|
private static final String TAG = "RepoXMLHandlerTest";
|
||||||
|
@ -16,7 +16,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class SuggestedVersionTest extends FDroidProviderTest {
|
public class SuggestedVersionTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@ import java.net.URL;
|
|||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class HttpDownloaderTest {
|
public class HttpDownloaderTest {
|
||||||
|
@ -18,7 +18,6 @@ import java.util.List;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AcceptableMultiIndexUpdaterTest extends MultiIndexUpdaterTest {
|
public class AcceptableMultiIndexUpdaterTest extends MultiIndexUpdaterTest {
|
||||||
private static final String TAG = "AcceptableMultiRepoTest";
|
private static final String TAG = "AcceptableMultiRepoTest";
|
||||||
|
@ -21,7 +21,6 @@ import static org.junit.Assert.assertThat;
|
|||||||
* Check whether app icons are loaded from the correct repository. The repository with the
|
* 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.
|
* highest priority should be where we decide to load icons from.
|
||||||
*/
|
*/
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class AppIconsTest extends MultiIndexUpdaterTest {
|
public class AppIconsTest extends MultiIndexUpdaterTest {
|
||||||
|
@ -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
|
* 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.
|
* of the available metadata. Some apps will be added, others updated, and it should all just work.
|
||||||
*/
|
*/
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class FDroidRepoUpdateTest extends MultiIndexUpdaterTest {
|
public class FDroidRepoUpdateTest extends MultiIndexUpdaterTest {
|
||||||
|
|
||||||
|
@ -62,7 +62,6 @@ import static org.junit.Assert.assertThat;
|
|||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class IndexV1UpdaterTest extends FDroidProviderTest {
|
public class IndexV1UpdaterTest extends FDroidProviderTest {
|
||||||
public static final String TAG = "IndexV1UpdaterTest";
|
public static final String TAG = "IndexV1UpdaterTest";
|
||||||
|
@ -17,7 +17,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class)
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@SuppressWarnings("LineLength")
|
@SuppressWarnings("LineLength")
|
||||||
public class Issue763MultiRepo extends MultiIndexUpdaterTest {
|
public class Issue763MultiRepo extends MultiIndexUpdaterTest {
|
||||||
|
@ -33,7 +33,7 @@ import java.util.Map;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, shadows = ProperMultiIndexUpdaterTest.ArmSystemProperties.class)
|
@Config(shadows = ProperMultiIndexUpdaterTest.ArmSystemProperties.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class ProperMultiIndexUpdaterTest extends MultiIndexUpdaterTest {
|
public class ProperMultiIndexUpdaterTest extends MultiIndexUpdaterTest {
|
||||||
private static final String TAG = "ProperMultiRepoSupport";
|
private static final String TAG = "ProperMultiRepoSupport";
|
||||||
|
@ -27,7 +27,7 @@ import org.robolectric.annotation.Config;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
@Config(constants = BuildConfig.class, application = Application.class)
|
@Config(application = Application.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AppDetailsAdapterTest extends FDroidProviderTest {
|
public class AppDetailsAdapterTest extends FDroidProviderTest {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user