Files
opencloud/tests/acceptance/features/apiSpacesDavOperation/propfindByFileId.feature
Saw-jan f86d137f87 test: make remote.php configurable
test: build dav paths

test: fix paths

test: merge method args

test: add issue tags

test: add new expected failure file

test: merge expected-failure files before running tests
2024-10-21 16:57:58 +05:45

140 lines
6.7 KiB
Gherkin

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 "<dav-path>"
Then the HTTP status code should be "207"
And as user "Alice" the PROPFIND response should contain a resource "<<FILEID>>" with these key and value pairs:
| key | value |
| oc:name | textfile.txt |
| oc:permissions | RDNVWZP |
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 "<dav-path>"
Then the HTTP status code should be "207"
And as user "Alice" the PROPFIND response should contain a resource "<<FILEID>>" with these key and value pairs:
| key | value |
| oc:name | textfile.txt |
| oc:permissions | RDNVWZP |
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 "<dav-path>"
Then the HTTP status code should be "404"
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 Graph API
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 "<dav-path>"
Then the HTTP status code should be "207"
And as user "Alice" the PROPFIND response should contain a resource "<<FILEID>>" with these key and value pairs:
| key | value |
| oc:name | textfile.txt |
| oc:permissions | RDNVWZP |
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 Graph API
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 "<dav-path>"
Then the HTTP status code should be "207"
And as user "Alice" the PROPFIND response should contain a resource "<<FILEID>>" with these key and value pairs:
| key | value |
| oc:name | textfile.txt |
| oc:permissions | RDNVWZP |
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 Graph API
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 "<dav-path>"
Then the HTTP status code should be "404"
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 sent the following resource share invitation:
| resource | textfile.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | File Editor |
And user "Brian" has a share "textfile.txt" synced
When user "Brian" sends HTTP method "PROPFIND" to URL "<dav-path>"
Then the HTTP status code should be "207"
And as user "Brian" the PROPFIND response should contain a resource "<<FILEID>>" with these key and value pairs:
| key | value |
| oc:name | textfile.txt |
| oc:permissions | SNVW |
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |
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 sent the following resource share invitation:
| resource | folder |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | Editor |
And user "Brian" has a share "folder" synced
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 "<dav-path>"
Then the HTTP status code should be "207"
And as user "Brian" the PROPFIND response should contain a resource "<<FILEID>>" with these key and value pairs:
| key | value |
| oc:name | textfile.txt |
| oc:permissions | DNVW |
Examples:
| dav-path |
| /dav/spaces/<<FILEID>> |