Merge pull request #10436 from owncloud/remove-todo-step-in-webdav

[tests-only][full-ci] updated feature file to remove trailing slash for folder propfind request
This commit is contained in:
Sawjan Gurung
2024-11-13 10:35:56 +05:45
committed by GitHub
11 changed files with 105 additions and 105 deletions

View File

@@ -1579,25 +1579,25 @@ trait WebDav {
"1"
);
// TODO: make it work for folder entries
// Doesn't work for folder entries
// as the folder entry has trailing '/' in d:href
$webdavPath = "/" . $this->getFullDavFilesPath($user) . $expectedElement;
// return xmlobject that matches the x-path pattern.
$element = $responseXmlObject->xpath(
"//d:response/d:href[text() = \"$webdavPath\"]"
"//d:response/d:href"
);
if ($expectedToBeListed
&& (!isset($element[0]) || urldecode($element[0]->__toString()) !== urldecode($webdavPath))
) {
Assert::fail(
"$webdavPath is not in propfind answer but should be"
);
} elseif (!$expectedToBeListed && isset($element[0])
// check the first element because the requested resource will always be the first one
if (!$expectedToBeListed && isset($element[0])
) {
Assert::fail(
"$webdavPath is in propfind answer but should not be"
);
};
if ($expectedToBeListed) {
$elementSanitized = rtrim($element[0]->__toString(), '/');
if (!isset($element[0]) || urldecode($elementSanitized) !== urldecode($webdavPath)) {
Assert::fail(
"$webdavPath is not in propfind answer but should be"
);
}
}
}
}

View File

@@ -21,8 +21,8 @@ Feature: resources shared with the same name are received with unique names
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Carol" should see the following elements
| Shares/foo/ |
| /Shares/foo (1)/ |
| Shares/foo |
| /Shares/foo (1) |
@smokeTest @issue-2131
Scenario: unique target names for incoming shares when auto-accepting is disabled
@@ -34,5 +34,5 @@ Feature: resources shared with the same name are received with unique names
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Carol" should see the following elements
| Shares/foo/ |
| /Shares/foo (1)/ |
| Shares/foo |
| /Shares/foo (1) |

View File

@@ -58,9 +58,9 @@ Feature: share resources where the sharee receives the share in multiple ways
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And user "Brian" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/CHILD/ |
| /Shares/CHILD |
| /Shares/CHILD/child.txt |
Examples:
| ocs-api-version | ocs-status-code |

View File

@@ -215,10 +215,10 @@ Feature: sharing
And user "Alice" has uploaded file with content "file in parent folder" to "/PARENT/parent.txt"
When user "Alice" shares folder "/PARENT" with group "grp1" using the sharing API
And user "Brian" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
And user "Carol" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
@smokeTest @skipOnReva # reva doesn't have a pre-created admin user
@@ -230,7 +230,7 @@ Feature: sharing
And admin has created folder "/PARENT"
When user "admin" shares folder "/PARENT" with group "grp1" using the sharing API
Then user "Alice" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
@smokeTest
Scenario: user included in multiple groups, shares a folder with a group
@@ -247,7 +247,7 @@ Feature: sharing
When user "Alice" shares folder "/PARENT" with group "grp1" using the sharing API
Then user "Brian" should have sync enabled for share "PARENT"
And user "Brian" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
Scenario: sharing again an own file while belonging to a group
@@ -426,10 +426,10 @@ Feature: sharing
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And user "Brian" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
And user "Carol" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
Examples:
| ocs-api-version | ocs-status-code |

View File

