Skip to content

Commit 420bc3e

Browse files
committed
Test multiple shares at once
Signed-off-by: ZetaTom <70907959+ZetaTom@users.noreply.github.com>
1 parent 6ef2923 commit 420bc3e

1 file changed

Lines changed: 38 additions & 21 deletions

File tree

library/src/androidTest/java/com/owncloud/android/lib/resources/files/FilesDownloadLimitIT.kt

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,45 +37,61 @@ class FilesDownloadLimitIT : AbstractIT() {
3737
@Test
3838
@Suppress("Detekt.MagicNumber")
3939
fun downloadLimit() {
40-
val share = createTestShare()
41-
val limit = 5
40+
createTestFile()
4241

43-
val resultSet = SetFilesDownloadLimitRemoteOperation(share.token!!, limit).execute(nextcloudClient)
44-
assert(resultSet.isSuccess)
42+
val shareTokens = mutableListOf<String>()
4543

46-
shortSleep()
44+
DOWNLOAD_LIMITS.forEach { limit ->
45+
val share = createTestShare()
46+
shareTokens.add(share.token!!)
4747

48-
val resultGet1 = GetFilesDownloadLimitRemoteOperation(REMOTE_PATH, false).execute(client)
49-
assert(resultGet1.isSuccess)
50-
assert(resultGet1.resultData.size == 1)
51-
assert(resultGet1.resultData.first().token == share.token)
52-
assert(resultGet1.resultData.first().limit == limit)
53-
assert(resultGet1.resultData.first().count == 0)
48+
val resultSet = SetFilesDownloadLimitRemoteOperation(share.token!!, limit).execute(nextcloudClient)
49+
assert(resultSet.isSuccess)
5450

55-
shortSleep()
51+
shortSleep()
52+
53+
val resultGet = GetFilesDownloadLimitRemoteOperation(REMOTE_PATH, false).execute(client)
54+
assert(resultGet.isSuccess)
55+
assertEquals(shareTokens.size, resultGet.resultData.size)
5656

57-
val resultRemove = RemoveFilesDownloadLimitRemoteOperation(share.token!!).execute(nextcloudClient)
58-
assert(resultRemove.isSuccess)
57+
val downloadLimit =
58+
resultGet.resultData.first {
59+
it.token == share.token
60+
}
61+
62+
assertEquals(limit, downloadLimit.limit)
63+
assertEquals(0, downloadLimit.count)
64+
}
5965

6066
shortSleep()
6167

62-
val resultGet2 = GetFilesDownloadLimitRemoteOperation(REMOTE_PATH, false).execute(client)
63-
assert(resultGet2.isSuccess)
64-
assert(resultGet2.resultData.isEmpty())
68+
for (i in shareTokens.lastIndex downTo 0) {
69+
val token = shareTokens[i]
70+
val resultRemove = RemoveFilesDownloadLimitRemoteOperation(token).execute(nextcloudClient)
71+
assert(resultRemove.isSuccess)
72+
73+
shortSleep()
74+
75+
val resultGet = GetFilesDownloadLimitRemoteOperation(REMOTE_PATH, false).execute(client)
76+
assert(resultGet.isSuccess)
77+
assertEquals(i, resultGet.resultData.size)
78+
}
6579
}
6680

6781
private fun getCapability(): OCCapability =
6882
GetCapabilitiesRemoteOperation().execute(nextcloudClient).singleData as OCCapability
6983

70-
private fun createTestShare(): OCShare {
84+
private fun createTestFile(): Boolean {
7185
val localPath = createFile("test")
72-
73-
assert(
86+
val result =
7487
UploadFileRemoteOperation(localPath, REMOTE_PATH, "text/plain", RANDOM_MTIME)
7588
.execute(client)
7689
.isSuccess
77-
)
90+
assert(result)
91+
return result
92+
}
7893

94+
private fun createTestShare(): OCShare {
7995
val result =
8096
CreateShareRemoteOperation(
8197
REMOTE_PATH,
@@ -94,5 +110,6 @@ class FilesDownloadLimitIT : AbstractIT() {
94110

95111
companion object {
96112
private const val REMOTE_PATH = "/downloadLimits.txt"
113+
private val DOWNLOAD_LIMITS = listOf(5, 10)
97114
}
98115
}

0 commit comments

Comments
 (0)