diff --git a/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java b/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java index 00553448e..844e81dd9 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/AppProviderTest.java @@ -275,10 +275,14 @@ public class AppProviderTest extends FDroidProviderTest { } public static App insertApp(ShadowContentResolver 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) { ContentValues values = new ContentValues(); values.put(Cols.Package.PACKAGE_NAME, id); - values.put(Cols.REPO_ID, 1); + values.put(Cols.REPO_ID, repoId); values.put(Cols.NAME, name); // Required fields (NOT NULL in the database). diff --git a/app/src/test/java/org/fdroid/fdroid/data/CategoryProviderTest.java b/app/src/test/java/org/fdroid/fdroid/data/CategoryProviderTest.java index ba6bcd48a..f093a7c89 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/CategoryProviderTest.java +++ b/app/src/test/java/org/fdroid/fdroid/data/CategoryProviderTest.java @@ -8,6 +8,7 @@ import android.net.Uri; import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.R; import org.fdroid.fdroid.data.Schema.AppMetadataTable.Cols; +import org.fdroid.fdroid.mock.MockRepo; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -107,9 +108,11 @@ public class CategoryProviderTest extends FDroidProviderTest { @Test public void testCategoriesMultiple() { - insertAppWithCategory("com.rock.dog", "Rock-Dog", "Mineral,Animal"); - insertAppWithCategory("com.dog.rock.apple", "Dog-Rock-Apple", "Animal,Mineral,Vegetable"); - insertAppWithCategory("com.banana.apple", "Banana", "Vegetable,Vegetable"); + long mainRepo = 1; + + insertAppWithCategory("com.rock.dog", "Rock-Dog", "Mineral,Animal", mainRepo); + insertAppWithCategory("com.dog.rock.apple", "Dog-Rock-Apple", "Animal,Mineral,Vegetable", mainRepo); + insertAppWithCategory("com.banana.apple", "Banana", "Vegetable,Vegetable", mainRepo); List categories = CategoryProvider.Helper.categories(context); String[] expected = new String[] { @@ -123,9 +126,11 @@ public class CategoryProviderTest extends FDroidProviderTest { }; assertContainsOnly(categories, expected); + int additionalRepo = 2; + insertAppWithCategory("com.example.game", "Game", "Running,Shooting,Jumping,Bleh,Sneh,Pleh,Blah,Test category," + - "The quick brown fox jumps over the lazy dog,With apostrophe's"); + "The quick brown fox jumps over the lazy dog,With apostrophe's", additionalRepo); List categoriesLonger = CategoryProvider.Helper.categories(context); String[] expectedLonger = new String[] { @@ -150,11 +155,19 @@ public class CategoryProviderTest extends FDroidProviderTest { }; assertContainsOnly(categoriesLonger, expectedLonger); + + RepoProvider.Helper.purgeApps(context, new MockRepo(additionalRepo)); + List categoriesAfterPurge = CategoryProvider.Helper.categories(context); + assertContainsOnly(categoriesAfterPurge, expected); } private void insertAppWithCategory(String id, String name, String categories) { + insertAppWithCategory(id, name, categories, 1); + } + + private void insertAppWithCategory(String id, String name, String categories, long repoId) { ContentValues values = new ContentValues(1); values.put(Cols.ForWriting.Categories.CATEGORIES, categories); - AppProviderTest.insertApp(contentResolver, context, id, name, values); + AppProviderTest.insertApp(contentResolver, context, id, name, values, repoId); } } diff --git a/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java b/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java index 788c3aa31..2aa284e9d 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java +++ b/app/src/test/java/org/fdroid/fdroid/data/ProviderUriTests.java @@ -88,7 +88,6 @@ public class ProviderUriTests { assertValidUri(resolver, AppProvider.getSearchUri("/"), "content://org.fdroid.fdroid.data.AppProvider/search/%2F", projection); assertValidUri(resolver, AppProvider.getSearchUri(""), "content://org.fdroid.fdroid.data.AppProvider", projection); assertValidUri(resolver, AppProvider.getSearchUri(null), "content://org.fdroid.fdroid.data.AppProvider", projection); - assertValidUri(resolver, AppProvider.getNoApksUri(), "content://org.fdroid.fdroid.data.AppProvider/noApks", projection); assertValidUri(resolver, AppProvider.getInstalledUri(), "content://org.fdroid.fdroid.data.AppProvider/installed", projection); assertValidUri(resolver, AppProvider.getCanUpdateUri(), "content://org.fdroid.fdroid.data.AppProvider/canUpdate", projection);