From 76ffc82bbaba6ce267eda03f869bb67b2012ef4d Mon Sep 17 00:00:00 2001 From: Michael Stingl Date: Fri, 17 Jul 2026 14:40:37 +0200 Subject: [PATCH] test(coreApiWebdavUploadTUS): assert etag and permissions on the finalizing TUS chunk (#3078) * test(coreApiWebdavUploadTUS): assert etag and permissions on the finalizing TUS chunk The chunked TUS finalize returns OC-ETag, ETag and OC-Perm since https://github.com/opencloud-eu/reva/pull/718, so a client no longer needs a follow-up PROPFIND for the new etag and permissions. Add a scenario asserting these headers on the finalizing chunk, reusing existing step definitions (the etag is a dynamic quoted hash, hence the header-regex assertion). Verified locally red->green: red on stock (headers absent), green on an opencloud built on a reva carrying that change, on posix and decomposed. https://github.com/opencloud-eu/opencloud/issues/2409 * test(coreApiWebdavUploadTUS): assert exact OC-Perm and tighten etag regex --------- Co-authored-by: v.scharf --- .../lowLevelUpload.feature | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/acceptance/features/coreApiWebdavUploadTUS/lowLevelUpload.feature b/tests/acceptance/features/coreApiWebdavUploadTUS/lowLevelUpload.feature index c34202b8d0..c3e85edfd1 100644 --- a/tests/acceptance/features/coreApiWebdavUploadTUS/lowLevelUpload.feature +++ b/tests/acceptance/features/coreApiWebdavUploadTUS/lowLevelUpload.feature @@ -90,3 +90,25 @@ Feature: low level tests for upload of chunks | old | | new | | spaces | + + @issue-2409 + Scenario Outline: finalize a chunked upload and get the etag and permissions + Given using DAV path + And user "Alice" has created a new TUS resource on the WebDAV API with these headers: + | Upload-Length | 10 | + # ZmlsZS50eHQ= is the base64 encode of file.txt + | Upload-Metadata | filename ZmlsZS50eHQ= | + When user "Alice" sends a chunk to the last created TUS Location with offset "0" and data "123" using the WebDAV API + And user "Alice" sends a chunk to the last created TUS Location with offset "3" and data "4567890" using the WebDAV API + Then the HTTP status code should be "204" + And the following headers should be set + | header | value | + | OC-Perm | RDNVWZP | + And the following headers should match these regular expressions + | OC-ETag | /^"[a-f0-9:.]{1,32}"$/ | + | ETag | /^"[a-f0-9:.]{1,32}"$/ | + Examples: + | dav-path-version | + | old | + | new | + | spaces |