@@ -36,11 +36,11 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /textfile0.txt |
But user "Brian" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the pending state
@@ -48,11 +48,11 @@ Feature: accept/decline shares coming from internal users
| /PARENT/ |
| /textfile0.txt |
And user "Carol" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /textfile0.txt |
But user "Carol" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Carol" that these shares are in the pending state
@@ -68,11 +68,11 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /textfile0.txt |
But user "Brian" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the pending state
@@ -120,10 +120,10 @@ Feature: accept/decline shares coming from internal users
| share_with_displayname | %displayname% |
| mail_send | 0 |
And user "Brian" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /textfile0.txt |
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the accepted state
@@ -145,7 +145,7 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And user "Brian" should see the following elements
| /Shares/shared/ |
| /Shares/shared |
And the sharing API should report to user "Brian" that these shares are in the accepted state
| path |
| /Shares/shared/ |
@@ -170,11 +170,11 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /textfile0.txt |
But user "Brian" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the declined state
@@ -204,7 +204,7 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the declined state
@@ -253,7 +253,7 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Carol" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Carol" that these shares are in the pending state
@@ -261,7 +261,7 @@ Feature: accept/decline shares coming from internal users
| /PARENT/ |
| /textfile0.txt |
But user "Brian" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the accepted state
@@ -293,8 +293,8 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Carol" should see the following elements
| /Shares/shared/Brian/ |
| /Shares/shared (1)/Alice/ |
| /Shares/shared/Brian |
| /Shares/shared (1)/Alice |
And the sharing API should report to user "Carol" that these shares are in the accepted state
| path |
| /Shares/shared/ |
@@ -384,11 +384,11 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /Shares/PARENT/ |
| /FOLDER |
| /PARENT |
| /Shares/PARENT |
| /Shares/PARENT/abc.txt |
| /Shares/FOLDER/ |
| /Shares/FOLDER |
| /Shares/FOLDER/abc.txt |
And user "Brian" should not see the following elements
| /FOLDER/abc.txt |
@@ -413,20 +413,20 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /Shares/PARENT/ |
| /Shares/FOLDER/ |
| /FOLDER |
| /PARENT |
| /Shares/PARENT |
| /Shares/FOLDER |
| /Shares/PARENT/abc.txt |
| /Shares/FOLDER/abc.txt |
And user "Brian" should not see the following elements
| /FOLDER/abc.txt |
| /PARENT/abc.txt |
And user "Carol" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /Shares/PARENT/ |
| /Shares/FOLDER/ |
| /FOLDER |
| /PARENT |
| /Shares/PARENT |
| /Shares/FOLDER |
| /Shares/PARENT/abc.txt |
| /Shares/FOLDER/abc.txt |
And user "Carol" should not see the following elements
@@ -472,19 +472,19 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /PARENT/ |
| /PARENT |
| /textfile0.txt |
But user "Brian" should not see the following elements
| /Shares/textfile0.txt |
| /Shares/PARENT/ |
| /Shares/PARENT |
When user "Brian" accepts share "/textfile0.txt" offered by user "Alice" using the sharing API
And user "Brian" accepts share "/PARENT" offered by user "Alice" using the sharing API
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /PARENT/ |
| /PARENT |
| /textfile0.txt |
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/textfile0.txt |
@@ -526,10 +526,10 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "David" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/abc.txt |
And user "David" should not see the following elements
| /PARENT (2)/ |
| /PARENT (2) |
And the content of file "/Shares/PARENT/abc.txt" for user "David" should be "uploaded content"
@issue-1123 @issue-2540
@@ -600,9 +600,9 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /PARENT/ |
| /Shares/PARENT/ |
| /Shares/PaRent/ |
| /PARENT |
| /Shares/PARENT |
| /Shares/PaRent |
| /Shares/PARENT.txt |
And the content of file "/Shares/PARENT/parent.txt" for user "Brian" should be "subfile, from alice to grp2"
And the content of file "/Shares/PaRent/parent.txt" for user "Brian" should be "subfile, from alice to grp2"
@@ -620,10 +620,10 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Brian" should see the following elements
| /PARENT/ |
| /Shares/PARENT/ |
| /Shares/PARENT (1)/ |
| /Shares/PaRent/ |
| /PARENT |
| /Shares/PARENT |
| /Shares/PARENT (1) |
| /Shares/PaRent |
| /Shares/PARENT.txt |
| /Shares/PARENT (1).txt |
| /Shares/parent.txt |
@@ -664,9 +664,9 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Carol" should see the following elements
| /PARENT/ |
| /Shares/PARENT/ |
| /Shares/PaRent/ |
| /PARENT |
| /Shares/PARENT |
| /Shares/PaRent |
| /Shares/PARENT.txt |
And the content of file "/Shares/PARENT/parent.txt" for user "Carol" should be "subfile, from alice to grp1"
And the content of file "/Shares/PARENT.txt" for user "Carol" should be "from alice to grp1"
@@ -683,10 +683,10 @@ Feature: accept/decline shares coming from internal users
Then the OCS status code of responses on all endpoints should be "100"
And the HTTP status code of responses on all endpoints should be "200"
And user "Carol" should see the following elements
| /PARENT/ |
| /Shares/PARENT/ |
| /Shares/PARENT (1)/ |
| /Shares/PaRent/ |
| /PARENT |
| /Shares/PARENT |
| /Shares/PARENT (1) |
| /Shares/PaRent |
| /Shares/PARENT.txt |
| /Shares/PARENT (1).txt |
| /Shares/parent.txt |

