mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-26 23:12:06 -05:00
124 lines
6.7 KiB
Gherkin
124 lines
6.7 KiB
Gherkin
Feature: COPY file/folder
|
|
As a user
|
|
I want to copy a file or folder
|
|
So that I can duplicate it
|
|
|
|
Background:
|
|
Given these users have been created with default attributes and without skeleton files:
|
|
| username |
|
|
| Alice |
|
|
| Brian |
|
|
And user "Alice" has uploaded file with content "some data" to "/textfile0.txt"
|
|
And user "Alice" has created folder "/PARENT"
|
|
And user "Alice" has created folder "/FOLDER"
|
|
And user "Alice" has uploaded file with content "some data" to "/PARENT/parent.txt"
|
|
|
|
@smokeTest
|
|
Scenario: send COPY requests to webDav endpoints as normal user with wrong password
|
|
When user "Alice" requests these endpoints with "COPY" using password "invalid" about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/webdav/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/webdav/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "401"
|
|
|
|
@smokeTest
|
|
Scenario: send COPY requests to webDav endpoints as normal user with no password
|
|
When user "Alice" requests these endpoints with "COPY" using password "" about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/webdav/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/webdav/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "401"
|
|
|
|
|
|
Scenario: send COPY requests to another user's webDav endpoints as normal user
|
|
When user "Brian" requests these endpoints with "COPY" about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "403"
|
|
|
|
@skipOnRevaMaster
|
|
Scenario: send COPY requests to another user's webDav endpoints as normal user using the spaces WebDAV API
|
|
When user "Brian" requests these endpoints with "COPY" about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "403"
|
|
|
|
|
|
Scenario: send COPY requests to webDav endpoints using invalid username but correct password
|
|
When user "usero" requests these endpoints with "COPY" using the password of user "Alice"
|
|
| endpoint |
|
|
| /remote.php/webdav/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/webdav/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "401"
|
|
|
|
|
|
Scenario: send COPY requests to webDav endpoints using valid password and username of different user
|
|
When user "Brian" requests these endpoints with "COPY" using the password of user "Alice"
|
|
| endpoint |
|
|
| /remote.php/webdav/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/webdav/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "401"
|
|
|
|
@smokeTest
|
|
Scenario: send COPY requests to webDav endpoints without any authentication
|
|
When a user requests these endpoints with "COPY" with no authentication about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/webdav/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/webdav/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "401"
|
|
|
|
|
|
Scenario: send COPY requests to webDav endpoints with body as normal user
|
|
When user "Alice" requests these endpoints with "COPY" including body "doesnotmatter" about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/webdav/textfile0.txt |
|
|
| /remote.php/dav/files/%username%/textfile0.txt |
|
|
| /remote.php/webdav/PARENT |
|
|
| /remote.php/dav/files/%username%/PARENT |
|
|
| /remote.php/webdav/PARENT/parent.txt |
|
|
| /remote.php/dav/files/%username%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "415"
|
|
|
|
@skipOnRevaMaster
|
|
Scenario: send COPY requests to webDav endpoints with body as normal user using the spaces WebDAV API
|
|
When user "Alice" requests these endpoints with "COPY" including body "doesnotmatter" about user "Alice"
|
|
| endpoint |
|
|
| /remote.php/dav/spaces/%spaceid%/textfile0.txt |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT |
|
|
| /remote.php/dav/spaces/%spaceid%/PARENT/parent.txt |
|
|
Then the HTTP status code of responses on all endpoints should be "415"
|