Skip to content

Commit 4d3fd98

Browse files
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
1 parent 7af2bf5 commit 4d3fd98

15 files changed

+131
-29
lines changed

Diff for: library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingCreateFileRemoteOperationIT.java

+7
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,17 @@
1212

1313
import com.owncloud.android.AbstractIT;
1414
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
15+
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
1516

17+
import org.junit.BeforeClass;
1618
import org.junit.Test;
1719

1820
public class DirectEditingCreateFileRemoteOperationIT extends AbstractIT {
21+
@BeforeClass
22+
public static void beforeClass() {
23+
testOnlyOnServer(OwnCloudVersion.nextcloud_18);
24+
}
25+
1926
@Test
2027
public void createEmptyFile() {
2128
RemoteOperationResult<String> result = new DirectEditingCreateFileRemoteOperation("/test.md",

Diff for: library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainListOfTemplatesRemoteOperationIT.java

+6
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,16 @@
1313
import com.owncloud.android.AbstractIT;
1414
import com.owncloud.android.lib.common.TemplateList;
1515
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
16+
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
1617

18+
import org.junit.BeforeClass;
1719
import org.junit.Test;
1820

1921
public class DirectEditingObtainListOfTemplatesRemoteOperationIT extends AbstractIT {
22+
@BeforeClass
23+
public static void beforeClass() {
24+
testOnlyOnServer(OwnCloudVersion.nextcloud_18);
25+
}
2026

2127
@Test
2228
public void testGetAll() {

Diff for: library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingObtainRemoteOperationIT.kt

+7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,20 @@
88
package com.nextcloud.android.lib.resources.directediting
99

1010
import com.owncloud.android.AbstractIT
11+
import com.owncloud.android.lib.resources.status.OwnCloudVersion
1112
import junit.framework.Assert.assertEquals
1213
import junit.framework.Assert.assertFalse
1314
import junit.framework.Assert.assertNotNull
1415
import junit.framework.Assert.assertTrue
16+
import org.junit.Before
1517
import org.junit.Test
1618

1719
class DirectEditingObtainRemoteOperationIT : AbstractIT() {
20+
@Before
21+
fun before() {
22+
testOnlyOnServer(OwnCloudVersion.nextcloud_18)
23+
}
24+
1825
@Test
1926
fun testGetAll() {
2027
val result = DirectEditingObtainRemoteOperation().execute(client)

Diff for: library/src/androidTest/java/com/nextcloud/android/lib/resources/directediting/DirectEditingOpenFileRemoteOperationIT.java

+7
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,21 @@
1414
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
1515
import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation;
1616
import com.owncloud.android.lib.resources.files.UploadFileRemoteOperation;
17+
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
1718

1819
import junit.framework.TestCase;
1920

21+
import org.junit.BeforeClass;
2022
import org.junit.Test;
2123

2224
import java.io.IOException;
2325

2426
public class DirectEditingOpenFileRemoteOperationIT extends AbstractIT {
27+
@BeforeClass
28+
public static void beforeClass() {
29+
testOnlyOnServer(OwnCloudVersion.nextcloud_18);
30+
}
31+
2532
@Test
2633
public void openFile() throws IOException {
2734
// create file

Diff for: library/src/androidTest/java/com/nextcloud/android/lib/resources/search/UnifiedSearchRemoteOperationIT.kt

+10
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ import com.owncloud.android.AbstractIT
1111
import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation
1212
import com.owncloud.android.lib.resources.files.ReadFileRemoteOperation
1313
import com.owncloud.android.lib.resources.files.model.RemoteFile
14+
import com.owncloud.android.lib.resources.status.OwnCloudVersion
1415
import org.junit.Assert.assertEquals
1516
import org.junit.Assert.assertFalse
1617
import org.junit.Assert.assertNotNull
1718
import org.junit.Assert.assertTrue
19+
import org.junit.BeforeClass
1820
import org.junit.Test
1921

2022
class UnifiedSearchRemoteOperationIT : AbstractIT() {
@@ -76,4 +78,12 @@ class UnifiedSearchRemoteOperationIT : AbstractIT() {
7678
assertTrue(data.entries.isNotEmpty())
7779
assertNotNull(data.entries.find { it.title == "test Folder" })
7880
}
81+
82+
companion object {
83+
@BeforeClass
84+
@JvmStatic
85+
fun before() {
86+
testOnlyOnServer(OwnCloudVersion.nextcloud_20)
87+
}
88+
}
7989
}

Diff for: library/src/androidTest/java/com/nextcloud/android/lib/richWorkspace/RichWorkspaceDirectEditingRemoteOperationIT.java

+6
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,19 @@
1616
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
1717
import com.owncloud.android.lib.resources.files.CreateFolderRemoteOperation;
1818
import com.owncloud.android.lib.resources.files.UploadFileRemoteOperation;
19+
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
1920

21+
import org.junit.BeforeClass;
2022
import org.junit.Test;
2123

2224
import java.io.File;
2325
import java.io.IOException;
2426

2527
public class RichWorkspaceDirectEditingRemoteOperationIT extends AbstractIT {
28+
@BeforeClass
29+
public static void beforeClass() {
30+
testOnlyOnServer(OwnCloudVersion.nextcloud_18);
31+
}
2632

2733
@Test
2834
public void getEditLinkForRoot() {

Diff for: library/src/androidTest/java/com/owncloud/android/AbstractIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ protected void longSleep() {
314314
}
315315
}
316316

317-
protected void testOnlyOnServer(OwnCloudVersion version) {
317+
static protected void testOnlyOnServer(OwnCloudVersion version) {
318318
OCCapability ocCapability = (OCCapability) new GetCapabilitiesRemoteOperation()
319319
.execute(nextcloudClient)
320320
.getSingleData();

Diff for: library/src/androidTest/java/com/owncloud/android/FileIT.java

+9
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation;
2626
import com.owncloud.android.lib.resources.status.NextcloudVersion;
2727
import com.owncloud.android.lib.resources.status.OCCapability;
28+
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
2829

2930
import org.junit.Test;
3031

@@ -146,6 +147,8 @@ public void testShareViaLinkSharees() {
146147

147148
@Test
148149
public void testShareToGroupSharees() {
150+
testOnlyOnServer(OwnCloudVersion.nextcloud_17);
151+
149152
// create & verify folder
150153
String path = "/testFolder/";
151154
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());
@@ -188,6 +191,8 @@ public void testShareToGroupSharees() {
188191

189192
@Test
190193
public void testOneSharees() {
194+
testOnlyOnServer(OwnCloudVersion.nextcloud_17);
195+
191196
// create & verify folder
192197
String path = "/testFolder/";
193198
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());
@@ -223,6 +228,8 @@ public void testOneSharees() {
223228

224229
@Test
225230
public void testTwoShareesOnParent() {
231+
testOnlyOnServer(OwnCloudVersion.nextcloud_17);
232+
226233
// create & verify folder
227234
String path = "/testFolder/";
228235
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());
@@ -271,6 +278,8 @@ public void testTwoShareesOnParent() {
271278

272279
@Test
273280
public void testTwoSharees() {
281+
testOnlyOnServer(OwnCloudVersion.nextcloud_17);
282+
274283
// create & verify folder
275284
String path = "/testFolder/";
276285
assertTrue(new CreateFolderRemoteOperation(path, true).execute(client).isSuccess());

Diff for: library/src/androidTest/java/com/owncloud/android/GetCapabilitiesRemoteOperationIT.java

+12-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@
99
*/
1010
package com.owncloud.android;
1111

12+
import static org.junit.Assert.assertEquals;
13+
import static org.junit.Assert.assertFalse;
14+
import static org.junit.Assert.assertNotNull;
15+
import static org.junit.Assert.assertNotSame;
16+
import static org.junit.Assert.assertSame;
17+
import static org.junit.Assert.assertTrue;
18+
1219
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
1320
import com.owncloud.android.lib.resources.status.CapabilityBooleanType;
1421
import com.owncloud.android.lib.resources.status.E2EVersion;
@@ -19,13 +26,6 @@
1926

2027
import org.junit.Test;
2128

22-
import static org.junit.Assert.assertEquals;
23-
import static org.junit.Assert.assertFalse;
24-
import static org.junit.Assert.assertNotNull;
25-
import static org.junit.Assert.assertNotSame;
26-
import static org.junit.Assert.assertSame;
27-
import static org.junit.Assert.assertTrue;
28-
2929
/**
3030
* Class to test GetRemoteCapabilitiesOperation
3131
*/
@@ -112,10 +112,12 @@ private void checkCapability(OCCapability capability, String userId) {
112112
assertTrue(capability.getFilesVersioning().isTrue());
113113
assertTrue(capability.getFilesUndelete().isTrue());
114114
assertNotNull(capability.getVersion());
115-
assertFalse(capability.getEtag().isEmpty());
116-
assertSame(CapabilityBooleanType.FALSE, capability.getRichDocuments());
117-
assertFalse(capability.getDirectEditingEtag().isEmpty());
118115
assertSame(CapabilityBooleanType.UNKNOWN, capability.getDropAccount());
116+
if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_17)) {
117+
assertFalse(capability.getEtag().isEmpty());
118+
assertFalse(capability.getDirectEditingEtag().isEmpty());
119+
}
120+
assertSame(CapabilityBooleanType.FALSE, capability.getRichDocuments());
119121

120122
// user status
121123
if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_20)) {

Diff for: library/src/androidTest/java/com/owncloud/android/lib/resources/e2ee/UpdateMetadataRemoteOperationIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public class UpdateMetadataRemoteOperationIT extends AbstractIT {
2626
//@Test
2727
public void uploadAndModifyV1() {
2828
// tests only for NC19+
29-
testOnlyOnServer(OwnCloudVersion.nextcloud_20);
29+
testOnlyOnServer(OwnCloudVersion.nextcloud_19);
3030

3131
// E2E server app checks for official NC client with >=3.13.0,
3232
// and blocks all other clients, e.g. 3rd party apps using this lib

Diff for: library/src/androidTest/java/com/owncloud/android/lib/resources/files/ReadFileRemoteOperationIT.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ class ReadFileRemoteOperationIT : AbstractIT() {
9797

9898
@Test
9999
fun testMetadata() {
100+
testOnlyOnServer(NextcloudVersion.nextcloud_27)
101+
100102
val filePath = getFile("gps.jpg").absolutePath
101103
val remotePath = "/gps.jpg"
102104

@@ -113,8 +115,6 @@ class ReadFileRemoteOperationIT : AbstractIT() {
113115
@Suppress("Detekt.MagicNumber")
114116
assertEquals(ImageDimension(451f, 529f), remoteFile.imageDimension)
115117

116-
testOnlyOnServer(NextcloudVersion.nextcloud_27)
117-
118118
val ocCapability =
119119
GetCapabilitiesRemoteOperation()
120120
.execute(nextcloudClient)

Diff for: library/src/androidTest/java/com/owncloud/android/lib/resources/files/SearchRemoteOperationIT.java

+34-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
import com.owncloud.android.lib.resources.shares.CreateShareRemoteOperation;
2525
import com.owncloud.android.lib.resources.shares.ShareType;
2626
import com.owncloud.android.lib.resources.status.GetCapabilitiesRemoteOperation;
27+
import com.owncloud.android.lib.resources.status.NextcloudVersion;
2728
import com.owncloud.android.lib.resources.status.OCCapability;
29+
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
2830

2931
import org.junit.BeforeClass;
3032
import org.junit.Test;
@@ -94,6 +96,12 @@ public void testFileSearchEmpty() throws IOException {
9496

9597
@Test
9698
public void testFileSearchEverything() throws IOException {
99+
// on newer server we have Talk folder
100+
int offset = 0;
101+
if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_20)) {
102+
offset = 1;
103+
}
104+
97105
for (int i = 0; i < 10; i++) {
98106
String filePath = createFile("image" + i);
99107
String remotePath = "/image" + i + ".jpg";
@@ -108,7 +116,7 @@ public void testFileSearchEverything() throws IOException {
108116

109117
RemoteOperationResult<List<RemoteFile>> result = sut.execute(client);
110118
assertTrue(result.isSuccess());
111-
assertEquals(11, result.getResultData().size());
119+
assertEquals(offset + 10, result.getResultData().size());
112120
}
113121

114122
@Test
@@ -202,14 +210,27 @@ public void favoriteFiles() throws IOException {
202210
assertEquals(2, result.getResultData().size());
203211

204212
assertEquals(remotePath, result.getResultData().get(0).getRemotePath());
205-
assertEquals(sharedRemotePath, result.getResultData().get(1).getRemotePath());
213+
214+
if (capability.getVersion().isNewerOrEqual(OwnCloudVersion.nextcloud_17)) {
215+
assertEquals(sharedRemotePath, result.getResultData().get(1).getRemotePath());
216+
} else {
217+
// on NC16 we have a bug that each file ends with "/"
218+
sharedRemotePath += "/";
219+
assertEquals(sharedRemotePath, result.getResultData().get(1).getRemotePath());
220+
}
206221
}
207222

208223
/**
209224
* shows just all files, but sorted by date
210225
*/
211226
@Test
212227
public void testRecentlyModifiedSearch() throws IOException {
228+
// on newer server we have Talk folder
229+
int offset = 0;
230+
if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_20)) {
231+
offset = 1;
232+
}
233+
213234
long now = System.currentTimeMillis() / MILLI_TO_SECOND;
214235
String filePath = createFile("image");
215236
assertTrue(new UploadFileRemoteOperation(filePath, "/image.jpg", "image/jpg", now - 50)
@@ -234,7 +255,7 @@ public void testRecentlyModifiedSearch() throws IOException {
234255

235256
RemoteOperationResult<List<RemoteFile>> result = sut.execute(client);
236257
assertTrue(result.isSuccess());
237-
assertEquals(4, result.getResultData().size());
258+
assertEquals(offset + 3, result.getResultData().size());
238259

239260
assertEquals("/video.mp4", result.getResultData().get(0).getRemotePath());
240261
assertEquals("/pdf.pdf", result.getResultData().get(1).getRemotePath());
@@ -399,6 +420,8 @@ public void testPhotoSearchLimitAndTimestamp() throws IOException {
399420

400421
@Test
401422
public void testGallerySearch() throws IOException {
423+
testOnlyOnServer(OwnCloudVersion.nextcloud_18);
424+
402425
for (int i = 0; i < 10; i++) {
403426
String filePath = createFile("image" + i);
404427
String remotePath = "/image" + i + ".jpg";
@@ -425,6 +448,12 @@ public void testGallerySearch() throws IOException {
425448

426449
@Test
427450
public void showOnlyFolders() throws IOException {
451+
// on newer server we have Talk folder
452+
int offset = 0;
453+
if (capability.getVersion().isNewerOrEqual(NextcloudVersion.nextcloud_20)) {
454+
offset = 1;
455+
}
456+
428457
for (int i = 0; i < 10; i++) {
429458
String filePath = createFile("image" + i);
430459
String remotePath = "/image" + i + ".jpg";
@@ -438,13 +467,13 @@ public void showOnlyFolders() throws IOException {
438467

439468
RemoteOperationResult<List<RemoteFile>> result = sut.execute(client);
440469
assertTrue(result.isSuccess());
441-
assertEquals(1, result.getResultData().size());
470+
assertEquals(0 + offset, result.getResultData().size());
442471

443472
assertTrue(new CreateFolderRemoteOperation("/folder/", false).execute(client).isSuccess());
444473

445474
result = sut.execute(client);
446475
assertTrue(result.isSuccess());
447-
assertEquals(2, result.getResultData().size());
476+
assertEquals(1 + offset, result.getResultData().size());
448477
assertEquals("/folder/", result.getResultData().get(0).getRemotePath());
449478
}
450479

0 commit comments

Comments
 (0)