View File

@@ -154,10 +154,10 @@ Feature: sharing
When the administrator removes user "Carol" from group "group0" using the provisioning API
Then the HTTP status code should be "204"
And user "Brian" should see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
But user "Carol" should not see the following elements
| /Shares/PARENT/ |
| /Shares/PARENT |
| /Shares/PARENT/parent.txt |
@smokeTest @issue-1226 @issue-1270 @issue-1271 @issue-1231

View File

@@ -188,7 +188,7 @@ Feature: using trashbin together with sharing
| ETag | /^"[a-f0-9:\.]{1,32}"$/ |
And as "Brian" the file with original path "/Shares/renamed_shared/shared_file.txt" should not exist in the trashbin
And user "Brian" should see the following elements
| /Shares/renamed_shared/ |
| /Shares/renamed_shared |
| /Shares/renamed_shared/shared_file.txt |
And the content of file "/Shares/renamed_shared/shared_file.txt" for user "Brian" should be "file to delete"
Examples:

View File

@@ -24,8 +24,8 @@ Feature: restore deleted files/folders
And as "Alice" the file with original path "/textfile0.txt" should not exist in the trashbin
And the content of file "/textfile0.txt" for user "Alice" should be "file to delete"
And user "Alice" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /PARENT/parent.txt |
| /textfile0.txt |
| /textfile1.txt |
@@ -187,10 +187,10 @@ Feature: restore deleted files/folders
And the content of file "<file-name>" for user "Alice" should be "file original content"
Examples:
| dav-path-version | file-name |
| spaces | 😛 😜 🐱 🐭 🚴 |
| new | 😛 😜 🐱 🐭 🚴 |
| spaces | strängé file |
| new | strängé file |
| spaces | 😛 😜 🐱 🐭 🚴 |
| new | 😛 😜 🐱 🐭 🚴 |
| spaces | strängé file |
| new | strängé file |
| spaces | sample,1.txt |
| new | sample,1.txt |
@@ -416,8 +416,8 @@ Feature: restore deleted files/folders
Then the HTTP status code should be "409"
And as "Alice" the file with original path "/parent_folder/sub/parent.txt" should exist in the trashbin
And user "Alice" should not see the following elements
| /parent_folder/ |
| /parent_folder/sub/ |
| /parent_folder |
| /parent_folder/sub |
| /parent_folder/sub/parent.txt |
Examples:
| dav-path-version |
@@ -440,8 +440,8 @@ Feature: restore deleted files/folders
And as "Alice" the file with original path "/parent_folder/sub/parent.txt" should not exist in the trashbin
And the content of file "/parent_folder/sub/parent.txt" for user "Alice" should be "parent text"
And user "Alice" should see the following elements
| /parent_folder/ |
| /parent_folder/sub/ |
| /parent_folder |
| /parent_folder/sub |
| /parent_folder/sub/parent.txt |
Examples:
| dav-path-version |
@@ -459,8 +459,8 @@ Feature: restore deleted files/folders
Then the HTTP status code should be "400"
And as "Alice" the file with original path "/parent_folder/sub/parent.txt" should exist in the trashbin
And user "Alice" should not see the following elements
| /parent_folder/ |
| /parent_folder/sub/ |
| /parent_folder |
| /parent_folder/sub |
| /parent_folder/sub/parent.txt |
Examples:
| dav-path-version |

