@@ -242,34 +242,52 @@ class AutoRenameTests : AbstractOnServerIT() {
242242 assert (result == expectedFilename) { " Expected $expectedFilename but got $result " }
243243 }
244244
245+ // For the following WCF tests, refer to the doc of OCCapability.checkWCFRestrictions() for the expected behavior
246+ // based on Nextcloud server versions and WCF configuration.
247+
245248 @Test
246- fun skipAutoRenameWhenWCFDisabled () {
247- var capability = capability
249+ fun testWCFDisabledOnNextcloud32ShouldSkipRestrictions () {
248250 val filename = " readme.txt "
249-
250- // Nextcloud 32+: Respects the isWCFEnabled flag
251- capability = capability.apply {
251+ val nc32Capability = capability.apply {
252252 versionMayor = NextcloudVersion .nextcloud_32.majorVersionNumber
253253 isWCFEnabled = CapabilityBooleanType .FALSE
254254 }
255- var result = AutoRename .rename(filename, capability , isFolderPath = true )
255+ val result = AutoRename .rename(filename, nc32Capability , isFolderPath = true )
256256 assert (result == filename) { " Expected $filename but got $result " }
257+ }
257258
258- // Nextcloud 30-31+: Always applies WCF restrictions, even if flag is set to false
259- capability = capability.apply {
259+ @Test
260+ fun testWCFEnabledOnNextcloud32ShouldApplyRestrictions () {
261+ val filename = " readme.txt "
262+ val nc32Capability = capability.apply {
263+ versionMayor = NextcloudVersion .nextcloud_32.majorVersionNumber
264+ isWCFEnabled = CapabilityBooleanType .TRUE
265+ }
266+ val result = AutoRename .rename(filename, nc32Capability, isFolderPath = true )
267+ val expectedFilename = " readme.txt"
268+ assert (result == expectedFilename) { " Expected $expectedFilename but got $result " }
269+ }
270+
271+ @Test
272+ fun testWCFDisabledOnNextcloud30to31ShouldStillApplyRestrictions () {
273+ val filename = " readme.txt "
274+ val nc30Capability = capability.apply {
260275 versionMayor = NextcloudVersion .nextcloud_30.majorVersionNumber
261276 isWCFEnabled = CapabilityBooleanType .FALSE
262277 }
263- result = AutoRename .rename(filename, capability, isFolderPath = true )
264- val expectedWCFFilename = " readme.txt"
265- assert (result == expectedWCFFilename) { " Expected $expectedWCFFilename but got $result " }
278+ val result = AutoRename .rename(filename, nc30Capability, isFolderPath = true )
279+ val expectedFilename = " readme.txt"
280+ assert (result == expectedFilename) { " Expected $expectedFilename but got $result " }
281+ }
266282
267- // Nextcloud <30: No WCF restrictions, even if flag is set to true
268- capability = capability.apply {
283+ @Test
284+ fun testWCFOnNextcloudBelow30ShouldSkipRestrictions () {
285+ val filename = " readme.txt "
286+ val nc29Capability = capability.apply {
269287 versionMayor = NextcloudVersion .nextcloud_29.majorVersionNumber
270288 isWCFEnabled = CapabilityBooleanType .TRUE
271289 }
272- result = AutoRename .rename(filename, capability , isFolderPath = true )
290+ val result = AutoRename .rename(filename, nc29Capability , isFolderPath = true )
273291 assert (result == filename) { " Expected $filename but got $result " }
274292 }
275293}
0 commit comments