From d72a9867244e8a6f5f715670cbda67168b3e15da Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 12 Jul 2022 08:34:51 +0200 Subject: [PATCH 1/6] test on NC16, NC27 Signed-off-by: tobiasKaminsky --- .drone.yml | 107 +++++++++++++++++- ...ashboardGetWidgetItemsRemoteOperationIT.kt | 9 +- .../DashboardListWidgetsRemoteOperationIT.kt | 2 +- ...ectEditingCreateFileRemoteOperationIT.java | 19 +++- ...btainListOfTemplatesRemoteOperationIT.java | 6 + .../DirectEditingObtainRemoteOperationIT.kt | 7 ++ ...irectEditingOpenFileRemoteOperationIT.java | 7 ++ .../files/ToggleFileLockRemoteOperationIT.kt | 2 +- .../profile/GetHoverCardRemoteOperationIT.kt | 4 +- .../SearchProvidersRemoteOperationIT.kt | 10 +- .../search/UnifiedSearchRemoteOperationIT.kt | 10 ++ ...rkspaceDirectEditingRemoteOperationIT.java | 6 + .../java/com/owncloud/android/AbstractIT.java | 2 +- .../java/com/owncloud/android/FileIT.java | 11 +- .../GetCapabilitiesRemoteOperationIT.java | 8 +- .../e2ee/UpdateMetadataRemoteOperationIT.java | 2 +- .../files/ReadFolderRemoteOperationIT.kt | 2 +- .../files/SearchRemoteOperationIT.java | 12 +- .../files/UploadFileRemoteOperationIT.kt | 32 ++++-- .../shares/GetSharesRemoteOperationIT.java | 7 +- .../users/AppTokenRemoteOperationIT.kt | 7 +- .../android/lib/resources/users/StatusIT.kt | 2 +- 22 files changed, 224 insertions(+), 50 deletions(-) diff --git a/.drone.yml b/.drone.yml index b93b660a8..8bc909c58 100644 --- a/.drone.yml +++ b/.drone.yml @@ -121,7 +121,102 @@ trigger: --- kind: pipeline type: docker -name: test-stable +name: test-stable-16 + +steps: + - name: test + image: ghcr.io/nextcloud/continuous-integration-android8:3 + privileged: true + environment: + LOG_USERNAME: + from_secret: LOG_USERNAME + LOG_PASSWORD: + from_secret: LOG_PASSWORD + GIT_USERNAME: + from_secret: GIT_USERNAME + GIT_TOKEN: + from_secret: GIT_TOKEN + commands: + - emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 & + - sed -i s"#https://server#http://server-oldest-stable#" gradle.properties + - sed -i s"#1#5#" ./library/src/androidTest/java/com/owncloud/android/RetryTestRule.kt + - ./gradlew assembleDebug + - ./scripts/wait_for_emulator.sh + - ./scripts/wait_for_server.sh server-oldest-stable + - scripts/deleteOutdatedComments.sh "stable16" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - scripts/deleteOutdatedComments.sh "stable16" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - ./gradlew jacocoTestDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable16" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - ./gradlew installDebugAndroidTest + - ./gradlew createDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable16" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - ./gradlew combinedTestReport + - curl -Os https://uploader.codecov.io/latest/linux/codecov + - chmod +x codecov + - ./codecov -t 2eec98c3-ff20-4cad-9e08-463471a33431 + + - name: notify + image: drillster/drone-email + settings: + port: 587 + from: nextcloud-drone@kaminsky.me + recipients_only: true + username: + from_secret: EMAIL_USERNAME + password: + from_secret: EMAIL_PASSWORD + recipients: + from_secret: EMAIL_RECIPIENTS + host: + from_secret: EMAIL_HOST + when: + event: + - push + status: + - failure + branch: + - master + - stable-* + +services: + - name: server-stable-16 + image: nextcloudci/server:server-13 + environment: + SERVER_VERSION: stable16 + BRANCH: stable16 + commands: + - /initnc.sh + - su www-data -c "php /var/www/html/occ log:manage --level warning" + - su www-data -c "OC_PASS=user1 php /var/www/html/occ user:add --password-from-env --display-name='User One' user1" + - su www-data -c "OC_PASS=user2 php /var/www/html/occ user:add --password-from-env --display-name='User Two' user2" + - su www-data -c "OC_PASS=user3 php /var/www/html/occ user:add --password-from-env --display-name='User Three' user3" + - su www-data -c "OC_PASS=test php /var/www/html/occ user:add --password-from-env --display-name='Test@Test' test@test" + - su www-data -c "OC_PASS=test php /var/www/html/occ user:add --password-from-env --display-name='Test Spaces' 'test test'" + - su www-data -c "php /var/www/html/occ user:setting user2 files quota 1G" + - su www-data -c "php /var/www/html/occ group:add users" + - su www-data -c "php /var/www/html/occ group:adduser users user1" + - su www-data -c "php /var/www/html/occ group:adduser users user2" + - su www-data -c "git clone -b $SERVER_VERSION https://github.com/nextcloud/activity.git /var/www/html/apps/activity/" + - su www-data -c "php /var/www/html/occ app:enable activity" + - su www-data -c "git clone -b $SERVER_VERSION https://github.com/nextcloud/text.git /var/www/html/apps/text/" + - su www-data -c "php /var/www/html/occ app:enable text" + - su www-data -c "git clone -b $SERVER_VERSION https://github.com/nextcloud/end_to_end_encryption.git /var/www/html/apps/end_to_end_encryption/" + - su www-data -c "php /var/www/html/occ app:enable end_to_end_encryption" + - su www-data -c "git clone -b $SERVER_VERSION https://github.com/nextcloud/password_policy.git /var/www/html/apps/password_policy/" + - su www-data -c "php /var/www/html/occ app:enable password_policy" + - su www-data -c "git clone -b $SERVER_VERSION https://github.com/nextcloud/external.git /var/www/html/apps/external/" + - su www-data -c 'php /var/www/html/occ config:app:set external sites --value="{\"1\":{\"id\":1,\"name\":\"Nextcloud\",\"url\":\"https:\/\/www.nextcloud.com\",\"lang\":\"\",\"type\":\"link\",\"device\":\"\",\"icon\":\"external.svg\",\"groups\":[],\"redirect\":false},\"2\":{\"id\":2,\"name\":\"Forum\",\"url\":\"https:\/\/help.nextcloud.com\",\"lang\":\"\",\"type\":\"link\",\"device\":\"\",\"icon\":\"external.svg\",\"groups\":[],\"redirect\":false}}"' + - su www-data -c "php /var/www/html/occ app:enable external" + - /run.sh + +trigger: + branch: + - master + event: + - push + - pull_request +--- +kind: pipeline +type: docker +name: test-stable-27 steps: - name: test @@ -143,11 +238,11 @@ steps: - ./gradlew assembleDebug - ./scripts/wait_for_emulator.sh - ./scripts/wait_for_server.sh server-stable - - scripts/deleteOutdatedComments.sh "stable" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - - scripts/deleteOutdatedComments.sh "stable" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - - ./gradlew jacocoTestDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - scripts/deleteOutdatedComments.sh "stable25" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - scripts/deleteOutdatedComments.sh "stable25" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - ./gradlew jacocoTestDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable25" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - ./gradlew installDebugAndroidTest - - ./gradlew createDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN + - ./gradlew createDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable25" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - ./gradlew combinedTestReport - curl -Os https://uploader.codecov.io/latest/linux/codecov - chmod +x codecov @@ -177,7 +272,7 @@ steps: - stable-* services: - - name: server-stable + - name: server-stable-27 image: ghcr.io/nextcloud/continuous-integration-shallow-server:latest environment: SERVER_VERSION: stable27 diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt index a2e9aed38..79ed0561e 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardGetWidgetItemsRemoteOperationIT.kt @@ -14,14 +14,17 @@ import com.owncloud.android.lib.resources.shares.OCShare import com.owncloud.android.lib.resources.shares.ShareType import com.owncloud.android.lib.resources.status.NextcloudVersion import org.junit.Assert.assertTrue +import org.junit.Before import org.junit.Test class DashboardGetWidgetItemsRemoteOperationIT : AbstractIT() { + @Before + fun before() { + requireServerVersion(NextcloudVersion.nextcloud_25) + } + @Test fun getItems() { - // only on NC25+ - testOnlyOnServer(NextcloudVersion.nextcloud_25) - // create folder to have some content assertTrue(CreateFolderRemoteOperation("/testFolder", false).execute(client2).isSuccess) assertTrue( diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt index fce4bdf27..fd16ed5e8 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/dashboard/DashboardListWidgetsRemoteOperationIT.kt @@ -17,7 +17,7 @@ class DashboardListWidgetsRemoteOperationIT : AbstractIT() { @Test fun list() { // only on NC25+ - testOnlyOnServer(NextcloudVersion.nextcloud_25) + requireServerVersion(NextcloudVersion.nextcloud_25) val result = DashboardListWidgetsRemoteOperation().execute(nextcloudClient) assertTrue(result.isSuccess) diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperationIT.java b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperationIT.java index 6d30c7e01..8a2cb30cf 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperationIT.java +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperationIT.java @@ -12,10 +12,17 @@ import com.owncloud.android.AbstractIT; import com.owncloud.android.lib.common.operations.RemoteOperationResult; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; +import org.junit.BeforeClass; import org.junit.Test; public class DirectEditingCreateFileRemoteOperationIT extends AbstractIT { + @BeforeClass + public static void beforeClass() { + requireServerVersion(OwnCloudVersion.nextcloud_18); + } + @Test public void createEmptyFile() { RemoteOperationResult result = new DirectEditingCreateFileRemoteOperation("/test.md", @@ -32,9 +39,9 @@ public void createEmptyFile() { @Test public void createFileFromTemplate() { RemoteOperationResult result = new DirectEditingCreateFileRemoteOperation("/test.md", - "text", - "textdocument", - "1") + "text", + "textdocument", + "1") .execute(client); assertTrue(result.isSuccess()); @@ -46,9 +53,9 @@ public void createFileFromTemplate() { @Test public void createFileWithSpecialCharacterFromTemplate() { RemoteOperationResult result = new DirectEditingCreateFileRemoteOperation("/あ.md", - "text", - "textdocument", - "1") + "text", + "textdocument", + "1") .execute(client); assertTrue(result.isSuccess()); diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperationIT.java b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperationIT.java index 05efbd44c..c11941a81 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperationIT.java +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperationIT.java @@ -13,10 +13,16 @@ import com.owncloud.android.AbstractIT; import com.owncloud.android.lib.common.TemplateList; import com.owncloud.android.lib.common.operations.RemoteOperationResult; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; +import org.junit.BeforeClass; import org.junit.Test; public class DirectEditingObtainListOfTemplatesRemoteOperationIT extends AbstractIT { + @BeforeClass + public static void beforeClass() { + requireServerVersion(OwnCloudVersion.nextcloud_18); + } @Test public void testGetAll() { diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperationIT.kt index 6e11c69f0..84fd622b6 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperationIT.kt @@ -8,13 +8,20 @@ package com.nextcloud.android.lib.resources.directediting import com.owncloud.android.AbstractIT +import com.owncloud.android.lib.resources.status.OwnCloudVersion import junit.framework.Assert.assertEquals import junit.framework.Assert.assertFalse import junit.framework.Assert.assertNotNull import junit.framework.Assert.assertTrue +import org.junit.Before import org.junit.Test class DirectEditingObtainRemoteOperationIT : AbstractIT() { + @Before + fun before() { + requireServerVersion(OwnCloudVersion.nextcloud_18) + } + @Test fun testGetAll() { val result = DirectEditingObtainRemoteOperation().execute(client) diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperationIT.java b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperationIT.java index 080355271..c4f32e1d0 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperationIT.java +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperationIT.java @@ -14,14 +14,21 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation; import com.owncloud.android.lib.resources.files.UploadFileRemoteOperation; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; import junit.framework.TestCase; +import org.junit.BeforeClass; import org.junit.Test; import java.io.IOException; public class DirectEditingOpenFileRemoteOperationIT extends AbstractIT { + @BeforeClass + public static void beforeClass() { + requireServerVersion(OwnCloudVersion.nextcloud_18); + } + @Test public void openFile() throws IOException { // create file diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/files/ToggleFileLockRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/files/ToggleFileLockRemoteOperationIT.kt index 235c6c1c3..8e7336e35 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/files/ToggleFileLockRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/files/ToggleFileLockRemoteOperationIT.kt @@ -22,7 +22,7 @@ class ToggleFileLockRemoteOperationIT : AbstractIT() { @Test fun lockUnlockFile() { // only on >= NC24 - testOnlyOnServer(nextcloud_24) + requireServerVersion(nextcloud_24) // create file val filePath: String = createFile("text") diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperationIT.kt index 356547504..a85289499 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperationIT.kt @@ -8,7 +8,7 @@ package com.nextcloud.android.lib.resources.profile import com.owncloud.android.AbstractIT -import com.owncloud.android.lib.resources.status.NextcloudVersion +import com.owncloud.android.lib.resources.status.NextcloudVersion.Companion.nextcloud_23 import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.Before @@ -17,7 +17,7 @@ import org.junit.Test class GetHoverCardRemoteOperationIT : AbstractIT() { @Before fun before() { - testOnlyOnServer(NextcloudVersion.nextcloud_23) + requireServerVersion(nextcloud_23) } @Test diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt index f1f6c9ebf..fdca58f5d 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt @@ -8,22 +8,16 @@ package com.nextcloud.android.lib.resources.search import com.owncloud.android.AbstractIT -import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation -import com.owncloud.android.lib.resources.status.OCCapability -import com.owncloud.android.lib.resources.status.OwnCloudVersion -import org.junit.Assert.assertFalse +import com.owncloud.android.lib.resources.status.OwnCloudVersion.nextcloud_20 import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Assert.assertTrue -import org.junit.Assume.assumeTrue +import org.junit.BeforeClass import org.junit.Test class SearchProvidersRemoteOperationIT : AbstractIT() { @Test fun getSearchProviders() { - // only on NC20+ - testOnlyOnServer(OwnCloudVersion.nextcloud_20) - val result = nextcloudClient.execute(UnifiedSearchProvidersRemoteOperation()) assertTrue(result.isSuccess) diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperationIT.kt index 5f78c913c..73d8b75d0 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperationIT.kt @@ -11,10 +11,12 @@ import com.owncloud.android.AbstractIT import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation import com.owncloud.android.lib.resources.files.model.RemoteFile +import com.owncloud.android.lib.resources.status.OwnCloudVersion import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull import org.junit.Assert.assertTrue +import org.junit.BeforeClass import org.junit.Test class UnifiedSearchRemoteOperationIT : AbstractIT() { @@ -76,4 +78,12 @@ class UnifiedSearchRemoteOperationIT : AbstractIT() { assertTrue(data.entries.isNotEmpty()) assertNotNull(data.entries.find { it.title == "test Folder" }) } + + companion object { + @BeforeClass + @JvmStatic + fun before() { + requireServerVersion(OwnCloudVersion.nextcloud_20) + } + } } diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperationIT.java b/library/src/androidTest/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperationIT.java index 8d4d2f8c3..6bf8342fa 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperationIT.java +++ b/library/src/androidTest/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperationIT.java @@ -16,13 +16,19 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation; import com.owncloud.android.lib.resources.files.UploadFileRemoteOperation; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; +import org.junit.BeforeClass; import org.junit.Test; import java.io.File; import java.io.IOException; public class RichWorkspaceDirectEditingRemoteOperationIT extends AbstractIT { + @BeforeClass + public static void beforeClass() { + requireServerVersion(OwnCloudVersion.nextcloud_18); + } @Test public void getEditLinkForRoot() { diff --git a/library/src/androidTest/java/com/owncloud/android/AbstractIT.java b/library/src/androidTest/java/com/owncloud/android/AbstractIT.java index 629747cce..06eac9ec6 100644 --- a/library/src/androidTest/java/com/owncloud/android/AbstractIT.java +++ b/library/src/androidTest/java/com/owncloud/android/AbstractIT.java @@ -314,7 +314,7 @@ protected void longSleep() { } } - protected void testOnlyOnServer(OwnCloudVersion version) { + public static void requireServerVersion(OwnCloudVersion version) { OCCapability ocCapability = (OCCapability) new GetCapabilitiesRemoteOperation() .execute(nextcloudClient) .getSingleData(); diff --git a/library/src/androidTest/java/com/owncloud/android/FileIT.java b/library/src/androidTest/java/com/owncloud/android/FileIT.java index 2cadacc7c..6019029a7 100644 --- a/library/src/androidTest/java/com/owncloud/android/FileIT.java +++ b/library/src/androidTest/java/com/owncloud/android/FileIT.java @@ -25,6 +25,7 @@ import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation; import com.owncloud.android.lib.resources.status.NextcloudVersion; import com.owncloud.android.lib.resources.status.OCCapability; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; import org.junit.Test; @@ -146,6 +147,8 @@ public void testShareViaLinkSharees() { @Test public void testShareToGroupSharees() { + requireServerVersion(OwnCloudVersion.nextcloud_17); + // create & verify folder String path = "/testFolder/"; assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess()); @@ -188,6 +191,8 @@ public void testShareToGroupSharees() { @Test public void testOneSharees() { + requireServerVersion(OwnCloudVersion.nextcloud_17); + // create & verify folder String path = "/testFolder/"; assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess()); @@ -197,7 +202,7 @@ public void testOneSharees() { // share folder assertTrue(new CreateShareRemoteOperation(path, - ShareType.USER, + ShareType.USER, "user1", false, "", @@ -223,6 +228,8 @@ public void testOneSharees() { @Test public void testTwoShareesOnParent() { + requireServerVersion(OwnCloudVersion.nextcloud_17); + // create & verify folder String path = "/testFolder/"; assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess()); @@ -271,6 +278,8 @@ public void testTwoShareesOnParent() { @Test public void testTwoSharees() { + requireServerVersion(OwnCloudVersion.nextcloud_17); + // create & verify folder String path = "/testFolder/"; assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess()); diff --git a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java index 5445234be..6ea73460a 100644 --- a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java @@ -112,10 +112,12 @@ private void checkCapability(OCCapability capability, String userId) { assertTrue(capability.getFilesVersioning().isTrue()); assertTrue(capability.getFilesUndelete().isTrue()); assertNotNull(capability.getVersion()); - assertFalse(capability.getEtag().isEmpty()); - assertSame(CapabilityBooleanType.FALSE, capability.getRichDocuments()); - assertFalse(capability.getDirectEditingEtag().isEmpty()); assertSame(CapabilityBooleanType.UNKNOWN, capability.getDropAccount()); + if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_17)) { + assertFalse(capability.getEtag().isEmpty()); + assertFalse(capability.getDirectEditingEtag().isEmpty()); + } + assertSame(CapabilityBooleanType.FALSE, capability.getRichDocuments()); // user status if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_20)) { diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperationIT.java index c30d7c13e..3de14427c 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperationIT.java @@ -26,7 +26,7 @@ public class UpdateMetadataRemoteOperationIT extends AbstractIT { //@Test public void uploadAndModifyV1() { // tests only for NC19+ - testOnlyOnServer(OwnCloudVersion.nextcloud_20); + requireServerVersion(OwnCloudVersion.nextcloud_19); // E2E server app checks for official NC client with >=3.13.0, // and blocks all other clients, e.g. 3rd party apps using this lib diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFolderRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFolderRemoteOperationIT.kt index 710fe668c..a5a0b4e7d 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFolderRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFolderRemoteOperationIT.kt @@ -42,7 +42,7 @@ class ReadFolderRemoteOperationIT : AbstractIT() { assertEquals(2, result.data.size) // tag testing only on NC27+ - testOnlyOnServer(NextcloudVersion.nextcloud_27) + requireServerVersion(NextcloudVersion.nextcloud_27) // Folder var remoteFolder = result.data[0] as RemoteFile diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java index f16c50e8d..2c7264a8e 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java @@ -25,6 +25,7 @@ import com.owncloud.android.lib.resources.shares.ShareType; import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation; import com.owncloud.android.lib.resources.status.OCCapability; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; import org.junit.BeforeClass; import org.junit.Test; @@ -202,7 +203,14 @@ public void favoriteFiles() throws IOException { assertEquals(2, result.getResultData().size()); assertEquals(remotePath, result.getResultData().get(0).getRemotePath()); - assertEquals(sharedRemotePath, result.getResultData().get(1).getRemotePath()); + + if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_17)) { + assertEquals(sharedRemotePath, result.getResultData().get(1).getRemotePath()); + } else { + // on NC16 we have a bug that each file ends with "/" + sharedRemotePath += "/"; + assertEquals(sharedRemotePath, result.getResultData().get(1).getRemotePath()); + } } /** @@ -399,6 +407,8 @@ public void testPhotoSearchLimitAndTimestamp() throws IOException { @Test public void testGallerySearch() throws IOException { + requireServerVersion(OwnCloudVersion.nextcloud_18); + for (int i = 0; i < 10; i++) { String filePath = createFile("image" + i); String remotePath = "/image" + i + ".jpg"; diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt index 8376af46c..8783ddbd6 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt @@ -11,6 +11,9 @@ import android.os.Build import com.owncloud.android.AbstractIT import com.owncloud.android.lib.common.utils.Log_OC import com.owncloud.android.lib.resources.files.model.RemoteFile +import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation +import com.owncloud.android.lib.resources.status.OCCapability +import com.owncloud.android.lib.resources.status.OwnCloudVersion import junit.framework.TestCase.assertEquals import org.junit.Assert.assertNotNull import org.junit.Assert.assertTrue @@ -32,6 +35,9 @@ class UploadFileRemoteOperationIT : AbstractIT() { @Test fun upload() { + val ocCapability = GetCapabilitiesRemoteOperation() + .execute(nextcloudClient).singleData as OCCapability + // create file val filePath = createFile("text") val remotePath = "/test.md" @@ -59,12 +65,15 @@ class UploadFileRemoteOperationIT : AbstractIT() { var remoteFile = result.data[0] as RemoteFile assertEquals(remotePath, remoteFile.remotePath) - assertEquals(creationTimestamp, remoteFile.creationTimestamp) assertEquals(uploadResult.resultData, remoteFile.etag) - assertTrue( - uploadTimestamp - TIME_OFFSET < remoteFile.uploadTimestamp || - uploadTimestamp + TIME_OFFSET > remoteFile.uploadTimestamp - ) + + if (ocCapability.version.isNewerOrEqual(OwnCloudVersion.nextcloud_18)) { + assertEquals(creationTimestamp, remoteFile.creationTimestamp) + assertTrue( + uploadTimestamp - TIME_OFFSET < remoteFile.uploadTimestamp || + uploadTimestamp + TIME_OFFSET > remoteFile.uploadTimestamp + ) + } // ReadFolderRemoteOperation result = ReadFolderRemoteOperation(remotePath).execute(client) @@ -73,11 +82,14 @@ class UploadFileRemoteOperationIT : AbstractIT() { remoteFile = result.data[0] as RemoteFile assertEquals(remotePath, remoteFile.remotePath) - assertEquals(creationTimestamp, remoteFile.creationTimestamp) - assertTrue( - uploadTimestamp - TIME_OFFSET < remoteFile.uploadTimestamp || - uploadTimestamp + TIME_OFFSET > remoteFile.uploadTimestamp - ) + + if (ocCapability.version.isNewerOrEqual(OwnCloudVersion.nextcloud_18)) { + assertEquals(creationTimestamp, remoteFile.creationTimestamp) + assertTrue( + uploadTimestamp - TIME_OFFSET < remoteFile.uploadTimestamp || + uploadTimestamp + TIME_OFFSET > remoteFile.uploadTimestamp + ) + } } private fun getCreationTimestamp(file: File): Long? { diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/GetSharesRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/GetSharesRemoteOperationIT.java index 58ed2ac25..6e95ae742 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/GetSharesRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/shares/GetSharesRemoteOperationIT.java @@ -27,6 +27,7 @@ import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation; import com.owncloud.android.lib.resources.status.NextcloudVersion; import com.owncloud.android.lib.resources.status.OCCapability; +import com.owncloud.android.lib.resources.status.OwnCloudVersion; import junit.framework.TestCase; @@ -154,6 +155,8 @@ private void assertFolderAttributes(final OCShare share, final String expectedDi @Test public void sharedWithMe() { + requireServerVersion(OwnCloudVersion.nextcloud_19); + GetSharesRemoteOperation sut = new GetSharesRemoteOperation(); GetSharesRemoteOperation sutSharedWithMe = new GetSharesRemoteOperation(true); @@ -214,7 +217,7 @@ public void sharedWithMe() { @Test public void favorites() { // only on NC25+ - testOnlyOnServer(NextcloudVersion.nextcloud_25); + requireServerVersion(NextcloudVersion.nextcloud_25); // share folder to user "admin" assertTrue(new CreateFolderRemoteOperation("/shareToAdminNoFavorite/", true).execute(client).isSuccess()); @@ -257,7 +260,7 @@ public void favorites() { @Test public void noFavorite() { // only on NC25+ - testOnlyOnServer(NextcloudVersion.nextcloud_25); + requireServerVersion(NextcloudVersion.nextcloud_25); assertTrue(new CreateFolderRemoteOperation("/shareToAdminNoFavorite/", true).execute(client).isSuccess()); diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/AppTokenRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/AppTokenRemoteOperationIT.kt index 53802ec18..6e0af117a 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/AppTokenRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/AppTokenRemoteOperationIT.kt @@ -9,9 +9,10 @@ package com.owncloud.android.lib.resources.users import androidx.test.platform.app.InstrumentationRegistry import com.owncloud.android.AbstractIT -import junit.framework.Assert.assertFalse -import junit.framework.Assert.assertTrue +import com.owncloud.android.lib.resources.status.OwnCloudVersion import okhttp3.Credentials.basic +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Test class AppTokenRemoteOperationIT : AbstractIT() { @@ -57,6 +58,8 @@ class AppTokenRemoteOperationIT : AbstractIT() { @Test fun deleteAppPassword() { + requireServerVersion(OwnCloudVersion.nextcloud_17) + val arguments = InstrumentationRegistry.getArguments() val username: String = arguments.getString("TEST_SERVER_USERNAME", "") val password: String = arguments.getString("TEST_SERVER_PASSWORD", "") diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/StatusIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/StatusIT.kt index de8979f07..588bb8cbd 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/StatusIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/StatusIT.kt @@ -22,7 +22,7 @@ class StatusIT : AbstractIT() { @Before fun before() { - testOnlyOnServer(OwnCloudVersion.nextcloud_20) + requireServerVersion(OwnCloudVersion.nextcloud_20) } @Test From b78b28afccc72b6fd82f44b5f5f812858e32a8eb Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 31 Aug 2023 10:00:31 +0200 Subject: [PATCH 2/6] correct path Signed-off-by: tobiasKaminsky --- scripts/uploadReport.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/uploadReport.sh b/scripts/uploadReport.sh index 52b440626..3efdc22a7 100755 --- a/scripts/uploadReport.sh +++ b/scripts/uploadReport.sh @@ -26,7 +26,7 @@ curl -u "$USER:$PASS" -X PUT "$upload_path" --upload-file "$log_file" echo >&2 "Uploaded logcat to https://www.kaminsky.me/nc-dev/library-logcat/$log_filename" if [ $TYPE = "IT" ]; then - cd library/build/reports/androidTests/connected + cd library/build/reports/androidTests/connected/debug else cd library/build/reports/tests/testDebugUnitTest fi From 1b3735c079782d569012f99e075aa938f5f560ea Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Fri, 1 Sep 2023 07:55:35 +0200 Subject: [PATCH 3/6] correct server names Signed-off-by: tobiasKaminsky --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8bc909c58..6ffe38b5c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -142,7 +142,7 @@ steps: - sed -i s"#1#5#" ./library/src/androidTest/java/com/owncloud/android/RetryTestRule.kt - ./gradlew assembleDebug - ./scripts/wait_for_emulator.sh - - ./scripts/wait_for_server.sh server-oldest-stable + - ./scripts/wait_for_server.sh server-stable-16 - scripts/deleteOutdatedComments.sh "stable16" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - scripts/deleteOutdatedComments.sh "stable16" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - ./gradlew jacocoTestDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable16" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN @@ -237,7 +237,7 @@ steps: - sed -i s"#1#5#" ./library/src/androidTest/java/com/owncloud/android/RetryTestRule.kt - ./gradlew assembleDebug - ./scripts/wait_for_emulator.sh - - ./scripts/wait_for_server.sh server-stable + - ./scripts/wait_for_server.sh server-stable-27 - scripts/deleteOutdatedComments.sh "stable25" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - scripts/deleteOutdatedComments.sh "stable25" "IT" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN - ./gradlew jacocoTestDebugUnitTestReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable25" "Unit" $DRONE_PULL_REQUEST $GIT_USERNAME $GIT_TOKEN From 00058a13ab068a83900421ffa52f6b36f7c458b5 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Wed, 27 Sep 2023 16:42:21 +0200 Subject: [PATCH 4/6] wip Signed-off-by: tobiasKaminsky --- .../android/lib/resources/files/ReadFileRemoteOperationIT.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt index 026b4083e..f32ddda09 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt @@ -113,7 +113,7 @@ class ReadFileRemoteOperationIT : AbstractIT() { @Suppress("Detekt.MagicNumber") assertEquals(ImageDimension(451f, 529f), remoteFile.imageDimension) - testOnlyOnServer(NextcloudVersion.nextcloud_27) + requireServerVersion(NextcloudVersion.nextcloud_27) val ocCapability = GetCapabilitiesRemoteOperation() From ade92308019c55dfd220b929a96ab8d4f1dc2d8a Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Thu, 28 Sep 2023 08:50:47 +0200 Subject: [PATCH 5/6] wip Signed-off-by: tobiasKaminsky --- .drone.yml | 1 + .../files/ReadFileRemoteOperationIT.kt | 2 ++ .../files/SearchRemoteOperationIT.java | 27 ++++++++++++++++--- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 6ffe38b5c..8ec1d1cb1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -205,6 +205,7 @@ services: - su www-data -c "git clone -b $SERVER_VERSION https://github.com/nextcloud/external.git /var/www/html/apps/external/" - su www-data -c 'php /var/www/html/occ config:app:set external sites --value="{\"1\":{\"id\":1,\"name\":\"Nextcloud\",\"url\":\"https:\/\/www.nextcloud.com\",\"lang\":\"\",\"type\":\"link\",\"device\":\"\",\"icon\":\"external.svg\",\"groups\":[],\"redirect\":false},\"2\":{\"id\":2,\"name\":\"Forum\",\"url\":\"https:\/\/help.nextcloud.com\",\"lang\":\"\",\"type\":\"link\",\"device\":\"\",\"icon\":\"external.svg\",\"groups\":[],\"redirect\":false}}"' - su www-data -c "php /var/www/html/occ app:enable external" + - su www-data -c "php /var/www/html/occ notification:generate test test" - /run.sh trigger: diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt index f32ddda09..583d5e264 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt @@ -97,6 +97,8 @@ class ReadFileRemoteOperationIT : AbstractIT() { @Test fun testMetadata() { + requireServerVersion(NextcloudVersion.nextcloud_27) + val filePath = getFile("gps.jpg").absolutePath val remotePath = "/gps.jpg" diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java index 2c7264a8e..8f748ec69 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java @@ -24,6 +24,7 @@ import com.owncloud.android.lib.resources.shares.CreateShareRemoteOperation; import com.owncloud.android.lib.resources.shares.ShareType; import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation; +import com.owncloud.android.lib.resources.status.NextcloudVersion; import com.owncloud.android.lib.resources.status.OCCapability; import com.owncloud.android.lib.resources.status.OwnCloudVersion; @@ -95,6 +96,12 @@ public void testFileSearchEmpty() throws IOException { @Test public void testFileSearchEverything() throws IOException { + // on newer server we have Talk folder + int offset = 0; + if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_20)) { + offset = 1; + } + for (int i = 0; i < 10; i++) { String filePath = createFile("image" + i); String remotePath = "/image" + i + ".jpg"; @@ -109,7 +116,7 @@ public void testFileSearchEverything() throws IOException { RemoteOperationResult> result = sut.execute(client); assertTrue(result.isSuccess()); - assertEquals(11, result.getResultData().size()); + assertEquals(offset + 10, result.getResultData().size()); } @Test @@ -218,6 +225,12 @@ public void favoriteFiles() throws IOException { */ @Test public void testRecentlyModifiedSearch() throws IOException { + // on newer server we have Talk folder + int offset = 0; + if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_20)) { + offset = 1; + } + long now = System.currentTimeMillis() / MILLI_TO_SECOND; String filePath = createFile("image"); assertTrue(new UploadFileRemoteOperation(filePath, "/image.jpg", "image/jpg", now - 50) @@ -242,7 +255,7 @@ public void testRecentlyModifiedSearch() throws IOException { RemoteOperationResult> result = sut.execute(client); assertTrue(result.isSuccess()); - assertEquals(4, result.getResultData().size()); + assertEquals(offset + 3, result.getResultData().size()); assertEquals("/video.mp4", result.getResultData().get(0).getRemotePath()); assertEquals("/pdf.pdf", result.getResultData().get(1).getRemotePath()); @@ -435,6 +448,12 @@ public void testGallerySearch() throws IOException { @Test public void showOnlyFolders() throws IOException { + // on newer server we have Talk folder + int offset = 0; + if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_20)) { + offset = 1; + } + for (int i = 0; i < 10; i++) { String filePath = createFile("image" + i); String remotePath = "/image" + i + ".jpg"; @@ -448,13 +467,13 @@ public void showOnlyFolders() throws IOException { RemoteOperationResult> result = sut.execute(client); assertTrue(result.isSuccess()); - assertEquals(1, result.getResultData().size()); + assertEquals(0 + offset, result.getResultData().size()); assertTrue(new CreateFolderRemoteOperation("/folder/", false).execute(client).isSuccess()); result = sut.execute(client); assertTrue(result.isSuccess()); - assertEquals(2, result.getResultData().size()); + assertEquals(1 + offset, result.getResultData().size()); assertEquals("/folder/", result.getResultData().get(0).getRemotePath()); } From 512281b1327c45d3a10193c177a309deea18b748 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Wed, 22 Nov 2023 11:22:09 +0100 Subject: [PATCH 6/6] wip Signed-off-by: tobiasKaminsky --- .../resources/search/SearchProvidersRemoteOperationIT.kt | 7 +++++-- .../lib/resources/files/UploadFileRemoteOperationIT.kt | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt b/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt index fdca58f5d..5c3cbe8fa 100644 --- a/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt @@ -8,11 +8,14 @@ package com.nextcloud.android.lib.resources.search import com.owncloud.android.AbstractIT -import com.owncloud.android.lib.resources.status.OwnCloudVersion.nextcloud_20 +import com.owncloud.android.lib.resources.status.OwnCloudVersion +import com.owncloud.android.lib.resources.status.OCCapability +import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Assert.assertTrue -import org.junit.BeforeClass +import org.junit.Assert.assertFalse +import org.junit.Assume.assumeTrue import org.junit.Test class SearchProvidersRemoteOperationIT : AbstractIT() { diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt index 8783ddbd6..f803ab8b0 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt @@ -35,8 +35,9 @@ class UploadFileRemoteOperationIT : AbstractIT() { @Test fun upload() { - val ocCapability = GetCapabilitiesRemoteOperation() - .execute(nextcloudClient).singleData as OCCapability + val ocCapability = + GetCapabilitiesRemoteOperation() + .execute(nextcloudClient).singleData as OCCapability // create file val filePath = createFile("text")