Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/android-library.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortobiasKaminsky <tobias@kaminsky.me>2022-07-12 09:34:51 +0300
committerTobias Kaminsky (Rebase PR Action) <tobias@nextcloud.com>2022-11-01 16:40:01 +0300
commitac5c4df2caa75941223487425a56014cb44b7301 (patch)
tree174a340ccec5488946d62e16c4b0dd67623f484c
parent12982fe8a02b99cc6e681b454466ae15bc538b71 (diff)
test on NC16
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
-rw-r--r--.drone.yml97
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperationIT.java19
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperationIT.java6
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperationIT.kt7
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperationIT.java7
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/files/ToggleFileLockRemoteOperationIT.kt10
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/profile/GetHoverCardRemoteOperationIT.kt10
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/search/SearchProvidersRemoteOperationIT.kt30
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperationIT.kt7
-rw-r--r--library/src/androidTest/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperationIT.java6
-rw-r--r--library/src/androidTest/java/com/owncloud/android/AbstractIT.java10
-rw-r--r--library/src/androidTest/java/com/owncloud/android/FileIT.java13
-rw-r--r--library/src/androidTest/java/com/owncloud/android/GetCapabilitiesIT.java18
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperationIT.java7
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java3
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/files/UploadFileRemoteOperationIT.kt32
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/shares/GetSharesRemoteOperationIT.java3
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/users/AppTokenRemoteOperationIT.kt3
-rw-r--r--library/src/androidTest/java/com/owncloud/android/lib/resources/users/StatusIT.kt9
-rwxr-xr-xscripts/wait_for_server.sh2
20 files changed, 216 insertions, 83 deletions
diff --git a/.drone.yml b/.drone.yml
index 92205943..35352fa4 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -97,7 +97,7 @@ trigger:
---
kind: pipeline
type: docker
-name: test-stable
+name: test-stable24
steps:
- name: test
@@ -189,3 +189,98 @@ trigger:
event:
- push
- pull_request
+---
+kind: pipeline
+type: docker
+name: test-stable-16
+
+steps:
+ - name: test
+ image: ghcr.io/nextcloud/continuous-integration-android8:2
+ 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 "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
+ - ./gradlew installDebugAndroidTest
+ - ./gradlew createDebugCoverageReport || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable" "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-oldest-stable
+ 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
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 79a0e9c1..0c1a4f8a 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
@@ -32,10 +32,17 @@ import static org.junit.Assert.assertTrue;
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() {
+ onlyOnMin(OwnCloudVersion.nextcloud_18);
+ }
+
@Test
public void createEmptyFile() {
RemoteOperationResult<String> result = new DirectEditingCreateFileRemoteOperation("/test.md",
@@ -52,9 +59,9 @@ public class DirectEditingCreateFileRemoteOperationIT extends AbstractIT {
@Test
public void createFileFromTemplate() {
RemoteOperationResult<String> result = new DirectEditingCreateFileRemoteOperation("/test.md",
- "text",
- "textdocument",
- "1")
+ "text",
+ "textdocument",
+ "1")
.execute(client);
assertTrue(result.isSuccess());
@@ -66,9 +73,9 @@ public class DirectEditingCreateFileRemoteOperationIT extends AbstractIT {
@Test
public void createFileWithSpecialCharacterFromTemplate() {
RemoteOperationResult<String> 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 5bc21ab9..f82d8b64 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
@@ -33,10 +33,16 @@ import static org.junit.Assert.assertTrue;
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() {
+ onlyOnMin(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 06cb9fb7..99efb30a 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
@@ -27,13 +27,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() {
+ onlyOnMin(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 0f350510..a8f336c2 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
@@ -34,14 +34,21 @@ import com.owncloud.android.AbstractIT;
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() {
+ onlyOnMin(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 d8b45ef1..981dd661 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
@@ -32,25 +32,17 @@ import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation
import com.owncloud.android.lib.resources.files.UploadFileRemoteOperation
import com.owncloud.android.lib.resources.files.model.FileLockType
import com.owncloud.android.lib.resources.files.model.RemoteFile
-import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation
import com.owncloud.android.lib.resources.status.NextcloudVersion.Companion.nextcloud_24
-import com.owncloud.android.lib.resources.status.OCCapability
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
-import org.junit.Assume
import org.junit.Test
class ToggleFileLockRemoteOperationIT : AbstractIT() {
@Test
fun lockUnlockFile() {
- // only on >= NC24
- val ocCapability = GetCapabilitiesRemoteOperation()
- .execute(nextcloudClient).singleData as OCCapability
- Assume.assumeTrue(
- ocCapability.version.isNewerOrEqual(nextcloud_24)
- )
+ onlyOnMin(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 5dd95fc2..3f541ca0 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
@@ -27,23 +27,15 @@
package com.nextcloud.android.lib.resources.profile
import com.owncloud.android.AbstractIT
-import com.owncloud.android.lib.resources.status.GetStatusRemoteOperation
import com.owncloud.android.lib.resources.status.NextcloudVersion.Companion.nextcloud_23
-import com.owncloud.android.lib.resources.status.OwnCloudVersion
import org.junit.Assert
-import org.junit.Assume
import org.junit.Before
import org.junit.Test
-import java.util.ArrayList
class GetHoverCardRemoteOperationIT : AbstractIT() {
@Before
fun before() {
- val result = GetStatusRemoteOperation(context).execute(client)
- Assert.assertTrue(result.isSuccess)
- val data = result.data as ArrayList<Any>
- val ownCloudVersion = data[0] as OwnCloudVersion
- Assume.assumeTrue(ownCloudVersion.isNewerOrEqual(nextcloud_23))
+ onlyOnMin(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 f3c4fd2d..efb974ef 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
@@ -23,23 +23,20 @@
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 com.owncloud.android.lib.resources.status.OwnCloudVersion.nextcloud_20
import org.junit.Assert
-import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
-import org.junit.Assume.assumeTrue
+import org.junit.Before
import org.junit.Test
class SearchProvidersRemoteOperationIT : AbstractIT() {
+ @Before
+ fun before() {
+ onlyOnMin(nextcloud_20)
+ }
+
@Test
fun getSearchProviders() {
- // only on NC20+
- val ocCapability = GetCapabilitiesRemoteOperation()
- .execute(nextcloudClient).singleData as OCCapability
- assumeTrue(ocCapability.version.isNewerOrEqual(OwnCloudVersion.nextcloud_20))
-
val result = nextcloudClient.execute(UnifiedSearchProvidersRemoteOperation())
assertTrue(result.isSuccess)
@@ -50,17 +47,4 @@ class SearchProvidersRemoteOperationIT : AbstractIT() {
Assert.assertNotNull(providers.providers.find { it.name == "Files" })
Assert.assertNull(providers.providers.find { it.name == "RandomSearchProvider" })
}
-
- @Test
- fun getSearchProvidersOnOldServer() {
- // only on < NC20
- val ocCapability = GetCapabilitiesRemoteOperation()
- .execute(nextcloudClient).singleData as OCCapability
- assumeTrue(
- ocCapability.version.isOlderThan(OwnCloudVersion.nextcloud_20)
- )
-
- val result = nextcloudClient.execute(UnifiedSearchProvidersRemoteOperation())
- assertFalse(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 ebd6bf32..020887cc 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
@@ -26,13 +26,20 @@ 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.Before
import org.junit.Test
class UnifiedSearchRemoteOperationIT : AbstractIT() {
+ @Before
+ fun before() {
+ onlyOnMin(OwnCloudVersion.nextcloud_20)
+ }
+
@Test
fun filesSearchEmptySearch() {
val result = UnifiedSearchRemoteOperation("files", "").execute(nextcloudClient)
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 a844ed44..23cba6aa 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
@@ -30,13 +30,19 @@ import com.owncloud.android.AbstractIT;
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() {
+ onlyOnMin(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 fe42dbde..bf3d0339 100644
--- a/library/src/androidTest/java/com/owncloud/android/AbstractIT.java
+++ b/library/src/androidTest/java/com/owncloud/android/AbstractIT.java
@@ -27,6 +27,7 @@
package com.owncloud.android;
import static junit.framework.TestCase.assertTrue;
+import static org.junit.Assume.assumeTrue;
import android.content.Context;
import android.net.Uri;
@@ -47,7 +48,10 @@ import com.owncloud.android.lib.resources.e2ee.ToggleEncryptionRemoteOperation;
import com.owncloud.android.lib.resources.files.ReadFolderRemoteOperation;
import com.owncloud.android.lib.resources.files.RemoveFileRemoteOperation;
import com.owncloud.android.lib.resources.files.model.RemoteFile;
+import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation;
import com.owncloud.android.lib.resources.status.GetStatusRemoteOperation;
+import com.owncloud.android.lib.resources.status.OCCapability;
+import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
@@ -277,4 +281,10 @@ public abstract class AbstractIT {
return temp;
}
+
+ public static void onlyOnMin(OwnCloudVersion version) {
+ OCCapability ocCapability = (OCCapability) new GetCapabilitiesRemoteOperation()
+ .execute(nextcloudClient).getSingleData();
+ assumeTrue(ocCapability.getVersion().isNewerOrEqual(version));
+ }
}
diff --git a/library/src/androidTest/java/com/owncloud/android/FileIT.java b/library/src/androidTest/java/com/owncloud/android/FileIT.java
index 0aaf32e6..cc208099 100644
--- a/library/src/androidTest/java/com/owncloud/android/FileIT.java
+++ b/library/src/androidTest/java/com/owncloud/android/FileIT.java
@@ -37,6 +37,7 @@ import com.owncloud.android.lib.resources.shares.CreateShareRemoteOperation;
import com.owncloud.android.lib.resources.shares.OCShare;
import com.owncloud.android.lib.resources.shares.ShareType;
import com.owncloud.android.lib.resources.shares.ShareeUser;
+import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.junit.Test;
@@ -162,6 +163,8 @@ public class FileIT extends AbstractIT {
@Test
public void testShareToGroupSharees() {
+ onlyOnMin(OwnCloudVersion.nextcloud_17);
+
// create & verify folder
String path = "/testFolder/";
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());
@@ -171,7 +174,7 @@ public class FileIT extends AbstractIT {
// share folder
assertTrue(new CreateShareRemoteOperation(path,
- ShareType.GROUP,
+ ShareType.GROUP,
"users",
false,
"",
@@ -197,6 +200,8 @@ public class FileIT extends AbstractIT {
@Test
public void testOneSharees() {
+ onlyOnMin(OwnCloudVersion.nextcloud_17);
+
// create & verify folder
String path = "/testFolder/";
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());
@@ -206,7 +211,7 @@ public class FileIT extends AbstractIT {
// share folder
assertTrue(new CreateShareRemoteOperation(path,
- ShareType.USER,
+ ShareType.USER,
"user1",
false,
"",
@@ -232,6 +237,8 @@ public class FileIT extends AbstractIT {
@Test
public void testTwoShareesOnParent() {
+ onlyOnMin(OwnCloudVersion.nextcloud_17);
+
// create & verify folder
String path = "/testFolder/";
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());
@@ -280,6 +287,8 @@ public class FileIT extends AbstractIT {
@Test
public void testTwoSharees() {
+ onlyOnMin(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/GetCapabilitiesIT.java b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesIT.java
index 919c7645..75565047 100644
--- a/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesIT.java
+++ b/library/src/androidTest/java/com/owncloud/android/GetCapabilitiesIT.java
@@ -26,6 +26,12 @@
*/
package com.owncloud.android;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.status.CapabilityBooleanType;
import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation;
@@ -35,12 +41,6 @@ import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
/**
* Class to test GetRemoteCapabilitiesOperation
*/
@@ -127,9 +127,11 @@ public class GetCapabilitiesIT extends AbstractIT {
assertTrue(capability.getFilesVersioning().isTrue());
assertTrue(capability.getFilesUndelete().isTrue());
assertNotNull(capability.getVersion());
- assertFalse(capability.getEtag().isEmpty());
+ if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_17)) {
+ assertFalse(capability.getEtag().isEmpty());
+ assertFalse(capability.getDirectEditingEtag().isEmpty());
+ }
assertSame(CapabilityBooleanType.FALSE, capability.getRichDocuments());
- assertFalse(capability.getDirectEditingEtag().isEmpty());
// 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 73943aa6..4ac1e70e 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
@@ -45,12 +45,7 @@ import org.junit.Test;
public class UpdateMetadataRemoteOperationIT extends AbstractIT {
@Test
public void uploadAndModify() {
- // tests only for NC19+
- OCCapability capability = (OCCapability) new GetCapabilitiesRemoteOperation(null)
- .execute(client)
- .getSingleData();
-
- assumeTrue(capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_20));
+ onlyOnMin(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/SearchRemoteOperationIT.java b/library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java
index 8b718002..faa360e8 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
@@ -44,6 +44,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.OCCapability;
+import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -416,6 +417,8 @@ public class SearchRemoteOperationIT extends AbstractIT {
@Test
public void testGallerySearch() throws IOException {
+ onlyOnMin(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 5ecad4de..1bc10594 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
@@ -25,6 +25,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
@@ -47,6 +50,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"
@@ -73,12 +79,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)
@@ -87,11 +96,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 977388c5..bf593d11 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
@@ -42,6 +42,7 @@ import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.OwnCloudClientFactory;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation;
+import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import org.junit.Test;
@@ -167,6 +168,8 @@ public class GetSharesRemoteOperationIT extends AbstractIT {
@Test
public void sharedWithMe() {
+ onlyOnMin(OwnCloudVersion.nextcloud_19);
+
GetSharesRemoteOperation sut = new GetSharesRemoteOperation();
GetSharesRemoteOperation sutSharedWithMe = new GetSharesRemoteOperation(true);
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 6675c3e1..ebbde909 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
@@ -28,6 +28,7 @@ package com.owncloud.android.lib.resources.users
import androidx.test.platform.app.InstrumentationRegistry
import com.owncloud.android.AbstractIT
+import com.owncloud.android.lib.resources.status.OwnCloudVersion
import junit.framework.Assert.assertFalse
import junit.framework.Assert.assertTrue
import okhttp3.Credentials.basic
@@ -76,6 +77,8 @@ class AppTokenRemoteOperationIT : AbstractIT() {
@Test
fun deleteAppPassword() {
+ onlyOnMin(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 576878f2..5f4146b6 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,12 +22,9 @@
package com.owncloud.android.lib.resources.users
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.assertEquals
import org.junit.Assert.assertTrue
-import org.junit.Assume.assumeTrue
import org.junit.Before
import org.junit.Test
@@ -39,11 +36,7 @@ class StatusIT : AbstractIT() {
@Before
fun before() {
- val result = GetCapabilitiesRemoteOperation().execute(nextcloudClient)
- assertTrue(result.isSuccess)
- val ocCapability = result.singleData as OCCapability
-
- assumeTrue(ocCapability.version.isNewerOrEqual(OwnCloudVersion.nextcloud_20))
+ onlyOnMin(OwnCloudVersion.nextcloud_20)
}
@Test
diff --git a/scripts/wait_for_server.sh b/scripts/wait_for_server.sh
index 5e1eb1bb..5365d61f 100755
--- a/scripts/wait_for_server.sh
+++ b/scripts/wait_for_server.sh
@@ -10,7 +10,7 @@ until [[ $status = "false" ]]; do
if [[ "$status" =~ "false" || "$status" = "" ]]; then
let "counter += 1"
- if [[ $counter -gt 10 ]]; then
+ if [[ $counter -gt 20 ]]; then
echo "Failed to wait for server"
exit 1
fi