View File

@@ -19,12 +19,12 @@ Feature: delete folder contents
When user "Alice" deletes everything from folder "/FOLDER/" using the WebDAV API
Then the HTTP status code should be "204"
And user "Alice" should see the following elements
| /FOLDER/ |
| /PARENT/ |
| /FOLDER |
| /PARENT |
| /textfile0.txt |
| /textfile1.txt |
And user "Alice" should not see the following elements
| /FOLDER/SUBFOLDER/ |
| /FOLDER/SUBFOLDER |
| /FOLDER/fileToDelete.txt |
| /FOLDER/SUBFOLDER/testfile0.txt |
Examples:

View File

@@ -28,7 +28,7 @@ Feature: move (rename) folder
When user "Alice" moves folder "/testshare" to "\" using the WebDAV API
Then the HTTP status code should be "400"
And user "Alice" should see the following elements
| /testshare/ |
| /testshare |
Examples:
| dav-path-version |
| old |
@@ -42,7 +42,7 @@ Feature: move (rename) folder
When user "Alice" moves folder "/testshare" to "\testshare" using the WebDAV API
Then the HTTP status code should be "400"
And user "Alice" should see the following elements
| /testshare/ |
| /testshare |
Examples:
| dav-path-version |
| old |
@@ -56,7 +56,7 @@ Feature: move (rename) folder
When user "Alice" moves folder "/testshare" to "/hola\hola" using the WebDAV API
Then the HTTP status code should be "400"
And user "Alice" should see the following elements
| /testshare/ |
| /testshare |
Examples:
| dav-path-version |
| old |
@@ -71,9 +71,9 @@ Feature: move (rename) folder
When user "Alice" moves folder "/testshare" to "/an-other-folder/testshare" using the WebDAV API
Then the HTTP status code should be "201"
And user "Alice" should not see the following elements
| /testshare/ |
| /testshare |
And user "Alice" should see the following elements
| /an-other-folder/testshare/ |
| /an-other-folder/testshare |
Examples:
| dav-path-version |
| old |
@@ -87,7 +87,7 @@ Feature: move (rename) folder
When user "Alice" moves folder "/testshare" to "/not-existing/testshare" using the WebDAV API
Then the HTTP status code should be "409"
And user "Alice" should see the following elements
| /testshare/ |
| /testshare |
Examples:
| dav-path-version |
| old |
@@ -258,7 +258,7 @@ Feature: move (rename) folder
When user "Alice" moves folder "/testshare" to "/.htaccess" using the WebDAV API
Then the HTTP status code should be "201"
And user "Alice" should see the following elements
| /.htaccess/ |
| /.htaccess |
Examples:
| dav-path-version |
| old |

View File

@@ -668,7 +668,7 @@ Feature: copy file
When user "Alice" copies folder "/testshare" to "/not-existing/testshare" using the WebDAV API
Then the HTTP status code should be "409"
And user "Alice" should see the following elements
| /testshare/ |
| /testshare |
Examples:
| dav-path-version |
| old |
@@ -978,9 +978,9 @@ Feature: copy file
When user "Alice" copies folder "/testshare" to "/an-other-folder/testshare" using the WebDAV API
Then the HTTP status code should be "201"
And user "Alice" should see the following elements
| /testshare/ |
| /testshare |
And user "Alice" should see the following elements
| /an-other-folder/testshare/ |
| /an-other-folder/testshare |
Examples:
| dav-path-version |
| old |