diff --git a/app/src/androidTest/java/org/fdroid/repo/RepoManagerAddAllIntegrationTest.kt b/app/src/androidTest/java/org/fdroid/repo/RepoManagerAddAllIntegrationTest.kt index fedd84594..ab5344d43 100644 --- a/app/src/androidTest/java/org/fdroid/repo/RepoManagerAddAllIntegrationTest.kt +++ b/app/src/androidTest/java/org/fdroid/repo/RepoManagerAddAllIntegrationTest.kt @@ -135,7 +135,7 @@ internal class RepoManagerAddAllIntegrationTest { repoManager.fetchRepositoryPreview(url = url, proxy = null) repoManager.addRepoState.test(timeout = 15.seconds) { val fetchState = awaitFinalFetchState() - if (fetchState is Fetching && fetchState.canAdd) { + if (fetchState is Fetching && fetchState.fetchResult != null) { repoManager.addFetchedRepository() val item = awaitItem() if (item is Adding) { diff --git a/libs/database/src/main/java/org/fdroid/repo/RepoAdder.kt b/libs/database/src/main/java/org/fdroid/repo/RepoAdder.kt index 69ac54049..614164a67 100644 --- a/libs/database/src/main/java/org/fdroid/repo/RepoAdder.kt +++ b/libs/database/src/main/java/org/fdroid/repo/RepoAdder.kt @@ -59,24 +59,9 @@ public class Fetching( */ public val done: Boolean = false, ) : AddRepoState() { - /** - * true if the repository can be added (be it as new [Repository] or new mirror). - */ - public val canAdd: Boolean = receivedRepo != null && - fetchResult != null && - fetchResult !is FetchResult.IsExistingRepository && - fetchResult !is FetchResult.IsExistingMirror - - public val isMirror: Boolean = receivedRepo != null && - fetchResult != null && - (fetchResult is FetchResult.IsNewMirror || - fetchResult is FetchResult.IsExistingMirror || - fetchResult is FetchResult.IsNewRepoAndNewMirror - ) - override fun toString(): String { return "Fetching(fetchUrl=$fetchUrl, repo=${receivedRepo?.address}, apps=${apps.size}, " + - "fetchResult=$fetchResult, done=$done, canAdd=$canAdd)" + "fetchResult=$fetchResult, done=$done)" } } diff --git a/libs/database/src/test/java/org/fdroid/repo/RepoAdderTest.kt b/libs/database/src/test/java/org/fdroid/repo/RepoAdderTest.kt index a53988170..014c2ed1a 100644 --- a/libs/database/src/test/java/org/fdroid/repo/RepoAdderTest.kt +++ b/libs/database/src/test/java/org/fdroid/repo/RepoAdderTest.kt @@ -358,12 +358,12 @@ internal class RepoAdderTest { // repo is already in the DB every { repoDao.getRepository(any()) } returns existingRepo + val isRepo = existingRepo.address == url val expectedFetchResult = - if (existingRepo.address == url) - FetchResult.IsExistingRepository(existingRepo.repoId) + if (isRepo) FetchResult.IsExistingRepository(existingRepo.repoId) else FetchResult.IsExistingMirror(existingRepo.repoId) - expectMinRepoPreview(repoName, expectedFetchResult, canAdd = false) { + expectMinRepoPreview(repoName, expectedFetchResult) { repoAdder.fetchRepository(url = downloadUrl, proxy = null) } assertFailsWith { @@ -396,7 +396,7 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) + assertNull(state1.fetchResult) val state2 = awaitItem() assertTrue(state2 is AddRepoError, "$state2") @@ -449,7 +449,7 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) + assertNull(state1.fetchResult) val state2 = awaitItem() assertTrue(state2 is AddRepoError, "$state2") @@ -485,7 +485,7 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) + assertNull(state1.fetchResult) val state2 = awaitItem() assertTrue(state2 is AddRepoError, "$state2") @@ -566,7 +566,7 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) + assertNull(state1.fetchResult) val state2 = awaitItem() onSecondState(state2) @@ -629,25 +629,25 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) + assertNull(state1.fetchResult) val state2 = awaitItem() assertIs(state2) assertEquals(repoAddress, state2.receivedRepo?.address) - assertTrue(state2.canAdd) + assertIs(state2.fetchResult) assertFalse(state2.done) val state3 = awaitItem() assertIs(state3) - assertTrue(state3.canAdd) + assertIs(state3.fetchResult) assertTrue(state3.done) } } @Test fun testFallbackToV1() = runTest { - val url = "https://example.org/repo/" - val urlTrimmed = "https://example.org/repo" + val url = "http://testy.at.or.at/fdroid/repo/" + val urlTrimmed = "http://testy.at.or.at/fdroid/repo" val jarFile = folder.newFile() every { tempFileProvider.createTempFile() } returns jarFile @@ -691,13 +691,12 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) for (i in 0..64) assertIs(awaitItem()) } val addRepoState = repoAdder.addRepoState.value assertIs(addRepoState) - assertTrue(addRepoState.canAdd) + assertIs(addRepoState.fetchResult) assertEquals(63, addRepoState.apps.size) } @@ -736,7 +735,6 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertTrue(state1.apps.isEmpty()) - assertFalse(state1.canAdd) val state2 = awaitItem() assertTrue(state2 is AddRepoError, "$state2") @@ -863,7 +861,6 @@ internal class RepoAdderTest { private suspend fun expectMinRepoPreview( repoName: String?, expectedFetchResult: FetchResult, - canAdd: Boolean = true, block: suspend () -> Unit = {}, ) { repoAdder.addRepoState.test { @@ -881,7 +878,6 @@ internal class RepoAdderTest { assertIs(state1) assertNull(state1.receivedRepo) assertEquals(emptyList(), state1.apps) - assertFalse(state1.canAdd) assertFalse(state1.done) // onRepoReceived @@ -893,7 +889,6 @@ internal class RepoAdderTest { val result = state2.fetchResult ?: fail() assertEquals(expectedFetchResult, result) assertTrue(state2.apps.isEmpty()) - assertEquals(canAdd, state2.canAdd) assertFalse(state2.done) // onAppReceived @@ -901,13 +896,11 @@ internal class RepoAdderTest { assertIs(state3) assertEquals(TestDataMinV2.packages.size, state3.apps.size) assertEquals(TestDataMinV2.packageName, state3.apps[0].packageName) - assertEquals(canAdd, state3.canAdd) assertFalse(state3.done) // final result val state4 = awaitItem() assertIs(state4) - assertEquals(canAdd, state4.canAdd) assertTrue(state4.done) } }