@@ -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