From 03926e6182aaf384944958584ab6c221bca7c21a Mon Sep 17 00:00:00 2001 From: Sagar Gurung <46086950+SagarGi@users.noreply.github.com> Date: Wed, 27 Sep 2023 14:42:57 +0545 Subject: [PATCH] [tests-only][full-ci]Backport propfind by fileid (#7365) * Added test for the propfind with file id * Refactor the scenario title description * Review address- refactor scenarios --- .../propfindByFileId.feature | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 tests/acceptance/features/apiSpacesDavOperation/propfindByFileId.feature diff --git a/tests/acceptance/features/apiSpacesDavOperation/propfindByFileId.feature b/tests/acceptance/features/apiSpacesDavOperation/propfindByFileId.feature new file mode 100644 index 00000000000..b88a52af3dd --- /dev/null +++ b/tests/acceptance/features/apiSpacesDavOperation/propfindByFileId.feature @@ -0,0 +1,137 @@ +Feature: propfind a file using file id + As a user + I want to check the PROPFIND response of file using their file id + So that I can make sure that the response contains all the relevant values + + Background: + Given using spaces DAV path + And user "Alice" has been created with default attributes and without skeleton files + + + Scenario Outline: send a PROPFIND request to a file inside root of personal space + Given user "Alice" has uploaded file with content "some data" to "/textfile.txt" + And we save it into "FILEID" + When user "Alice" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "207" + And the "PROPFIND" response to user "Alice" should contain a mountpoint "Alice Hansen" with these key and value pairs: + | key | value | + | oc:name | textfile.txt | + | oc:permissions | RDNVWZP | + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: send a PROPFIND request to a file inside a folder of personal space + Given user "Alice" has created folder "folder" + And user "Alice" has uploaded file with content "some data" to "folder/textfile.txt" + And we save it into "FILEID" + When user "Alice" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "207" + And the "PROPFIND" response to user "Alice" should contain a mountpoint "Alice Hansen" with these key and value pairs: + | key | value | + | oc:name | textfile.txt | + | oc:permissions | RDNVWZP | + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: send a PROPFIND request to a file in personal space owned by another user + Given user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has uploaded file with content "some data" to "textfile.txt" + And we save it into "FILEID" + When user "Brian" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "404" + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: send a PROPFIND request to a file of inside project space + Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "new-space" with the default quota using the GraphApi + And user "Alice" has uploaded a file inside space "new-space" with content "some content" to "textfile.txt" + And we save it into "FILEID" + When user "Alice" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "207" + And the "PROPFIND" response should contain a space "new-space" with these key and value pairs: + | key | value | + | oc:name | textfile.txt | + | oc:permissions | RDNVWZP | + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: send a PROPFIND request to a file inside a folder of project space + Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "new-space" with the default quota using the GraphApi + And user "Alice" has created a folder "folder" in space "new-space" + And user "Alice" has uploaded a file inside space "new-space" with content "some content" to "/folder/textfile.txt" + And we save it into "FILEID" + When user "Alice" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "207" + And the "PROPFIND" response should contain a space "new-space" with these key and value pairs: + | key | value | + | oc:name | textfile.txt | + | oc:permissions | RDNVWZP | + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: send a PROPFIND request to a file inside project space owned by another user + Given user "Brian" has been created with default attributes and without skeleton files + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "new-space" with the default quota using the GraphApi + And user "Alice" has uploaded a file inside space "new-space" with content "some content" to "textfile.txt" + And we save it into "FILEID" + When user "Brian" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "404" + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: send a PROPFIND request to a shared file + Given user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has uploaded file with content "some data" to "/textfile.txt" + And we save it into "FILEID" + And user "Alice" has shared file "/textfile.txt" with user "Brian" + And user "Brian" has accepted share "/textfile.txt" offered by user "Alice" + When user "Brian" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "207" + And the "PROPFIND" response to user "Alice" should contain a mountpoint "Brian Murphy" with these key and value pairs: + | key | value | + | oc:name | textfile.txt | + | oc:permissions | SRNVW | + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> | + + + Scenario Outline: sharee sends a PROPFIND request to a file inside of a shared folder + Given user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has created folder "/folder" + And user "Alice" has shared folder "/folder" with user "Brian" + And user "Brian" has accepted share "/folder" offered by user "Alice" + And user "Alice" has uploaded file with content "some data" to "/folder/textfile.txt" + And we save it into "FILEID" + When user "Brian" sends HTTP method "PROPFIND" to URL "" + Then the HTTP status code should be "207" + And the "PROPFIND" response to user "Alice" should contain a mountpoint "Brian Murphy" with these key and value pairs: + | key | value | + | oc:name | textfile.txt | + | oc:permissions | RDNVWZP | + Examples: + | dav-path | + | /remote.php/dav/spaces/<> | + | /dav/spaces/<> |