test(acceptance): assert COPY and MOVE preserve the source mtime#2904
Open
michaelstingl wants to merge 1 commit into
Open
test(acceptance): assert COPY and MOVE preserve the source mtime#2904michaelstingl wants to merge 1 commit into
michaelstingl wants to merge 1 commit into
Conversation
No acceptance scenario checked the mtime after a WebDAV COPY or MOVE. mtime is covered on the upload path (coreApiWebdavUploadTUS/uploadFileMtime.feature) but not on the server-side copy and move operations, which is why the COPY mtime bug in opencloud-eu#2378 surfaced only through rclone's external integration tests. Add copyFileMtime.feature and moveFileMtime.feature, built from existing steps: upload a file with a known mtime, copy or move it (to a sibling name and into a folder), then assert the destination keeps the mtime, across the old, new and spaces DAV paths. The fix shipped in opencloud-eu/reva#535; this adds the missing regression coverage.
Up to standards ✅🟢 Issues
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds acceptance tests asserting that a WebDAV
COPYand a WebDAVMOVEpreserve the source file's mtime. No acceptance scenario currently checks the mtime after a copy or a move:mtimeis well covered on the upload path (coreApiWebdavUploadTUS/uploadFileMtime.feature) but not on the server-side copy/move operations.Two new feature files, built entirely from existing step definitions (no new step code):
tests/acceptance/features/coreApiWebdavCopyCreate/copyFileMtime.featuretests/acceptance/features/coreApiWebdavMove/moveFileMtime.featureEach uploads a file with a known mtime, copies/moves it (to a sibling name and into a folder), and asserts the destination keeps that mtime, across the
old,newandspacesDAV paths.Related Issue
Adds the missing regression coverage for the COPY mtime behavior reported in #2378, which was fixed on the reva side in:
The fix shipped without a regression test in this suite, which is why the issue surfaced only through rclone's external integration tests. This PR closes that test gap. The
MOVEscenarios cover the same live-property guarantee for the sibling operation, which was also untested.Motivation and Context
Per RFC 4918 section 9.8 a
COPYduplicates the resource, so the live properties includinggetlastmodifiedcarry over to the destination; the same expectation holds for aMOVE. The behavior is correct in current builds, but nothing in the acceptance suite guards it, so a regression could pass CI unnoticed.How Has This Been Tested?
Ran both feature files locally against a stock
opencloudeu/opencloud-rolling:7.1server on all three CI storage drivers, viamake test-acceptance-api:old/new/spaces)No
expected-failuresentries were needed on any driver.Types of changes
Checklist:
🤖 drafted with Claude Code, reviewed before submitting.