Used kebab case for example table header name

This commit is contained in:
Prarup Gurung
2024-03-21 09:14:50 +05:45
parent 84a14c5953
commit fcba2d34a4
26 changed files with 918 additions and 918 deletions

View File

@@ -106,7 +106,7 @@ Feature: Change data of space
Scenario Outline: space admin user set no restriction quota of a Space via the Graph API
When user "Alice" changes the quota of the "Project Jupiter" space to "<quotaValue>"
When user "Alice" changes the quota of the "Project Jupiter" space to "<quota-value>"
Then the HTTP status code should be "200"
And the JSON data of the response should match
"""
@@ -142,9 +142,9 @@ Feature: Change data of space
}
"""
Examples:
| quotaValue |
| 0 |
| -1 |
| quota-value |
| 0 |
| -1 |
Scenario: user space admin set readme file as description of the space via the Graph API
@@ -234,20 +234,20 @@ Feature: Change data of space
And user "Alice" has uploaded a file inside space "Project Jupiter" with content "space description" to ".space/readme.md"
And user "Alice" has set the file ".space/readme.md" as a description in a special section of the "Project Jupiter" space
When user "<user>" uploads a file inside space "Project Jupiter" with content "new description" to ".space/readme.md" using the WebDAV API
Then the HTTP status code should be "<code>"
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" the content of the file ".space/readme.md" of the space "Project Jupiter" should be "<content>"
Examples:
| user | code | content |
| Brian | 204 | new description |
| Bob | 403 | space description |
| user | http-status-code | content |
| Brian | 204 | new description |
| Bob | 403 | space description |
Scenario Outline: user space admin and editor set image file as space image of the space via the Graph API
Given user "Alice" has created a folder ".space" in space "Project Jupiter"
And user "<user>" has uploaded a file inside space "Project Jupiter" with content "" to ".space/<fileName>"
When user "<user>" sets the file ".space/<fileName>" as a space image in a special section of the "Project Jupiter" space
And user "<user>" has uploaded a file inside space "Project Jupiter" with content "" to ".space/<file-name>"
When user "<user>" sets the file ".space/<file-name>" as a space image in a special section of the "Project Jupiter" space
Then the HTTP status code should be "200"
And the JSON response should contain space called "Project Jupiter" owned by "Alice" with description file ".space/<fileName>" and match
And the JSON response should contain space called "Project Jupiter" owned by "Alice" with description file ".space/<file-name>" and match
"""
{
"type": "object",
@@ -281,7 +281,7 @@ Feature: Change data of space
},
"name": {
"type": "string",
"enum": ["<nameInResponse>"]
"enum": ["<file-name>"]
},
"specialFolder": {
"type": "object",
@@ -303,7 +303,7 @@ Feature: Change data of space
"properties": {
"mimeType": {
"type": "string",
"enum": ["<mimeType>"]
"enum": ["<mime-type>"]
}
}
},
@@ -322,12 +322,12 @@ Feature: Change data of space
}
"""
And for user "<user>" folder ".space/" of the space "Project Jupiter" should contain these entries:
| <fileName> |
| <file-name> |
Examples:
| user | fileName | nameInResponse | mimeType |
| Alice | spaceImage.jpeg | spaceImage.jpeg | image/jpeg |
| Brian | spaceImage.png | spaceImage.png | image/png |
| Alice | spaceImage.gif | spaceImage.gif | image/gif |
| user | file-name | mime-type |
| Alice | spaceImage.jpeg | image/jpeg |
| Brian | spaceImage.png | image/png |
| Alice | spaceImage.gif | image/gif |
Scenario: user viewer cannot set image file as space image of the space via the Graph API
Given user "Alice" has created a folder ".space" in space "Project Jupiter"
@@ -341,8 +341,8 @@ Feature: Change data of space
And user "Alice" has uploaded a file inside space "Project Jupiter" with content "space description" to ".space/readme.md"
And user "Alice" has set the file ".space/readme.md" as a description in a special section of the "Project Jupiter" space
When user "<user>" uploads a file inside space "Project Jupiter" owned by the user "Alice" with content "new content" to ".space/readme.md" using the WebDAV API
Then the HTTP status code should be "<code>"
And for user "<user>" the content of the file ".space/readme.md" of the space "Project Jupiter" should be "<expectedContent>"
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" the content of the file ".space/readme.md" of the space "Project Jupiter" should be "<expected-content>"
When user "<user>" lists all available spaces via the Graph API
And the JSON response should contain space called "Project Jupiter" owned by "Alice" with description file ".space/readme.md" and match
"""
@@ -374,7 +374,7 @@ Feature: Change data of space
"properties": {
"size": {
"type": "number",
"enum": [<expectedSize>]
"enum": [<expected-size>]
},
"name": {
"type": "string",
@@ -419,10 +419,10 @@ Feature: Change data of space
}
"""
Examples:
| user | code | expectedSize | expectedContent |
| Alice | 204 | 11 | new content |
| Brian | 204 | 11 | new content |
| Bob | 403 | 17 | space description |
| user | http-status-code | expected-size | expected-content |
| Alice | 204 | 11 | new content |
| Brian | 204 | 11 | new content |
| Bob | 403 | 17 | space description |
Scenario Outline: user set new image file as space image of the space via the Graph API
@@ -513,46 +513,46 @@ Feature: Change data of space
Scenario Outline: user can't upload resource greater than set quota
Given the administrator has assigned the role "<userRole>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
And user "Admin" has changed the quota of the personal space of "Alice Hansen" space to "15"
When user "Alice" uploads a file inside space "Alice Hansen" with content "file is more than 15 bytes" to "file.txt" using the WebDAV API
Then the HTTP status code should be "507"
And for user "Alice" the space "Personal" should not contain these entries:
| file.txt |
Examples:
| userRole |
| Admin |
| Space Admin |
| User |
| User Light |
Examples:
| user-role |
| Admin |
| Space Admin |
| User |
| User Light |
Scenario Outline: admin user set own quota of a personal space via the Graph API and upload resource
When user "Admin" changes the quota of the "Admin" space to "<quotaValue>"
When user "Admin" changes the quota of the "Admin" space to "<quota-value>"
Then the HTTP status code should be "200"
When user "Admin" uploads a file inside space "Admin" with content "file is more than 15 bytes" to "file.txt" using the WebDAV API
Then the HTTP status code should be <code>
Then the HTTP status code should be <http-status-code>
And for user "Admin" the space "Personal" should contain these entries:
| file.txt |
Examples:
| quotaValue | code |
| 10000 | between "201" and "204" |
| 0 | between "201" and "204" |
| -1 | between "201" and "204" |
| quota-value | http-status-code |
| 10000 | between "201" and "204" |
| 0 | between "201" and "204" |
| -1 | between "201" and "204" |
Scenario Outline: admin user set an user personal space quota of via the Graph API and upload resource
When user "Admin" changes the quota of the "Brian Murphy" space to "<quotaValue>"
When user "Admin" changes the quota of the "Brian Murphy" space to "<quota-value>"
Then the HTTP status code should be "200"
When user "Brian" uploads a file inside space "Brian Murphy" with content "file is more than 15 bytes" to "file.txt" using the WebDAV API
Then the HTTP status code should be <code>
Then the HTTP status code should be <http-status-code>
And for user "Brian" the space "Personal" should contain these entries:
| file.txt |
Examples:
| quotaValue | code |
| 10000 | between "201" and "204" |
| 0 | between "201" and "204" |
| -1 | between "201" and "204" |
| quota-value | http-status-code |
| 10000 | between "201" and "204" |
| 0 | between "201" and "204" |
| -1 | between "201" and "204" |
Scenario: user sends invalid space uuid via the graph API

View File

@@ -8,18 +8,18 @@ Feature: create space
@issue-5938
Scenario Outline: user with role user and user light can't create space via Graph API
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" tries to create a space "Project Mars" of type "project" with the default quota using the Graph API
Then the HTTP status code should be "403"
And the user "Alice" should not have a space called "share space"
Examples:
| role |
| user-role |
| User |
| User Light |
Scenario Outline: admin or space admin user can create a space via the Graph API with a default quota
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" creates a space "Project Mars" of type "project" with the default quota using the Graph API
Then the HTTP status code should be "201"
And the JSON response should contain space called "Project Mars" and match
@@ -84,13 +84,13 @@ Feature: create space
}
"""
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
Scenario Outline: admin or space admin user can create a space via the Graph API with certain quota
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" creates a space "Project Venus" of type "project" with quota "2000" using the Graph API
Then the HTTP status code should be "201"
And the JSON response should contain space called "Project Venus" and match
@@ -150,6 +150,6 @@ Feature: create space
}
"""
Examples:
| role |
| user-role |
| Admin |
| Space Admin |

View File

@@ -24,13 +24,13 @@ Feature: Disabling and deleting space
Scenario Outline: user can disable their own space via the Graph API
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" disables a space "Project Moon"
Then the HTTP status code should be "204"
And the user "Brian" should not have a space called "Project Moon"
And the user "Bob" should not have a space called "Project Moon"
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
| User |
@@ -38,13 +38,13 @@ Feature: Disabling and deleting space
Scenario Outline: user with role user and user light cannot disable other space via the Graph API
Given the administrator has assigned the role "<role>" to user "Carol" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Carol" using the Graph API
When user "Carol" tries to disable a space "Project Moon" owned by user "Alice"
Then the HTTP status code should be "404"
And the user "Brian" should have a space called "Project Moon"
And the user "Bob" should have a space called "Project Moon"
Examples:
| role |
| user-role |
| User |
| User Light |
@@ -60,12 +60,12 @@ Feature: Disabling and deleting space
Scenario Outline: user cannot delete their own space without first disabling it
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" deletes a space "Project Moon"
Then the HTTP status code should be "400"
And the user "Alice" should have a space called "Project Moon"
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
| User |
@@ -73,13 +73,13 @@ Feature: Disabling and deleting space
Scenario Outline: user can delete their own disabled space via the Graph API
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
And user "Alice" has disabled a space "Project Moon"
When user "Alice" deletes a space "Project Moon"
Then the HTTP status code should be "204"
And the user "Alice" should not have a space called "Project Moon"
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
| User |
@@ -87,35 +87,35 @@ Feature: Disabling and deleting space
Scenario Outline: an admin and space manager can disable other space via the Graph API
Given the administrator has assigned the role "<role>" to user "Carol" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Carol" using the Graph API
When user "Carol" disables a space "Project Moon" owned by user "Alice"
Then the HTTP status code should be "204"
And the user "Carol" should not have a space called "Project Moon"
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
Scenario Outline: an admin and space manager can delete other disabled Space
Given the administrator has assigned the role "<role>" to user "Carol" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Carol" using the Graph API
And user "Alice" has disabled a space "Project Moon"
When user "Carol" deletes a space "Project Moon" owned by user "Alice"
Then the HTTP status code should be "204"
And the user "Alice" should not have a space called "Project Moon"
And the user "Carol" should not have a space called "Project Moon"
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
Scenario Outline: user with role user and user light cannot delete others disabled space via the Graph API
Given the administrator has assigned the role "<role>" to user "Carol" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Carol" using the Graph API
And user "Alice" has disabled a space "Project Moon"
When user "Carol" tries to delete a space "Project Moon" owned by user "Alice"
Then the HTTP status code should be "404"
Examples:
| role |
| user-role |
| User |
| User Light |

View File

@@ -29,55 +29,55 @@ Feature: A manager of the space can edit public link
When user "Alice" updates the last public link share using the sharing API with
| permissions | <permissions> |
| password | <password> |
| name | <linkName> |
| name | <link-name> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the fields of the last response to user "Alice" should include
| item_type | folder |
| mimetype | httpd/unix-directory |
| file_target | / |
| path | / |
| permissions | <expectedPermissions> |
| share_type | public_link |
| displayname_owner | %displayname% |
| name | <linkName> |
| item_type | folder |
| mimetype | httpd/unix-directory |
| file_target | / |
| path | / |
| permissions | <expected-permissions> |
| share_type | public_link |
| displayname_owner | %displayname% |
| name | <link-name> |
When the public downloads file "/test.txt" from inside the last public link shared folder with password "<password>" using the new public WebDAV API
Then the HTTP status code should be "200"
And the downloaded content should be "some content"
Examples:
| permissions | expectedPermissions | password | linkName |
| 5 | read,create | newPass:12 | |
| 15 | read,update,create,delete | newPass:12 | newName |
| permissions | expected-permissions | password | link-name |
| 5 | read,create | newPass:12 | |
| 15 | read,update,create,delete | newPass:12 | newName |
Scenario Outline: members can see a created public link
Given using OCS API version "2"
When user "Alice" shares a space "edit space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And for user "Alice" the space "edit space" should contain the last created public link
And for user "Brian" the space "edit space" should contain the last created public link
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: members of the space try to edit a public link
Given using OCS API version "2"
And user "Alice" has shared a space "edit space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" updates the last public link share using the sharing API with
| permissions | 15 |
Then the HTTP status code should be "<code>"
And the OCS status code should be "<codeOCS>"
Then the HTTP status code should be "<http-status-code>"
And the OCS status code should be "<ocs-status-code>"
Examples:
| role | code | codeOCS |
| manager | 200 | 200 |
| editor | 401 | 997 |
| viewer | 401 | 997 |
| space-role | http-status-code | ocs-status-code |
| manager | 200 | 200 |
| editor | 401 | 997 |
| viewer | 401 | 997 |

View File

@@ -16,11 +16,11 @@ Feature: Preview file in project space
Scenario Outline: user can preview created txt files in the project space
Given user "Alice" has uploaded a file inside space "previews of the files" with content "test" to "<entity>"
When user "Alice" downloads the preview of "<entity>" of the space "previews of the files" with width "<width>" and height "<height>" using the WebDAV API
Given user "Alice" has uploaded a file inside space "previews of the files" with content "test" to "<file-name>"
When user "Alice" downloads the preview of "<file-name>" of the space "previews of the files" with width "<width>" and height "<height>" using the WebDAV API
Then the HTTP status code should be "200"
Examples:
| entity | width | height |
| file-name | width | height |
| /file.txt | 36 | 36 |
| /name with spaces.txt | 1200 | 1200 |

View File

@@ -291,7 +291,7 @@ Feature: List and create spaces
Scenario Outline: user can list his created spaces via multiple endpoints
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" creates a space "Project Venus" of type "project" with quota "2000" using the Graph API
Then the HTTP status code should be "201"
And the JSON response should contain space called "Project Venus" and match
@@ -419,19 +419,19 @@ Feature: List and create spaces
}
"""
Examples:
| role |
| user-role |
| Admin |
| Space Admin |
Scenario Outline: user cannot list space by id if he is not member of the space
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
And user "Admin" has created a space "Project Venus" with the default quota using the Graph API
When user "Alice" tries to look up the single space "Project Venus" owned by the user "Admin" by using its id
Then the HTTP status code should be "404"
And the json responded should not contain a space with name "Project Venus"
Examples:
| role |
| user-role |
| User |
| User Light |
@@ -440,7 +440,7 @@ Feature: List and create spaces
Given user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has disabled auto-accepting
And user "Brian" has uploaded file with content "this is a test file." to "test.txt"
And the administrator has assigned the role "<userRole>" to user "Alice" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
And user "Brian" has shared file "/test.txt" with user "Alice"
When user "Alice" lists all available spaces via the Graph API
Then the HTTP status code should be "200"
@@ -510,7 +510,7 @@ Feature: List and create spaces
}
"""
Examples:
| userRole |
| user-role |
| Admin |
| Space Admin |
| User |

View File

@@ -20,10 +20,10 @@ Feature: State of the quota
Scenario Outline: quota information is returned in the list of spaces returned via the Graph API
Given user "Alice" has created a space "<spaceName>" of type "project" with quota "100"
When user "Alice" uploads a file inside space "<spaceName>" with content "<fileContent>" to "test.txt" using the WebDAV API
Given user "Alice" has created a space "<space-name>" of type "project" with quota "100"
When user "Alice" uploads a file inside space "<space-name>" with content "<file-content>" to "test.txt" using the WebDAV API
And user "Alice" lists all available spaces via the Graph API
Then the JSON response should contain space called "<spaceName>" and match
Then the JSON response should contain space called "<space-name>" and match
"""
{
"type": "object",
@@ -34,7 +34,7 @@ Feature: State of the quota
"properties": {
"name": {
"type": "string",
"enum": ["<spaceName>"]
"enum": ["<space-name>"]
},
"quota": {
"type": "object",
@@ -67,14 +67,14 @@ Feature: State of the quota
}
"""
Examples:
| spaceName | fileContent | state | remaining | used |
| Quota1% | 1 | normal | 99 | 1 |
| Quota75% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345 | normal | 25 | 75 |
| Quota76% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456 | nearing | 24 | 76 |
| Quota90% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 | nearing | 10 | 90 |
| Quota91% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1 | critical | 9 | 91 |
| Quota99% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 | critical | 1 | 99 |
| Quota100% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 | exceeded | 0 | 100 |
| space-name | file-content | state | remaining | used |
| Quota1% | 1 | normal | 99 | 1 |
| Quota75% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345 | normal | 25 | 75 |
| Quota76% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456 | nearing | 24 | 76 |
| Quota90% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 | nearing | 10 | 90 |
| Quota91% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1 | critical | 9 | 91 |
| Quota99% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 | critical | 1 | 99 |
| Quota100% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 | exceeded | 0 | 100 |
Scenario: file cannot be uploaded if there is insufficient quota
@@ -108,19 +108,19 @@ Feature: State of the quota
Scenario Outline: check the relative amount of quota of personal space
Given user "Admin" has changed the quota of the personal space of "Alice Hansen" space to "10000"
And user "Alice" has uploaded file "<file_upload>" to "/demo.txt"
And user "Alice" has uploaded file "<file-upload>" to "/demo.txt"
When the user "Alice" requests these endpoints with "GET" with basic auth
| endpoint |
| <end_point> |
| <end-point> |
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs_code>"
And the relative quota amount should be "<quota_relative>"
And the OCS status code should be "<ocs-status-code>"
And the relative quota amount should be "<quota-relative>"
Examples:
| file_upload | end_point | ocs_code | quota_relative |
| /filesForUpload/lorem.txt | /ocs/v1.php/cloud/users/%username% | 100 | 6.99 |
| /filesForUpload/lorem-big.txt | /ocs/v1.php/cloud/users/%username% | 100 | 91.17 |
| /filesForUpload/lorem.txt | /ocs/v2.php/cloud/users/%username% | 200 | 6.99 |
| /filesForUpload/lorem-big.txt | /ocs/v2.php/cloud/users/%username% | 200 | 91.17 |
| file-upload | end-point | ocs-status-code | quota-relative |
| /filesForUpload/lorem.txt | /ocs/v1.php/cloud/users/%username% | 100 | 6.99 |
| /filesForUpload/lorem-big.txt | /ocs/v1.php/cloud/users/%username% | 100 | 91.17 |
| /filesForUpload/lorem.txt | /ocs/v2.php/cloud/users/%username% | 200 | 6.99 |
| /filesForUpload/lorem-big.txt | /ocs/v2.php/cloud/users/%username% | 200 | 91.17 |
@env-config

View File

@@ -20,55 +20,55 @@ Feature: Remove files, folder
Scenario Outline: user deletes a folder with some subfolders in a space via the webDav API
Given user "Alice" has shared a space "delete objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "<user>" removes the folder "folderForDeleting" from space "delete objects"
Then the HTTP status code should be "<code>"
And for user "<user>" the space "delete objects" <shouldOrNotBeInSpace> contain these entries:
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" the space "delete objects" <should-or-not-be-in-space> contain these entries:
| folderForDeleting |
And as "<user>" folder "folderForDeleting" <shouldOrNotBeInTrash> exist in the trashbin of the space "delete objects"
And as "<user>" folder "folderForDeleting" <should-or-not-be-in-trash> exist in the trashbin of the space "delete objects"
Examples:
| user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash |
| Alice | manager | 204 | should not | should |
| Brian | manager | 204 | should not | should |
| Brian | editor | 204 | should not | should |
| Brian | viewer | 403 | should | should not |
| user | space-role | http-status-code | should-or-not-be-in-space | should-or-not-be-in-trash |
| Alice | manager | 204 | should not | should |
| Brian | manager | 204 | should not | should |
| Brian | editor | 204 | should not | should |
| Brian | viewer | 403 | should | should not |
Scenario Outline: user deletes a subfolder in a space via the webDav API
Given user "Alice" has shared a space "delete objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "<user>" removes the folder "folderForDeleting/sub1" from space "delete objects"
Then the HTTP status code should be "<code>"
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" the space "delete objects" should contain these entries:
| folderForDeleting |
And for user "<user>" folder "folderForDeleting/" of the space "delete objects" <shouldOrNotBeInSpace> contain these entries:
And for user "<user>" folder "folderForDeleting/" of the space "delete objects" <should-or-not-be-in-space> contain these entries:
| sub1 |
And as "<user>" folder "sub1" <shouldOrNotBeInTrash> exist in the trashbin of the space "delete objects"
And as "<user>" folder "sub1" <should-or-not-be-in-trash> exist in the trashbin of the space "delete objects"
Examples:
| user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash |
| Alice | manager | 204 | should not | should |
| Brian | manager | 204 | should not | should |
| Brian | editor | 204 | should not | should |
| Brian | viewer | 403 | should | should not |
| user | space-role | http-status-code | should-or-not-be-in-space | should-or-not-be-in-trash |
| Alice | manager | 204 | should not | should |
| Brian | manager | 204 | should not | should |
| Brian | editor | 204 | should not | should |
| Brian | viewer | 403 | should | should not |
Scenario Outline: user deletes a file in a space via the webDav API
Given user "Alice" has shared a space "delete objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "<user>" removes the file "text.txt" from space "delete objects"
Then the HTTP status code should be "<code>"
And for user "<user>" the space "delete objects" <shouldOrNotBeInSpace> contain these entries:
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" the space "delete objects" <should-or-not-be-in-space> contain these entries:
| text.txt |
And as "<user>" file "text.txt" <shouldOrNotBeInTrash> exist in the trashbin of the space "delete objects"
And as "<user>" file "text.txt" <should-or-not-be-in-trash> exist in the trashbin of the space "delete objects"
Examples:
| user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash |
| Alice | manager | 204 | should not | should |
| Brian | manager | 204 | should not | should |
| Brian | editor | 204 | should not | should |
| Brian | viewer | 403 | should | should not |
| user | space-role | http-status-code | should-or-not-be-in-space | should-or-not-be-in-trash |
| Alice | manager | 204 | should not | should |
| Brian | manager | 204 | should not | should |
| Brian | editor | 204 | should not | should |
| Brian | viewer | 403 | should | should not |
Scenario: try to delete an empty string folder from a space

View File

@@ -60,34 +60,34 @@ Feature: Restoring space
Scenario Outline: user without space manager role cannot restore space
Given user "Alice" has shared a space "restore a space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has disabled a space "restore a space"
When user "Brian" tries to restore a disabled space "restore a space" owned by user "Alice"
Then the HTTP status code should be "404"
Examples:
| role |
| viewer |
| editor |
| space-role |
| viewer |
| editor |
Scenario Outline: user with role user and user light cannot restore space
Given the administrator has assigned the role "<role>" to user "Brian" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
And user "Alice" has disabled a space "restore a space"
When user "Brian" tries to restore a disabled space "restore a space" owned by user "Alice"
Then the HTTP status code should be "404"
Examples:
| role |
| user-role |
| User |
| User Light |
@issue-5872
Scenario Outline: admin and space admin can restore other space
Given the administrator has assigned the role "<role>" to user "Brian" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
And user "Alice" has disabled a space "restore a space"
When user "Brian" restores a disabled space "restore a space" owned by user "Alice"
Then the HTTP status code should be "200"
Examples:
| role |
| user-role |
| Admin |
| Space Admin |

View File

@@ -12,7 +12,7 @@ Feature: Set quota
Scenario Outline: admin sets personal space quota of user with different role
Given the administrator has assigned the role "Admin" to user "Alice" using the Graph API
And the administrator has assigned the role "<userRole>" to user "Brian" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
When user "Alice" changes the quota of the "Brian Murphy" space to "100" owned by user "Brian"
Then the HTTP status code should be "200"
And the JSON data of the response should match
@@ -39,7 +39,7 @@ Feature: Set quota
}
"""
Examples:
| userRole |
| user-role |
| Admin |
| Space Admin |
| User |
@@ -47,12 +47,12 @@ Feature: Set quota
Scenario Outline: non-admin user tries to set the personal space quota of other users
Given the administrator has assigned the role "<role>" to user "Alice" using the Graph API
And the administrator has assigned the role "<userRole>" to user "Brian" using the Graph API
Given the administrator has assigned the role "<user-role-2>" to user "Alice" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
When user "Alice" changes the quota of the "Brian Murphy" space to "100" owned by user "Brian"
Then the HTTP status code should be "403"
Examples:
| role | userRole |
| user-role-2 | user-role |
| Space Admin | Admin |
| Space Admin | Space Admin |
| Space Admin | User |
@@ -69,7 +69,7 @@ Feature: Set quota
Scenario Outline: admin or space admin user sets a quota of a project space
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And the administrator has assigned the role "<userRole>" to user "Brian" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
And user "Alice" has created a space "Project Jupiter" of type "project" with quota "20"
When user "Brian" changes the quota of the "Project Jupiter" space to "100" owned by user "Alice"
Then the HTTP status code should be "200"
@@ -102,28 +102,28 @@ Feature: Set quota
}
"""
Examples:
| userRole |
| user-role |
| Admin |
| Space Admin |
Scenario Outline: normal or user light user tries to set quota of a space
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And the administrator has assigned the role "<userRole>" to user "Brian" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
And user "Alice" has created a space "Project Jupiter" of type "project" with quota "20"
And user "Alice" has shared a space "Project Jupiter" with settings:
| shareWith | Brian |
| role | <spaceRole> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" changes the quota of the "Project Jupiter" space to "100"
Then the HTTP status code should be "403"
Examples:
| userRole | spaceRole |
| User | viewer |
| User | editor |
| User | manager |
| User Light | viewer |
| User Light | editor |
| User Light | manager |
| user-role | space-role |
| User | viewer |
| User | editor |
| User | manager |
| User Light | viewer |
| User Light | editor |
| User Light | manager |
Scenario: admin user can set their own personal space quota
@@ -156,11 +156,11 @@ Feature: Set quota
Scenario Outline: non-admin user tries to set their own personal space quota
Given the administrator has assigned the role "<userRole>" to user "Alice" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Alice" using the Graph API
When user "Alice" changes the quota of the "Alice Hansen" space to "100" owned by user "Alice"
Then the HTTP status code should be "403"
Examples:
| userRole |
| user-role |
| Space Admin |
| User |
| User Light |

View File

@@ -2,9 +2,9 @@ Feature: Space management
As a user with space admin permission
I want to be able to manage all existing project spaces
So that
- I can get all project space where I am not member using "graph/v1.0/drives" endpoint
- I can edit space: change quota, name, description
- I can enable, disable, delete space
- I can get all project space where I am not member using "graph/v1.0/drives" endpoint
- I can edit space: change quota, name, description
- I can enable, disable, delete space
Note - this feature is run in CI with ACCOUNTS_HASH_DIFFICULTY set to the default for production
See https://github.com/owncloud/ocis/issues/1542 and https://github.com/owncloud/ocis/pull/839

View File

@@ -85,22 +85,22 @@ Feature: Tag
Scenario Outline: member of the space tries to create tag
Given user "Alice" has shared a space "use-tag" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" creates the following tags for folder "folderMain/insideTheFolder.txt" of space "use-tag":
| tag level#1 |
| tag with symbols @^$#^%$@%!_+) |
Then the HTTP status code should be "<code>"
Then the HTTP status code should be "<http-status-code>"
When user "Alice" lists all available tags via the Graph API
Then the HTTP status code should be "200"
And the response <shouldOrNot> contain following tags:
And the response <should-or-not> contain following tags:
| tag level#1 |
| tag with symbols @^$#^%$@%!_+) |
Examples:
| role | code | shouldOrNot |
| viewer | 403 | should not |
| editor | 200 | should |
| manager | 200 | should |
| space-role | http-status-code | should-or-not |
| viewer | 403 | should not |
| editor | 200 | should |
| manager | 200 | should |
Scenario: recipient has a created tags if share is accepted
@@ -120,53 +120,53 @@ Feature: Tag
Scenario Outline: recipient of the shared resource tries to create a tag
Given user "Alice" has created a share inside of space "use-tag" with settings:
| path | folderMain |
| shareWith | Brian |
| role | <role> |
When user "Brian" creates the following tags for <resource> "<resourceName>" of space "Shares":
| path | folderMain |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" creates the following tags for <resource-type> "<resource>" of space "Shares":
| tag in a shared resource |
| second tag |
Then the HTTP status code should be "<code>"
Then the HTTP status code should be "<http-status-code>"
When user "Alice" lists all available tags via the Graph API
Then the HTTP status code should be "200"
And the response <shouldOrNot> contain following tags:
And the response <should-or-not> contain following tags:
| tag in a shared resource |
| second tag |
Examples:
| role | resource | resourceName | code | shouldOrNot |
| viewer | file | folderMain/insideTheFolder.txt | 403 | should not |
| editor | file | folderMain/insideTheFolder.txt | 200 | should |
| manager | file | folderMain/insideTheFolder.txt | 200 | should |
| viewer | folder | folderMain | 403 | should not |
| editor | folder | folderMain | 200 | should |
| manager | folder | folderMain | 200 | should |
| space-role | resource-type | resource | http-status-code | should-or-not |
| viewer | file | folderMain/insideTheFolder.txt | 403 | should not |
| editor | file | folderMain/insideTheFolder.txt | 200 | should |
| manager | file | folderMain/insideTheFolder.txt | 200 | should |
| viewer | folder | folderMain | 403 | should not |
| editor | folder | folderMain | 200 | should |
| manager | folder | folderMain | 200 | should |
Scenario Outline: recipient of the shared resource tries to remove a tag
Given user "Alice" has created a share inside of space "use-tag" with settings:
| path | folderMain |
| shareWith | Brian |
| role | <role> |
And user "Alice" has created the following tags for <resource> "<resourceName>" of the space "use-tag":
| path | folderMain |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has created the following tags for <resource-type> "<resource>" of the space "use-tag":
| tag in a shared resource |
| second tag |
When user "Brian" removes the following tags for <resource> "<resourceName>" of space "Shares":
When user "Brian" removes the following tags for <resource-type> "<resource>" of space "Shares":
| tag in a shared resource |
| second tag |
Then the HTTP status code should be "<code>"
Then the HTTP status code should be "<http-status-code>"
When user "Alice" lists all available tags via the Graph API
Then the HTTP status code should be "200"
And the response <shouldOrNot> contain following tags:
And the response <should-or-not> contain following tags:
| tag in a shared resource |
| second tag |
Examples:
| role | resource | resourceName | code | shouldOrNot |
| viewer | file | folderMain/insideTheFolder.txt | 403 | should |
| editor | file | folderMain/insideTheFolder.txt | 200 | should not |
| manager | file | folderMain/insideTheFolder.txt | 200 | should not |
| viewer | folder | folderMain | 403 | should |
| editor | folder | folderMain | 200 | should not |
| manager | folder | folderMain | 200 | should not |
| space-role | resource-type | resource | http-status-code | should-or-not |
| viewer | file | folderMain/insideTheFolder.txt | 403 | should |
| editor | file | folderMain/insideTheFolder.txt | 200 | should not |
| manager | file | folderMain/insideTheFolder.txt | 200 | should not |
| viewer | folder | folderMain | 403 | should |
| editor | folder | folderMain | 200 | should not |
| manager | folder | folderMain | 200 | should not |
Scenario: user removes folder tags

View File

@@ -20,8 +20,8 @@ Feature: Restore files, folder
Scenario Outline: user with different role can see deleted objects in trash bin of the space via the webDav API
Given user "Alice" has shared a space "restore objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has removed the file "newFolder/file.txt" from space "restore objects"
And user "Alice" has removed the folder "newFolder" from space "restore objects"
When user "Brian" lists all deleted files in the trash bin of the space "restore objects"
@@ -29,71 +29,71 @@ Feature: Restore files, folder
And as "Brian" folder "newFolder" should exist in the trashbin of the space "restore objects"
And as "Brian" file "file.txt" should exist in the trashbin of the space "restore objects"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user can restore a folder with some objects from the trash via the webDav API
Given user "Alice" has shared a space "restore objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has removed the folder "newFolder" from space "restore objects"
When user "<user>" restores the folder "newFolder" from the trash of the space "restore objects" to "/newFolder"
Then the HTTP status code should be "<code>"
And for user "<user>" the space "restore objects" <shouldOrNotBeInSpace> contain these entries:
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" the space "restore objects" <should-or-not-be-in-space> contain these entries:
| newFolder |
And as "<user>" folder "newFolder" <shouldOrNotBeInTrash> exist in the trashbin of the space "restore objects"
And as "<user>" folder "newFolder" <should-or-not-be-in-trash> exist in the trashbin of the space "restore objects"
Examples:
| user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash |
| Alice | manager | 201 | should | should not |
| Brian | manager | 201 | should | should not |
| Brian | editor | 201 | should | should not |
| Brian | viewer | 403 | should not | should |
| user | space-role | http-status-code | should-or-not-be-in-space | should-or-not-be-in-trash |
| Alice | manager | 201 | should | should not |
| Brian | manager | 201 | should | should not |
| Brian | editor | 201 | should | should not |
| Brian | viewer | 403 | should not | should |
Scenario Outline: user can restore a file from the trash via the webDav API
Given user "Alice" has shared a space "restore objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has removed the file "newFolder/file.txt" from space "restore objects"
When user "<user>" restores the file "file.txt" from the trash of the space "restore objects" to "newFolder/file.txt"
Then the HTTP status code should be "<code>"
And for user "<user>" folder "newFolder" of the space "restore objects" <shouldOrNotBeInSpace> contain these files:
Then the HTTP status code should be "<http-status-code>"
And for user "<user>" folder "newFolder" of the space "restore objects" <should-or-not-be-in-space> contain these files:
| file.txt |
And as "<user>" file "file.txt" <shouldOrNotBeInTrash> exist in the trashbin of the space "restore objects"
And as "<user>" file "file.txt" <should-or-not-be-in-trash> exist in the trashbin of the space "restore objects"
Examples:
| user | role | code | shouldOrNotBeInSpace | shouldOrNotBeInTrash |
| Alice | manager | 201 | should | should not |
| Brian | manager | 201 | should | should not |
| Brian | editor | 201 | should | should not |
| Brian | viewer | 403 | should not | should |
| user | space-role | http-status-code | should-or-not-be-in-space | should-or-not-be-in-trash |
| Alice | manager | 201 | should | should not |
| Brian | manager | 201 | should | should not |
| Brian | editor | 201 | should | should not |
| Brian | viewer | 403 | should not | should |
Scenario Outline: only space manager can purge the trash via the webDav API
Given user "Alice" has shared a space "restore objects" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Alice" has removed the file "newFolder/file.txt" from space "restore objects"
When user "Brian" deletes the file "file.txt" from the trash of the space "restore objects"
Then the HTTP status code should be "<code>"
And as "Brian" file "file.txt" <shouldOrNotBeInTrash> exist in the trashbin of the space "restore objects"
Then the HTTP status code should be "<http-status-code>"
And as "Brian" file "file.txt" <should-or-not-be-in-trash> exist in the trashbin of the space "restore objects"
Examples:
| role | code | shouldOrNotBeInTrash |
| manager | 204 | should not |
| editor | 403 | should |
| viewer | 403 | should |
| space-role | http-status-code | should-or-not-be-in-trash |
| manager | 204 | should not |
| editor | 403 | should |
| viewer | 403 | should |
Scenario Outline: admin user who is not a member of space cannot see its trash bin
Given user "Alice" has removed the file "newFolder/file.txt" from space "restore objects"
And the administrator has assigned the role "<role>" to user "Brian" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
When user "Brian" with admin permission lists all deleted files in the trash bin of the space "restore objects"
Then the HTTP status code should be "404"
Examples:
| role |
| user-role |
| Space Admin |
| Admin |
@@ -102,13 +102,13 @@ Feature: Restore files, folder
Given user "Alice" has shared a space "restore objects" with settings:
| shareWith | Brian |
| role | editor |
And the administrator has assigned the role "<role>" to user "Brian" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
And user "Alice" has removed the file "newFolder/file.txt" from space "restore objects"
When user "Brian" tries to delete the file "file.txt" from the trash of the space "restore objects"
Then the HTTP status code should be "403"
And as "Alice" file "file.txt" should exist in the trashbin of the space "restore objects"
Examples:
| role |
| user-role |
| Space Admin |
| Admin |

View File

@@ -19,32 +19,32 @@ Feature: Upload files into a space
Scenario Outline: user creates a folder in the space via the Graph API
Given user "Alice" has shared a space "Project Ceres" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" creates a folder "mainFolder" in space "Project Ceres" using the WebDav Api
Then the HTTP status code should be "<code>"
And for user "Brian" the space "Project Ceres" <shouldOrNot> contain these entries:
Then the HTTP status code should be "<http-status-code>"
And for user "Brian" the space "Project Ceres" <should-or-not> contain these entries:
| mainFolder |
Examples:
| role | code | shouldOrNot |
| manager | 201 | should |
| editor | 201 | should |
| viewer | 403 | should not |
| space-role | http-status-code | should-or-not |
| manager | 201 | should |
| editor | 201 | should |
| viewer | 403 | should not |
Scenario Outline: user uploads a file in shared space via the Graph API
Given user "Alice" has shared a space "Project Ceres" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" uploads a file inside space "Project Ceres" with content "Test" to "test.txt" using the WebDAV API
Then the HTTP status code should be "<code>"
And for user "Brian" the space "Project Ceres" <shouldOrNot> contain these entries:
Then the HTTP status code should be "<http-status-code>"
And for user "Brian" the space "Project Ceres" <should-or-not> contain these entries:
| test.txt |
Examples:
| role | code | shouldOrNot |
| manager | 201 | should |
| editor | 201 | should |
| viewer | 403 | should not |
| space-role | http-status-code | should-or-not |
| manager | 201 | should |
| editor | 201 | should |
| viewer | 403 | should not |
Scenario: user can create subfolders in a space via the Graph API
@@ -83,9 +83,9 @@ Feature: Upload files into a space
Scenario Outline: user cannot create subfolder in a nonexistent folder
When user "Alice" tries to create subfolder "<path>" in a nonexistent folder of the space "Project Ceres" using the WebDav Api
When user "Alice" tries to create subfolder "<folder-name>" in a nonexistent folder of the space "Project Ceres" using the WebDav Api
Then the HTTP status code should be "409"
Examples:
| path |
| folder-name |
| foo/bar |
| foo/bar/baz |

View File

@@ -18,25 +18,25 @@ Feature: checking file versions using file id
Scenario Outline: check the file versions of a file shared from project space
Given user "Alice" has created a share inside of space "Project1" with settings:
| path | text.txt |
| shareWith | Brian |
| role | <role> |
| path | text.txt |
| shareWith | Brian |
| role | <space-role> |
When user "Alice" gets the number of versions of file "/text.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
And the number of versions should be "1"
When user "Brian" tries to get the number of versions of file "/text.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "403"
Examples:
| role |
| editor |
| viewer |
| all |
| space-role |
| editor |
| viewer |
| all |
Scenario Outline: check the versions of a file in a shared space as editor/manager
Given user "Alice" has shared a space "Project1" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Alice" gets the number of versions of file "/text.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
And the number of versions should be "1"
@@ -44,9 +44,9 @@ Feature: checking file versions using file id
Then the HTTP status code should be "207"
And the number of versions should be "1"
Examples:
| role |
| editor |
| manager |
| space-role |
| editor |
| manager |
Scenario: check the versions of a file in a shared space as viewer
@@ -60,9 +60,9 @@ Feature: checking file versions using file id
Scenario Outline: check the versions of a file after moving to a shared folder inside a project space as editor/viewer
Given user "Alice" has created a folder "testFolder" in space "Project1"
And user "Alice" has created a share inside of space "Project1" with settings:
| path | testFolder |
| shareWith | Brian |
| role | <role> |
| path | testFolder |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has moved file "text.txt" to "/testFolder/movedText.txt" in space "Project1"
When user "Alice" gets the number of versions of file "/testFolder/movedText.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
@@ -70,9 +70,9 @@ Feature: checking file versions using file id
When user "Brian" tries to get the number of versions of file "/Shares/testFolder/movedText.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "403"
Examples:
| role |
| editor |
| viewer |
| space-role |
| editor |
| viewer |
@issue-7738
Scenario: check the versions of a file after moving it to a shared folder of a project space shared with all permissions
@@ -89,61 +89,61 @@ Feature: checking file versions using file id
@issue-777
Scenario Outline: check file versions after moving to-and-from folder in personal space
Given user "Alice" has created folder "folder"
And user "Alice" has uploaded file with content "some data" to "<from>textfile.txt"
And user "Alice" has uploaded file with content "some data - edited" to "<from>textfile.txt"
And user "Alice" has uploaded file with content "some data" to "<source>textfile.txt"
And user "Alice" has uploaded file with content "some data - edited" to "<source>textfile.txt"
And we save it into "FILEID"
And user "Alice" has moved file "<from>textfile.txt" to "<to>textfile.txt" in space "Personal"
When user "Alice" gets the number of versions of file "<to>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
And user "Alice" has moved file "<source>textfile.txt" to "<destination>textfile.txt" in space "Personal"
When user "Alice" gets the number of versions of file "<destination>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
And the number of versions should be "1"
Examples:
| from | to |
| / | folder/ |
| folder/ | / |
| source | destination |
| / | folder/ |
| folder/ | / |
@issue-777
Scenario Outline: check file versions after moving to-and-from folder in personal space (MOVE using file-id)
Given user "Alice" has created folder "folder"
And user "Alice" has uploaded file with content "some data" to "<from>textfile.txt"
And user "Alice" has uploaded file with content "some data - edited" to "<from>textfile.txt"
And user "Alice" has uploaded file with content "some data" to "<source>textfile.txt"
And user "Alice" has uploaded file with content "some data - edited" to "<source>textfile.txt"
And we save it into "FILEID"
When user "Alice" moves a file "<from>textfile.txt" into "<to>" inside space "Personal" using file-id path "/dav/spaces/<<FILEID>>"
When user "Alice" moves a file "<source>textfile.txt" into "<destination>" inside space "Personal" using file-id path "/dav/spaces/<<FILEID>>"
Then the HTTP status code should be "201"
When user "Alice" gets the number of versions of file "<to>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
When user "Alice" gets the number of versions of file "<destination>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
And the number of versions should be "1"
Examples:
| from | to |
| / | folder/ |
| folder/ | / |
| source | destination |
| / | folder/ |
| folder/ | / |
@issue-777
Scenario Outline: check file versions after moving to-and-from folder in project space
Given user "Alice" has created a folder "folder" in space "Project1"
And user "Alice" has uploaded a file inside space "Project1" with content "some data" to "<from>textfile.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "some data - edited" to "<from>textfile.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "some data" to "<source>textfile.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "some data - edited" to "<source>textfile.txt"
And we save it into "FILEID"
And user "Alice" has moved file "<from>textfile.txt" to "<to>textfile.txt" in space "Project1"
When user "Alice" gets the number of versions of file "<from>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
And user "Alice" has moved file "<source>textfile.txt" to "<destination>textfile.txt" in space "Project1"
When user "Alice" gets the number of versions of file "<source>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
And the number of versions should be "1"
Examples:
| from | to |
| / | folder/ |
| folder/ | / |
| source | destination |
| / | folder/ |
| folder/ | / |
@issue-777
Scenario Outline: check file versions after moving to-and-from folder in project space (MOVE using file-id)
And user "Alice" has created a folder "folder" in space "Project1"
And user "Alice" has uploaded a file inside space "Project1" with content "some data" to "<from>textfile.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "some data - edited" to "<from>textfile.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "some data" to "<source>textfile.txt"
And user "Alice" has uploaded a file inside space "Project1" with content "some data - edited" to "<source>textfile.txt"
And we save it into "FILEID"
When user "Alice" moves a file "<from>textfile.txt" into "<to>" inside space "Project1" using file-id path "/dav/spaces/<<FILEID>>"
When user "Alice" moves a file "<source>textfile.txt" into "<destination>" inside space "Project1" using file-id path "/dav/spaces/<<FILEID>>"
Then the HTTP status code should be "201"
When user "Alice" gets the number of versions of file "<to>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
When user "Alice" gets the number of versions of file "<destination>textfile.txt" using file-id path "/meta/<<FILEID>>/v"
Then the HTTP status code should be "207"
And the number of versions should be "1"
Examples:
| from | to |
| / | folder/ |
| folder/ | / |
| source | destination |
| / | folder/ |
| folder/ | / |

View File

@@ -117,8 +117,8 @@ Feature: moving/renaming file using file id
And user "Brian" has uploaded a file inside space "Personal" with content "some data" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "project-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" moves a file "textfile.txt" into "/" inside space "project-space" using file-id path "<dav-path>"
Then the HTTP status code should be "<http-status-code>"
And for user "Brian" folder "/" of the space "Personal" should contain these files:
@@ -126,13 +126,13 @@ Feature: moving/renaming file using file id
But for user "Brian" folder "/" of the space "project-space" should not contain these files:
| textfile.txt |
Examples:
| role | http-status-code | dav-path |
| manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | 502 | /dav/spaces/<<FILEID>> |
| editor | 502 | /dav/spaces/<<FILEID>> |
| viewer | 403 | /dav/spaces/<<FILEID>> |
| space-role | http-status-code | dav-path |
| manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | 502 | /dav/spaces/<<FILEID>> |
| editor | 502 | /dav/spaces/<<FILEID>> |
| viewer | 403 | /dav/spaces/<<FILEID>> |
@issue-7618
Scenario Outline: move a file to different name from personal space to project space
@@ -161,8 +161,8 @@ Feature: moving/renaming file using file id
And user "Alice" has uploaded a file inside space "project-space" with content "some data" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "project-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" moves a file "/textfile.txt" into "/folder" inside space "project-space" using file-id path "<dav-path>"
Then the HTTP status code should be "201"
And for user "Alice" folder "folder" of the space "project-space" should contain these files:
@@ -170,11 +170,11 @@ Feature: moving/renaming file using file id
But for user "Alice" the space "project-space" should not contain these entries:
| textfile.txt |
Examples:
| role | dav-path |
| manager | /remote.php/dav/spaces/<<FILEID>> |
| editor | /remote.php/dav/spaces/<<FILEID>> |
| manager | /dav/spaces/<<FILEID>> |
| editor | /dav/spaces/<<FILEID>> |
| space-role | dav-path |
| manager | /remote.php/dav/spaces/<<FILEID>> |
| editor | /remote.php/dav/spaces/<<FILEID>> |
| manager | /dav/spaces/<<FILEID>> |
| editor | /dav/spaces/<<FILEID>> |
@issue-1976
Scenario Outline: try to move a file within a project space into a folder with same name
@@ -184,20 +184,20 @@ Feature: moving/renaming file using file id
And user "Alice" has uploaded a file inside space "project-space" with content "some data" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "project-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" moves a file "textfile.txt" into "/" inside space "project-space" using file-id path "<dav-path>"
Then the HTTP status code should be "403"
And as "Alice" file "textfile.txt" should not exist in the trashbin of the space "project-space"
And for user "Brian" the content of the file "textfile.txt" of the space "project-space" should be "some data"
Examples:
| role | dav-path |
| manager | /remote.php/dav/spaces/<<FILEID>> |
| editor | /remote.php/dav/spaces/<<FILEID>> |
| viewer | /remote.php/dav/spaces/<<FILEID>> |
| manager | /dav/spaces/<<FILEID>> |
| editor | /dav/spaces/<<FILEID>> |
| viewer | /dav/spaces/<<FILEID>> |
| space-role | dav-path |
| manager | /remote.php/dav/spaces/<<FILEID>> |
| editor | /remote.php/dav/spaces/<<FILEID>> |
| viewer | /remote.php/dav/spaces/<<FILEID>> |
| manager | /dav/spaces/<<FILEID>> |
| editor | /dav/spaces/<<FILEID>> |
| viewer | /dav/spaces/<<FILEID>> |
Scenario Outline: try to move a file into a folder inside project space (viewer)
@@ -284,11 +284,11 @@ Feature: moving/renaming file using file id
And user "Alice" has uploaded a file inside space "first-project-space" with content "first project space" to "file.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "first-project-space" with settings:
| shareWith | Brian |
| role | <from_role> |
| shareWith | Brian |
| role | <from-space-role> |
And user "Alice" has shared a space "second-project-space" with settings:
| shareWith | Brian |
| role | <to_role> |
| shareWith | Brian |
| role | <to-space-role> |
When user "Brian" moves a file "file.txt" into "/" inside space "second-project-space" using file-id path "<dav-path>"
Then the HTTP status code should be "<http-status-code>"
And for user "Brian" the space "second-project-space" should not contain these entries:
@@ -296,25 +296,25 @@ Feature: moving/renaming file using file id
But for user "Brian" the space "first-project-space" should contain these entries:
| file.txt |
Examples:
| from_role | to_role | http-status-code | dav-path |
| manager | manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| manager | editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| manager | viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| editor | viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | manager | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | editor | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | manager | 502 | /dav/spaces/<<FILEID>> |
| editor | manager | 502 | /dav/spaces/<<FILEID>> |
| manager | editor | 502 | /dav/spaces/<<FILEID>> |
| editor | editor | 502 | /dav/spaces/<<FILEID>> |
| manager | viewer | 403 | /dav/spaces/<<FILEID>> |
| editor | viewer | 403 | /dav/spaces/<<FILEID>> |
| viewer | manager | 403 | /dav/spaces/<<FILEID>> |
| viewer | editor | 403 | /dav/spaces/<<FILEID>> |
| viewer | viewer | 403 | /dav/spaces/<<FILEID>> |
| from-space-role | to-space-role | http-status-code | dav-path |
| manager | manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| manager | editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| manager | viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| editor | viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | manager | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | editor | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | manager | 502 | /dav/spaces/<<FILEID>> |
| editor | manager | 502 | /dav/spaces/<<FILEID>> |
| manager | editor | 502 | /dav/spaces/<<FILEID>> |
| editor | editor | 502 | /dav/spaces/<<FILEID>> |
| manager | viewer | 403 | /dav/spaces/<<FILEID>> |
| editor | viewer | 403 | /dav/spaces/<<FILEID>> |
| viewer | manager | 403 | /dav/spaces/<<FILEID>> |
| viewer | editor | 403 | /dav/spaces/<<FILEID>> |
| viewer | viewer | 403 | /dav/spaces/<<FILEID>> |
@issue-8116
Scenario Outline: move a file to different name between project spaces
@@ -346,8 +346,8 @@ Feature: moving/renaming file using file id
And user "Alice" has uploaded a file inside space "project-space" with content "some data" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "project-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has created folder "testshare"
And user "Alice" has shared folder "testshare" with user "Brian" with permissions "<permissions>"
When user "Brian" moves a file "textfile.txt" into "testshare" inside space "Shares" using file-id path "<dav-path>"
@@ -357,25 +357,25 @@ Feature: moving/renaming file using file id
But for user "Brian" folder "testshare" of the space "Shares" should not contain these files:
| textfile.txt |
Examples:
| role | permissions | dav-path |
| manager | all | /remote.php/dav/spaces/<<FILEID>> |
| editor | all | /remote.php/dav/spaces/<<FILEID>> |
| viewer | all | /remote.php/dav/spaces/<<FILEID>> |
| manager | change | /remote.php/dav/spaces/<<FILEID>> |
| editor | change | /remote.php/dav/spaces/<<FILEID>> |
| viewer | change | /remote.php/dav/spaces/<<FILEID>> |
| manager | read | /remote.php/dav/spaces/<<FILEID>> |
| editor | read | /remote.php/dav/spaces/<<FILEID>> |
| viewer | read | /remote.php/dav/spaces/<<FILEID>> |
| manager | all | /dav/spaces/<<FILEID>> |
| editor | all | /dav/spaces/<<FILEID>> |
| viewer | all | /dav/spaces/<<FILEID>> |
| manager | change | /dav/spaces/<<FILEID>> |
| editor | change | /dav/spaces/<<FILEID>> |
| viewer | change | /dav/spaces/<<FILEID>> |
| manager | read | /dav/spaces/<<FILEID>> |
| editor | read | /dav/spaces/<<FILEID>> |
| viewer | read | /dav/spaces/<<FILEID>> |
| space-role | permissions | dav-path |
| manager | all | /remote.php/dav/spaces/<<FILEID>> |
| editor | all | /remote.php/dav/spaces/<<FILEID>> |
| viewer | all | /remote.php/dav/spaces/<<FILEID>> |
| manager | change | /remote.php/dav/spaces/<<FILEID>> |
| editor | change | /remote.php/dav/spaces/<<FILEID>> |
| viewer | change | /remote.php/dav/spaces/<<FILEID>> |
| manager | read | /remote.php/dav/spaces/<<FILEID>> |
| editor | read | /remote.php/dav/spaces/<<FILEID>> |
| viewer | read | /remote.php/dav/spaces/<<FILEID>> |
| manager | all | /dav/spaces/<<FILEID>> |
| editor | all | /dav/spaces/<<FILEID>> |
| viewer | all | /dav/spaces/<<FILEID>> |
| manager | change | /dav/spaces/<<FILEID>> |
| editor | change | /dav/spaces/<<FILEID>> |
| viewer | change | /dav/spaces/<<FILEID>> |
| manager | read | /dav/spaces/<<FILEID>> |
| editor | read | /dav/spaces/<<FILEID>> |
| viewer | read | /dav/spaces/<<FILEID>> |
@issue-7618
Scenario Outline: move a file from project to personal space
@@ -385,8 +385,8 @@ Feature: moving/renaming file using file id
And user "Alice" has uploaded a file inside space "project-space" with content "some data" to "textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "project-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" moves a file "/textfile.txt" into "/" inside space "Personal" using file-id path "<dav-path>"
Then the HTTP status code should be "<http-status-code>"
And for user "Brian" folder "/" of the space "project-space" should contain these files:
@@ -394,13 +394,13 @@ Feature: moving/renaming file using file id
But for user "Brian" folder "/" of the space "Personal" should not contain these files:
| textfile.txt |
Examples:
| role | http-status-code | dav-path |
| manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | 502 | /dav/spaces/<<FILEID>> |
| editor | 502 | /dav/spaces/<<FILEID>> |
| viewer | 403 | /dav/spaces/<<FILEID>> |
| space-role | http-status-code | dav-path |
| manager | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | 502 | /dav/spaces/<<FILEID>> |
| editor | 502 | /dav/spaces/<<FILEID>> |
| viewer | 403 | /dav/spaces/<<FILEID>> |
@issue-7618
Scenario Outline: move a file to different name from project space to personal space
@@ -496,8 +496,8 @@ Feature: moving/renaming file using file id
And user "Alice" has created folder "testshare2"
And user "Alice" has uploaded file with content "some data" to "testshare1/textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared folder "testshare1" with user "Brian" with permissions "<from_permissions>"
And user "Alice" has shared folder "testshare2" with user "Brian" with permissions "<to_permissions>"
And user "Alice" has shared folder "testshare1" with user "Brian" with permissions "<from-permissions>"
And user "Alice" has shared folder "testshare2" with user "Brian" with permissions "<to-permissions>"
When user "Brian" moves a file "Shares/testshare1/textfile.txt" into "testshare2" inside space "Shares" using file-id path "<dav-path>"
Then the HTTP status code should be "502"
And for user "Brian" folder "testshare1" of the space "Shares" should contain these files:
@@ -505,7 +505,7 @@ Feature: moving/renaming file using file id
But for user "Brian" folder "testshare2" of the space "Shares" should not contain these files:
| textfile.txt |
Examples:
| from_permissions | to_permissions | dav-path |
| from-permissions | to-permissions | dav-path |
| all | all | /remote.php/dav/spaces/<<FILEID>> |
| all | change | /remote.php/dav/spaces/<<FILEID>> |
| all | read | /remote.php/dav/spaces/<<FILEID>> |
@@ -553,8 +553,8 @@ Feature: moving/renaming file using file id
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "project-space" with the default quota using the Graph API
And user "Alice" has shared a space "project-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has created folder "testshare"
And user "Alice" has uploaded file with content "some data" to "testshare/textfile.txt"
And we save it into "FILEID"
@@ -566,25 +566,25 @@ Feature: moving/renaming file using file id
But for user "Brian" folder "/" of the space "project-space" should not contain these files:
| textfile.txt |
Examples:
| role | permissions | http-status-code | dav-path |
| manager | all | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | all | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | all | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | change | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | change | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | change | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | read | 403 | /remote.php/dav/spaces/<<FILEID>> |
| editor | read | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | read | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | all | 502 | /dav/spaces/<<FILEID>> |
| editor | all | 502 | /dav/spaces/<<FILEID>> |
| viewer | all | 403 | /dav/spaces/<<FILEID>> |
| manager | change | 502 | /dav/spaces/<<FILEID>> |
| editor | change | 502 | /dav/spaces/<<FILEID>> |
| viewer | change | 403 | /dav/spaces/<<FILEID>> |
| manager | read | 403 | /dav/spaces/<<FILEID>> |
| editor | read | 403 | /dav/spaces/<<FILEID>> |
| viewer | read | 403 | /dav/spaces/<<FILEID>> |
| space-role | permissions | http-status-code | dav-path |
| manager | all | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | all | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | all | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | change | 502 | /remote.php/dav/spaces/<<FILEID>> |
| editor | change | 502 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | change | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | read | 403 | /remote.php/dav/spaces/<<FILEID>> |
| editor | read | 403 | /remote.php/dav/spaces/<<FILEID>> |
| viewer | read | 403 | /remote.php/dav/spaces/<<FILEID>> |
| manager | all | 502 | /dav/spaces/<<FILEID>> |
| editor | all | 502 | /dav/spaces/<<FILEID>> |
| viewer | all | 403 | /dav/spaces/<<FILEID>> |
| manager | change | 502 | /dav/spaces/<<FILEID>> |
| editor | change | 502 | /dav/spaces/<<FILEID>> |
| viewer | change | 403 | /dav/spaces/<<FILEID>> |
| manager | read | 403 | /dav/spaces/<<FILEID>> |
| editor | read | 403 | /dav/spaces/<<FILEID>> |
| viewer | read | 403 | /dav/spaces/<<FILEID>> |
Scenario Outline: rename a root file inside personal space
@@ -712,36 +712,36 @@ Feature: moving/renaming file using file id
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "myspace" with the default quota using the Graph API
And user "Alice" has uploaded file with content "some data" to "textfile.txt"
When user "Alice" tries to move file "textfile.txt" of space "Personal" to space "<space>" using its id in destination path "<dav-path>"
When user "Alice" tries to move file "textfile.txt" of space "Personal" to space "<space-name>" using its id in destination path "<dav-path>"
Then the HTTP status code should be "<http-status-code>"
And for user "Alice" the space "Personal" should contain these entries:
| textfile.txt |
Examples:
| dav-path | space | http-status-code |
| /remote.php/dav/spaces | Personal | 409 |
| /dav/spaces | Personal | 409 |
| /remote.php/dav/spaces | myspace | 400 |
| /dav/spaces | myspace | 400 |
| /remote.php/dav/spaces | Shares | 404 |
| /dav/spaces | Shares | 404 |
| dav-path | space-name | http-status-code |
| /remote.php/dav/spaces | Personal | 409 |
| /dav/spaces | Personal | 409 |
| /remote.php/dav/spaces | myspace | 400 |
| /dav/spaces | myspace | 400 |
| /remote.php/dav/spaces | Shares | 404 |
| /dav/spaces | Shares | 404 |
@issue-6739
Scenario Outline: try to move project file to other spaces using its id as the destination
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "myspace" with the default quota using the Graph API
And user "Alice" has uploaded a file inside space "myspace" with content "some data" to "textfile.txt"
When user "Alice" tries to move file "textfile.txt" of space "myspace" to space "<space>" using its id in destination path "<dav-path>"
When user "Alice" tries to move file "textfile.txt" of space "myspace" to space "<space-name>" using its id in destination path "<dav-path>"
Then the HTTP status code should be "<http-status-code>"
And for user "Alice" the space "myspace" should contain these entries:
| textfile.txt |
Examples:
| dav-path | space | http-status-code |
| /remote.php/dav/spaces | Personal | 400 |
| /dav/spaces | Personal | 400 |
| /remote.php/dav/spaces | myspace | 409 |
| /dav/spaces | myspace | 409 |
| /remote.php/dav/spaces | Shares | 404 |
| /dav/spaces | Shares | 404 |
| dav-path | space-name | http-status-code |
| /remote.php/dav/spaces | Personal | 400 |
| /dav/spaces | Personal | 400 |
| /remote.php/dav/spaces | myspace | 409 |
| /dav/spaces | myspace | 409 |
| /remote.php/dav/spaces | Shares | 404 |
| /dav/spaces | Shares | 404 |
@issue-6739
Scenario Outline: move a file to folder using its id as the destination (Personal space)

View File

@@ -85,16 +85,16 @@ Feature: update files using file id
And user "Alice" has uploaded a file inside space "new-space" with content "some data" to "/textfile.txt"
And we save it into "FILEID"
And user "Alice" has shared a space "new-space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" sends HTTP method "PUT" to URL "<dav-path>" with content "updated content"
Then the HTTP status code should be "<http_status_code>"
Then the HTTP status code should be "<http-status-code>"
And for user "Alice" the content of the file "/textfile.txt" of the space "new-space" should be "<file-content>"
And for user "Brian" the content of the file "/textfile.txt" of the space "new-space" should be "<file-content>"
Examples:
| dav-path | role | http_status_code | file-content |
| /remote.php/dav/spaces/<<FILEID>> | viewer | 403 | some data |
| /dav/spaces/<<FILEID>> | editor | 204 | updated content |
| dav-path | space-role | http-status-code | file-content |
| /remote.php/dav/spaces/<<FILEID>> | viewer | 403 | some data |
| /dav/spaces/<<FILEID>> | editor | 204 | updated content |
Scenario Outline: user tries to update content of a file owned by others

View File

@@ -28,7 +28,7 @@ Feature: change shared resource
Scenario Outline: overwrite a received file share
Given the administrator has assigned the role "<userRole>" to user "Brian" using the Graph API
Given the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
And user "Alice" has uploaded file with content "old content version 1" to "/textfile1.txt"
And user "Alice" has uploaded file with content "old content version 2" to "/textfile1.txt"
And user "Alice" has shared file "/textfile1.txt" with user "Brian"
@@ -47,7 +47,7 @@ Feature: change shared resource
When user "Brian" tries to get version of the file "/textfile1.txt" with the index "1" of the space "Shares" using the WebDAV API
Then the HTTP status code should be "403"
Examples:
| userRole |
| user-role |
| Admin |
| Space Admin |
| User |

View File

@@ -17,17 +17,17 @@ Feature: copy file
And user "Alice" has created a folder "/newfolder" in space "Project"
And user "Alice" has uploaded a file inside space "Project" with content "some content" to "/insideSpace.txt"
And user "Alice" has shared a space "Project" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" copies file "/insideSpace.txt" to "/newfolder/insideSpace.txt" inside space "Project" using the WebDAV API
Then the HTTP status code should be "201"
And for user "Brian" folder "newfolder" of the space "Project" should contain these files:
| insideSpace.txt |
And for user "Alice" the content of the file "/newfolder/insideSpace.txt" of the space "Project" should be "some content"
Examples:
| role |
| manager |
| editor |
| space-role |
| manager |
| editor |
Scenario: copying a file within a same project space with role viewer
@@ -50,22 +50,22 @@ Feature: copy file
And user "Brian" has created a space "Project2" with the default quota using the Graph API
And user "Brian" has uploaded a file inside space "Project1" with content "Project1 content" to "/project1.txt"
And user "Brian" has shared a space "Project2" with settings:
| shareWith | Alice |
| role | <to_role> |
| shareWith | Alice |
| role | <to-space-role> |
And user "Brian" has shared a space "Project1" with settings:
| shareWith | Alice |
| role | <from_role> |
| shareWith | Alice |
| role | <from-space-role> |
When user "Alice" copies file "/project1.txt" from space "Project1" to "/project1.txt" inside space "Project2" using the WebDAV API
Then the HTTP status code should be "201"
And for user "Alice" the space "Project2" should contain these entries:
| /project1.txt |
And for user "Alice" the content of the file "/project1.txt" of the space "Project2" should be "Project1 content"
Examples:
| from_role | to_role |
| manager | manager |
| manager | editor |
| editor | manager |
| editor | editor |
| from-space-role | to-space-role |
| manager | manager |
| manager | editor |
| editor | manager |
| editor | editor |
Scenario Outline: user copies a file from a project space with a different role to a project space with a viewer role
@@ -77,16 +77,16 @@ Feature: copy file
| shareWith | Alice |
| role | viewer |
And user "Brian" has shared a space "Project1" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
When user "Alice" copies file "/project1.txt" from space "Project1" to "/project1.txt" inside space "Project2" using the WebDAV API
Then the HTTP status code should be "403"
And for user "Alice" the space "Project2" should not contain these entries:
| project1.txt |
Examples:
| role |
| manager |
| editor |
| space-role |
| manager |
| editor |
Scenario Outline: user copies a file from project space with different role to personal space
@@ -94,18 +94,18 @@ Feature: copy file
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has uploaded a file inside space "Project" with content "Project content" to "/project.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
When user "Alice" copies file "/project.txt" from space "Project" to "/project.txt" inside space "Personal" using the WebDAV API
Then the HTTP status code should be "201"
And for user "Alice" the space "Personal" should contain these entries:
| project.txt |
And for user "Alice" the content of the file "/project.txt" of the space "Personal" should be "Project content"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user copies a file from project space with different role to share space with editor role
@@ -114,8 +114,8 @@ Feature: copy file
And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded a file inside space "Project" with content "Project content" to "/project.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has shared folder "/testshare" with user "Alice" with permissions "31"
When user "Alice" copies file "/project.txt" from space "Project" to "/testshare/project.txt" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "201"
@@ -123,10 +123,10 @@ Feature: copy file
| /project.txt |
And for user "Alice" the content of the file "/testshare/project.txt" of the space "Shares" should be "Project content"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user copies a file from project space with different role to Shares with viewer role
@@ -135,26 +135,26 @@ Feature: copy file
And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded a file inside space "Project" with content "Project content" to "/project.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has shared folder "/testshare" with user "Alice" with permissions "17"
When user "Alice" copies file "/project.txt" from space "Project" to "/testshare/project.txt" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "403"
And for user "Alice" folder "testshare" of the space "Shares" should not contain these files:
| project.txt |
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user copies a file from personal space to project space with different role
Given the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Alice" has uploaded file with content "personal space content" to "/personal.txt"
When user "Alice" copies file "/personal.txt" from space "Personal" to "/personal.txt" inside space "Project" using the WebDAV API
Then the HTTP status code should be "201"
@@ -162,9 +162,9 @@ Feature: copy file
| /personal.txt |
And for user "Alice" the content of the file "/personal.txt" of the space "Project" should be "personal space content"
Examples:
| role |
| manager |
| editor |
| space-role |
| manager |
| editor |
Scenario: user copies a file from personal space to project space with role viewer
@@ -221,8 +221,8 @@ Feature: copy file
Given the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded file with content "testshare content" to "/testshare/testshare.txt"
And user "Brian" has shared folder "/testshare" with user "Alice" with permissions "<permissions>"
@@ -232,11 +232,11 @@ Feature: copy file
| /testshare.txt |
And for user "Alice" the content of the file "/testshare.txt" of the space "Project" should be "testshare content"
Examples:
| role | permissions |
| manager | 31 |
| manager | 17 |
| editor | 31 |
| editor | 17 |
| space-role | permissions |
| manager | 31 |
| manager | 17 |
| editor | 31 |
| editor | 17 |
Scenario Outline: user copies a file from share space with different role to project space with role viewer
@@ -303,17 +303,17 @@ Feature: copy file
And user "Alice" has created a folder "/folder2" in space "Project"
And user "Alice" has uploaded a file inside space "Project" with content "some content" to "/folder2/demo.txt"
And user "Alice" has shared a space "Project" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" copies folder "/folder2" to "/folder1/folder2" inside space "Project" using the WebDAV API
Then the HTTP status code should be "<status-code>"
And for user "Brian" folder "<parent-folder>" of the space "Project" <shouldOrNot> contain these files:
| <entry> |
Then the HTTP status code should be "<http-status-code>"
And for user "Brian" folder "<parent-folder>" of the space "Project" <should-or-not> contain these files:
| <resource> |
Examples:
| role | shouldOrNot | status-code | parent-folder | entry |
| manager | should | 201 | folder1/folder2 | demo.txt |
| editor | should | 201 | folder1/folder2 | demo.txt |
| viewer | should not | 403 | folder1 | folder2 |
| space-role | should-or-not | http-status-code | parent-folder | resource |
| manager | should | 201 | folder1/folder2 | demo.txt |
| editor | should | 201 | folder1/folder2 | demo.txt |
| viewer | should not | 403 | folder1 | folder2 |
Scenario Outline: user copies a folder from a project space with different role to a project space with different role
@@ -330,17 +330,17 @@ Feature: copy file
| role | <from_role> |
When user "Alice" copies folder "/folder1" from space "Project1" to "/folder1" inside space "Project2" using the WebDAV API
Then the HTTP status code should be "<status-code>"
And for user "Alice" folder "<parent-folder>" of the space "Project2" <shouldOrNot> contain these files:
And for user "Alice" folder "<parent-folder>" of the space "Project2" <should-or-not> contain these files:
| <entry> |
Examples:
| from_role | to_role | status-code | shouldOrNot | parent-folder | entry |
| manager | manager | 201 | should | folder1 | demo.txt |
| manager | editor | 201 | should | folder1 | demo.txt |
| editor | manager | 201 | should | folder1 | demo.txt |
| editor | editor | 201 | should | folder1 | demo.txt |
| manager | viewer | 403 | should not | / | folder1 |
| editor | viewer | 403 | should not | / | folder1 |
| viewer | viewer | 403 | should not | / | folder1 |
| from_role | to_role | status-code | should-or-not | parent-folder | entry |
| manager | manager | 201 | should | folder1 | demo.txt |
| manager | editor | 201 | should | folder1 | demo.txt |
| editor | manager | 201 | should | folder1 | demo.txt |
| editor | editor | 201 | should | folder1 | demo.txt |
| manager | viewer | 403 | should not | / | folder1 |
| editor | viewer | 403 | should not | / | folder1 |
| viewer | viewer | 403 | should not | / | folder1 |
Scenario Outline: user copies a folder from project space with different role to personal space
@@ -349,17 +349,17 @@ Feature: copy file
And user "Brian" has created a folder "/folder1" in space "Project"
And user "Brian" has uploaded a file inside space "Project" with content "some content" to "/folder1/demo.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
When user "Alice" copies file "/folder1" from space "Project" to "/folder1" inside space "Personal" using the WebDAV API
Then the HTTP status code should be "201"
And for user "Alice" folder "folder1" of the space "Personal" should contain these files:
| demo.txt |
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: Uuer copies a folder from project space with different role to share space with different role
@@ -369,40 +369,40 @@ Feature: copy file
And user "Brian" has created a folder "/folder1" in space "Project"
And user "Brian" has uploaded a file inside space "Project" with content "some content" to "/folder1/demo.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has shared folder "/testshare" with user "Alice" with permissions "<permissions>"
When user "Alice" copies folder "/folder1" from space "Project" to "/testshare/folder1" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "<status-code>"
And for user "Alice" folder "<parent-folder>" of the space "Shares" <shouldOrNot> contain these files:
And for user "Alice" folder "<parent-folder>" of the space "Shares" <should-or-not> contain these files:
| <entry> |
Examples:
| role | shouldOrNot | permissions | status-code | parent-folder | entry |
| manager | should | 31 | 201 | testshare/folder1 | demo.txt |
| editor | should | 31 | 201 | testshare/folder1 | demo.txt |
| viewer | should | 31 | 201 | testshare/folder1 | demo.txt |
| manager | should not | 17 | 403 | testshare | folder1 |
| editor | should not | 17 | 403 | testshare | folder1 |
| viewer | should not | 17 | 403 | testshare | folder1 |
| space-role | should-or-not | permissions | status-code | parent-folder | entry |
| manager | should | 31 | 201 | testshare/folder1 | demo.txt |
| editor | should | 31 | 201 | testshare/folder1 | demo.txt |
| viewer | should | 31 | 201 | testshare/folder1 | demo.txt |
| manager | should not | 17 | 403 | testshare | folder1 |
| editor | should not | 17 | 403 | testshare | folder1 |
| viewer | should not | 17 | 403 | testshare | folder1 |
Scenario Outline: user copies a folder from personal space to project space with different role
Given the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Alice" has created folder "/folder1"
And user "Alice" has uploaded file with content "some content" to "folder1/demo.txt"
When user "Alice" copies folder "/folder1" from space "Personal" to "/folder1" inside space "Project" using the WebDAV API
Then the HTTP status code should be "<status-code>"
And for user "Alice" folder "<parent-folder>" of the space "Project" <shouldOrNot> contain these files:
And for user "Alice" folder "<parent-folder>" of the space "Project" <should-or-not> contain these files:
| <entry> |
Examples:
| role | shouldOrNot | status-code | parent-folder | entry |
| manager | should | 201 | folder1 | demo.txt |
| editor | should | 201 | folder1 | demo.txt |
| viewer | should not | 403 | / | folder1 |
| space-role | should-or-not | status-code | parent-folder | entry |
| manager | should | 201 | folder1 | demo.txt |
| editor | should | 201 | folder1 | demo.txt |
| viewer | should not | 403 | / | folder1 |
Scenario Outline: user copies a folder from personal space to share space with different permissions
@@ -412,12 +412,12 @@ Feature: copy file
And user "Alice" has uploaded file with content "some content" to "folder1/demo.txt"
When user "Alice" copies folder "/folder1" from space "Personal" to "/testshare/folder1" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "<status-code>"
And for user "Alice" folder "<parent-folder>" of the space "Shares" <shouldOrNot> contain these files:
| <entry> |
And for user "Alice" folder "<parent-folder>" of the space "Shares" <should-or-not> contain these files:
| <resource> |
Examples:
| permissions | shouldOrNot | status-code | parent-folder | entry |
| 31 | should | 201 | testshare/folder1 | demo.txt |
| 17 | should not | 403 | testshare | folder1 |
| permissions | should-or-not | status-code | parent-folder | resource |
| 31 | should | 201 | testshare/folder1 | demo.txt |
| 17 | should not | 403 | testshare | folder1 |
Scenario Outline: user copies a folder from share space with different role to personal space
@@ -440,8 +440,8 @@ Feature: copy file
Given the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has created folder "/testshare"
And user "Brian" has created folder "/testshare/folder1"
And user "Brian" has uploaded file with content "testshare content" to "/testshare/folder1/testshare.txt"
@@ -451,11 +451,11 @@ Feature: copy file
And for user "Alice" folder "folder1" of the space "Project" should contain these files:
| testshare.txt |
Examples:
| role | permissions |
| manager | 31 |
| manager | 17 |
| editor | 31 |
| editor | 17 |
| space-role | permissions |
| manager | 31 |
| manager | 17 |
| editor | 31 |
| editor | 17 |
Scenario Outline: user copies a folder from share space with different role to project space with role viewer
@@ -775,7 +775,7 @@ Feature: copy file
When user "Brian" overwrites file "/personal.txt" from space "Personal" to "/newfolder/personal.txt" inside space "Shares" while copying using the WebDAV API
Then the HTTP status code should be "204"
And for user "Alice" folder "newfolder" of the space "Project" should contain these entries:
| personal.txt |
| personal.txt |
And for user "Alice" the content of the file "/newfolder/personal.txt" of the space "Project" should be "new content"
When user "Alice" downloads version of the file "/newfolder/personal.txt" with the index "1" of the space "Project" using the WebDAV API
Then the HTTP status code should be "200"

View File

@@ -14,12 +14,12 @@ Feature: create file or folder named similar to Shares folder
Scenario Outline: create a folder with a name similar to Shares
Given using spaces DAV path
When user "Brian" creates folder "<folder_name>" using the WebDAV API
When user "Brian" creates folder "<folder-name>" using the WebDAV API
Then the HTTP status code should be "201"
And for user "Brian" the space "Personal" should contain these entries:
| <folder_name>/ |
| <folder-name>/ |
Examples:
| folder_name |
| folder-name |
| Share |
| shares |
| Share1 |
@@ -27,18 +27,18 @@ Feature: create file or folder named similar to Shares folder
Scenario Outline: create a file with a name similar to Shares
Given using spaces DAV path
When user "Brian" uploads file with content "some text" to "<file_name>" using the WebDAV API
When user "Brian" uploads file with content "some text" to "<file-name>" using the WebDAV API
Then the HTTP status code should be "201"
And the content of file "<file_name>" for user "Brian" should be "some text"
And the content of file "<file-name>" for user "Brian" should be "some text"
And for user "Brian" the space "Personal" should contain these entries:
| <file_name> |
| <file-name> |
And for user "Brian" the space "Shares" should contain these entries:
| FOLDER/ |
Examples:
| file_name |
| Share |
| shares |
| Share1 |
| file-name |
| Share |
| shares |
| Share1 |
Scenario: try to create a folder named Shares

View File

@@ -17,8 +17,8 @@ Feature: move (rename) file
And user "Brian" has created a folder "newfolder" in space "Project"
And user "Brian" has uploaded a file inside space "Project" with content "some content" to "insideSpace.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
When user "Alice" moves file "insideSpace.txt" to "newfolder/insideSpace.txt" in space "Project" using the WebDAV API
Then the HTTP status code should be "201"
And for user "Alice" folder "newfolder" of the space "Project" should contain these entries:
@@ -26,9 +26,9 @@ Feature: move (rename) file
But for user "Alice" the space "Project" should not contain these entries:
| insideSpace.txt |
Examples:
| role |
| manager |
| editor |
| space-role |
| manager |
| editor |
Scenario: moving a file within same space project with role viewer
@@ -52,17 +52,17 @@ Feature: move (rename) file
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has uploaded a file inside space "Project" with content "some content" to "insideSpace.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
When user "Alice" moves file "insideSpace.txt" from space "Project" to "insideSpace.txt" inside space "Project" using the WebDAV API
Then the HTTP status code should be "403"
And as "Brian" file "insideSpace.txt" should not exist in the trashbin of the space "Project"
And for user "Alice" the content of the file "insideSpace.txt" of the space "Project" should be "some content"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
@issue-8116
Scenario Outline: user moves a file from a space project with different a role to a space project with different role
@@ -71,11 +71,11 @@ Feature: move (rename) file
And user "Brian" has created a space "Project2" with the default quota using the Graph API
And user "Brian" has uploaded a file inside space "Project1" with content "Project1 content" to "project1.txt"
And user "Brian" has shared a space "Project2" with settings:
| shareWith | Alice |
| role | <to_role> |
| shareWith | Alice |
| role | <to-space-role> |
And user "Brian" has shared a space "Project1" with settings:
| shareWith | Alice |
| role | <from_role> |
| shareWith | Alice |
| role | <from-space-role> |
When user "Alice" moves file "project1.txt" from space "Project1" to "project1.txt" inside space "Project2" using the WebDAV API
Then the HTTP status code should be "<http-status-code>"
And for user "Alice" the space "Project1" should contain these entries:
@@ -83,16 +83,16 @@ Feature: move (rename) file
And for user "Alice" the space "Project2" should not contain these entries:
| project1.txt |
Examples:
| from_role | to_role | http-status-code |
| manager | manager | 502 |
| editor | manager | 502 |
| manager | editor | 502 |
| editor | editor | 502 |
| manager | viewer | 403 |
| editor | viewer | 403 |
| viewer | manager | 403 |
| viewer | editor | 403 |
| viewer | viewer | 403 |
| from-space-role | to-space-role | http-status-code |
| manager | manager | 502 |
| editor | manager | 502 |
| manager | editor | 502 |
| editor | editor | 502 |
| manager | viewer | 403 |
| editor | viewer | 403 |
| viewer | manager | 403 |
| viewer | editor | 403 |
| viewer | viewer | 403 |
@issue-7618
Scenario Outline: user moves a file from a space project with different role to a space personal
@@ -100,8 +100,8 @@ Feature: move (rename) file
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has uploaded a file inside space "Project" with content "Project content" to "project.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
When user "Alice" moves file "project.txt" from space "Project" to "project.txt" inside space "Personal" using the WebDAV API
Then the HTTP status code should be "<http-status-code>"
And for user "Alice" the space "Project" should contain these entries:
@@ -109,10 +109,10 @@ Feature: move (rename) file
And for user "Alice" the space "Personal" should not contain these entries:
| project.txt |
Examples:
| role | http-status-code |
| manager | 502 |
| editor | 502 |
| viewer | 403 |
| space-role | http-status-code |
| manager | 502 |
| editor | 502 |
| viewer | 403 |
Scenario Outline: user moves a file from space project with different role to space Shares with different role (permission)
@@ -121,8 +121,8 @@ Feature: move (rename) file
And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded a file inside space "Project" with content "Project content" to "project.txt"
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has shared folder "/testshare" with user "Alice" with permissions "<permissions>"
When user "Alice" moves file "project.txt" from space "Project" to "/testshare/project.txt" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "502"
@@ -131,24 +131,24 @@ Feature: move (rename) file
But for user "Alice" folder "testshare" of the space "Shares" should not contain these entries:
| project.txt |
Examples:
| role | permissions |
| manager | all |
| editor | all |
| viewer | all |
| manager | change |
| editor | change |
| viewer | change |
| manager | read |
| editor | read |
| viewer | read |
| space-role | permissions |
| manager | all |
| editor | all |
| viewer | all |
| manager | change |
| editor | change |
| viewer | change |
| manager | read |
| editor | read |
| viewer | read |
@issue-7618
Scenario Outline: user moves a file from space personal to space project with different role
Given the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Alice" has uploaded file with content "personal space content" to "/personal.txt"
When user "Alice" moves file "personal.txt" from space "Personal" to "personal.txt" inside space "Project" using the WebDAV API
Then the HTTP status code should be "<http-status-code>"
@@ -157,10 +157,10 @@ Feature: move (rename) file
And for user "Alice" the space "Project" should not contain these entries:
| personal.txt |
Examples:
| role | http-status-code |
| manager | 502 |
| editor | 502 |
| viewer | 403 |
| space-role | http-status-code |
| manager | 502 |
| editor | 502 |
| viewer | 403 |
Scenario Outline: user moves a file from space personal to space Shares with different role (permission)
@@ -201,8 +201,8 @@ Feature: move (rename) file
Given the administrator has assigned the role "Space Admin" to user "Brian" using the Graph API
And user "Brian" has created a space "Project" with the default quota using the Graph API
And user "Brian" has shared a space "Project" with settings:
| shareWith | Alice |
| role | <role> |
| shareWith | Alice |
| role | <space-role> |
And user "Brian" has created folder "/testshare"
And user "Brian" has uploaded file with content "testshare content" to "/testshare/testshare.txt"
And user "Brian" has shared folder "/testshare" with user "Alice" with permissions "<permissions>"
@@ -213,24 +213,24 @@ Feature: move (rename) file
And for user "Alice" folder "testshare" of the space "Shares" should contain these entries:
| testshare.txt |
Examples:
| role | permissions |
| manager | all |
| editor | all |
| viewer | all |
| manager | change |
| editor | change |
| viewer | change |
| manager | read |
| editor | read |
| viewer | read |
| space-role | permissions |
| manager | all |
| editor | all |
| viewer | all |
| manager | change |
| editor | change |
| viewer | change |
| manager | read |
| editor | read |
| viewer | read |
Scenario Outline: user moves a file from space Shares to another space Shares with different role (permissions)
Given user "Brian" has created folder "/testshare1"
And user "Brian" has created folder "/testshare2"
And user "Brian" has uploaded file with content "testshare1 content" to "/testshare1/testshare1.txt"
And user "Brian" has shared folder "/testshare1" with user "Alice" with permissions "<from_permissions>"
And user "Brian" has shared folder "/testshare2" with user "Alice" with permissions "<to_permissions>"
And user "Brian" has shared folder "/testshare1" with user "Alice" with permissions "<from-permissions>"
And user "Brian" has shared folder "/testshare2" with user "Alice" with permissions "<to-permissions>"
When user "Alice" moves file "/testshare1/testshare1.txt" from space "Shares" to "/testshare2/testshare1.txt" inside space "Shares" using the WebDAV API
Then the HTTP status code should be "502"
And for user "Alice" folder "testshare1" of the space "Shares" should contain these entries:
@@ -238,7 +238,7 @@ Feature: move (rename) file
But for user "Alice" folder "testshare2" of the space "Shares" should not contain these entries:
| testshare1.txt |
Examples:
| from_permissions | to_permissions |
| from-permissions | to-permissions |
| all | all |
| all | change |
| all | read |
@@ -351,4 +351,4 @@ Feature: move (rename) file
| testfile.txt |
When user "Brian" downloads version of the file "folder/testfile.txt" with the index "1" of the space "Project" using the WebDAV API
Then the HTTP status code should be "200"
And the downloaded content should be "root file v1"
And the downloaded content should be "root file v1"

View File

@@ -355,7 +355,7 @@ Feature: sharing
Scenario Outline: space admin tries to remove password of a public link share (change/create permission)
Given using spaces DAV path
And using OCS API version "<ocs_api_version>"
And using OCS API version "<ocs-api-version>"
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created folder "FOLDER"
And user "Alice" has created a public link share with settings
@@ -366,11 +366,11 @@ Feature: sharing
| path | /FOLDER |
| permissions | <permissions> |
| password | |
Then the HTTP status code should be "<http_status_code>"
Then the HTTP status code should be "<http-status-code>"
And the OCS status code should be "400"
And the OCS status message should be "missing required password"
Examples:
| ocs_api_version | permissions | http_status_code |
| ocs-api-version | permissions | http-status-code |
| 1 | change | 200 |
| 2 | change | 400 |
| 1 | create | 200 |
@@ -379,7 +379,7 @@ Feature: sharing
Scenario Outline: space admin removes password of a public link share (read permission)
Given using spaces DAV path
And using OCS API version "<ocs_api_version>"
And using OCS API version "<ocs-api-version>"
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created folder "FOLDER"
And user "Alice" has created a public link share with settings
@@ -391,8 +391,8 @@ Feature: sharing
| permissions | read |
| password | |
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs_status_code>"
And the OCS status code should be "<ocs-status-code>"
Examples:
| ocs_api_version | ocs_status_code |
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |

View File

@@ -19,17 +19,17 @@ Feature: Share spaces
Scenario Outline: space admin can share a space to another user
When user "Alice" shares a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the user "Brian" should have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario: user can see who has been granted access
@@ -100,17 +100,17 @@ Feature: Share spaces
Scenario Outline: user cannot share a disabled space to another user
Given user "Alice" has disabled a space "share space"
When user "Alice" shares a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
Then the HTTP status code should be "404"
And the OCS status code should be "404"
And the OCS status message should be "Wrong path, file/folder doesn't exist"
But the user "Brian" should not have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user with manager role can share a space to another user
@@ -118,79 +118,79 @@ Feature: Share spaces
| shareWith | Brian |
| role | manager |
When user "Brian" shares a space "share space" with settings:
| shareWith | Bob |
| role | <role> |
| shareWith | Bob |
| role | <space-role> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the user "Bob" should have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
@skipOnRevaMaster
Scenario Outline: user with editor or viewer role cannot share a space to another user
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" shares a space "share space" with settings:
| shareWith | Bob |
| role | <new_role> |
| shareWith | Bob |
| role | <share-space-role> |
Then the HTTP status code should be "403"
And the OCS status code should be "403"
And the OCS status message should be "No share permission"
And the user "Bob" should not have a space called "share space"
Examples:
| role | new_role |
| editor | manager |
| editor | editor |
| editor | viewer |
| viewer | manager |
| viewer | editor |
| viewer | viewer |
| space-role | share-space-role |
| editor | manager |
| editor | editor |
| editor | viewer |
| viewer | manager |
| viewer | editor |
| viewer | viewer |
Scenario Outline: space manager can change the role of space members
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Alice" shares a space "share space" with settings:
| shareWith | Brian |
| role | <new_role> |
| shareWith | Brian |
| role | <new-space-role> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the user "Alice" should have a space called "share space" granted to "Brian" with role "<new_role>"
And the user "Alice" should have a space called "share space" granted to "Brian" with role "<new-space-role>"
Examples:
| role | new_role |
| editor | manager |
| editor | viewer |
| viewer | manager |
| viewer | editor |
| manager | editor |
| manager | viewer |
| space-role | new-space-role |
| editor | manager |
| editor | viewer |
| viewer | manager |
| viewer | editor |
| manager | editor |
| manager | viewer |
@skipOnRevaMaster
Scenario Outline: user without manager role cannot change the role of space members
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has shared a space "share space" with settings:
| shareWith | Bob |
| role | viewer |
When user "Brian" updates the space "share space" with settings:
| shareWith | Bob |
| role | <new_role> |
| shareWith | Bob |
| role | <new-space-role> |
Then the HTTP status code should be "403"
And the OCS status code should be "403"
And the user "Alice" should have a space called "share space" granted to "Bob" with role "viewer"
Examples:
| role | new_role |
| editor | manager |
| editor | viewer |
| viewer | manager |
| viewer | editor |
| space-role | new-space-role |
| editor | manager |
| editor | viewer |
| viewer | manager |
| viewer | editor |
Scenario Outline: user shares a space with a group
@@ -198,34 +198,34 @@ Feature: Share spaces
And the administrator has added a user "Brian" to the group "group2" using the Graph API
And the administrator has added a user "Bob" to the group "group2" using the Graph API
When user "Alice" shares a space "share space" with settings:
| shareWith | group2 |
| shareType | 8 |
| role | <role> |
| shareWith | group2 |
| shareType | 8 |
| role | <space-role> |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space"
And the user "Bob" should have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user has no access to the space if access for the group has been removed
Given group "group2" has been created
And the administrator has added a user "Brian" to the group "group2" using the Graph API
And user "Alice" has shared a space "share space" with settings:
| shareWith | group2 |
| shareType | 8 |
| role | <role> |
| shareWith | group2 |
| shareType | 8 |
| role | <space-role> |
When user "Alice" unshares a space "share space" to group "group2"
Then the HTTP status code should be "200"
And the user "Brian" should not have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario: user has no access to the space if he has been removed from the group
@@ -295,15 +295,15 @@ Feature: Share spaces
Scenario Outline: space Admin can share a space to the user with an expiration date
When user "Alice" shares a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space" granted to user "Brian" with role "<role>" and expiration date "2042-03-25"
And the user "Brian" should have a space called "share space" granted to user "Brian" with role "<space-role>" and expiration date "2042-03-25"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: space Admin can share a space to the group with an expiration date
@@ -312,33 +312,33 @@ Feature: Share spaces
When user "Alice" shares a space "share space" with settings:
| shareWith | sales |
| shareType | 8 |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space" granted to group "sales" with role "<role>" and expiration date "2042-03-25"
And the user "Brian" should have a space called "share space" granted to group "sales" with role "<space-role>" and expiration date "2042-03-25"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: update the expiration date of a space in user share
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
When user "Alice" updates the space "share space" with settings:
| shareWith | Brian |
| expireDate | 2044-01-01T23:59:59.999+01:00 |
| role | <role> |
| role | <space-role> |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space" granted to user "Brian" with role "<role>" and expiration date "2044-01-01"
And the user "Brian" should have a space called "share space" granted to user "Brian" with role "<space-role>" and expiration date "2044-01-01"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: update the expiration date of a space in group share
@@ -347,38 +347,38 @@ Feature: Share spaces
And user "Alice" has shared a space "share space" with settings:
| shareWith | sales |
| shareType | 8 |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
When user "Alice" updates the space "share space" with settings:
| shareWith | sales |
| shareType | 8 |
| expireDate | 2044-01-01T23:59:59.999+01:00 |
| role | <role> |
| role | <space-role> |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space" granted to group "sales" with role "<role>" and expiration date "2044-01-01"
And the user "Brian" should have a space called "share space" granted to group "sales" with role "<space-role>" and expiration date "2044-01-01"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: delete the expiration date of a space in user share
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
When user "Alice" updates the space "share space" with settings:
| shareWith | Brian |
| expireDate | |
| role | <role> |
| shareWith | Brian |
| expireDate | |
| role | <space-role> |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space" granted to user "Brian" with role "<role>" and expiration date ""
And the user "Brian" should have a space called "share space" granted to user "Brian" with role "<space-role>" and expiration date ""
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: delete the expiration date of a space in group share
@@ -387,35 +387,35 @@ Feature: Share spaces
And user "Alice" has shared a space "share space" with settings:
| shareWith | sales |
| shareType | 8 |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
When user "Alice" updates the space "share space" with settings:
| shareWith | sales |
| shareType | 8 |
| expireDate | |
| role | <role> |
| shareWith | sales |
| shareType | 8 |
| expireDate | |
| role | <space-role> |
Then the HTTP status code should be "200"
And the user "Brian" should have a space called "share space" granted to group "sales" with role "<role>" and expiration date ""
And the user "Brian" should have a space called "share space" granted to group "sales" with role "<space-role>" and expiration date ""
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: check the end of expiration of a space in user share
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
When user "Alice" expires the user share of space "share space" for user "Brian"
Then the HTTP status code should be "200"
And the user "Brian" should not have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: check the end of expiration of a space in group share
@@ -424,20 +424,20 @@ Feature: Share spaces
And user "Alice" has shared a space "share space" with settings:
| shareWith | sales |
| shareType | 8 |
| role | <role> |
| role | <space-role> |
| expireDate | 2042-03-25T23:59:59+0100 |
When user "Alice" expires the group share of space "share space" for group "sales"
Then the HTTP status code should be "200"
And the user "Brian" should not have a space called "share space"
Examples:
| role |
| manager |
| editor |
| viewer |
| space-role |
| manager |
| editor |
| viewer |
Scenario Outline: user cannot share the personal space to an other user
Given the administrator has assigned the role "<role>" to user "Brian" using the Graph API
Given the administrator has assigned the role "<space-role>" to user "Brian" using the Graph API
And user "Brian" shares a space "Brian Murphy" with settings:
| shareWith | Bob |
| role | viewer |
@@ -445,7 +445,7 @@ Feature: Share spaces
And the OCS status message should be "can not add members to personal spaces"
And the user "Bob" should not have a space called "Brian Murphy"
Examples:
| role |
| space-role |
| Space Admin |
| Admin |
| User |

View File

@@ -21,30 +21,30 @@ Feature: Share spaces via link
When user "Alice" creates a public link share of the space "share space" with settings:
| permissions | <permissions> |
| password | <password> |
| name | <linkName> |
| expireDate | <expireDate> |
| name | <link-name> |
| expireDate | <expire-date> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the fields of the last response to user "Alice" should include
| item_type | folder |
| mimetype | httpd/unix-directory |
| file_target | / |
| path | / |
| permissions | <expectedPermissions> |
| share_type | public_link |
| displayname_owner | %displayname% |
| uid_owner | %username% |
| name | <linkName> |
| item_type | folder |
| mimetype | httpd/unix-directory |
| file_target | / |
| path | / |
| permissions | <expected-permissions> |
| share_type | public_link |
| displayname_owner | %displayname% |
| uid_owner | %username% |
| name | <link-name> |
When the public downloads file "/test.txt" from inside the last public link shared folder with password "<password>" using the new public WebDAV API
Then the HTTP status code should be "200"
And the downloaded content should be "some content"
But the public should not be able to download file "/test.txt" from inside the last public link shared folder using the new public WebDAV API with password "wrong pass"
Examples:
| permissions | expectedPermissions | password | linkName | expireDate |
| 1 | read | %public% | link | 2042-03-25T23:59:59+0100 |
| 5 | read,create | %public% | | 2042-03-25T23:59:59+0100 |
| 15 | read,update,create,delete | %public% | link | |
| permissions | expected-permissions | password | link-name | expire-date |
| 1 | read | %public% | link | 2042-03-25T23:59:59+0100 |
| 5 | read,create | %public% | | 2042-03-25T23:59:59+0100 |
| 15 | read,update,create,delete | %public% | link | |
Scenario: manager can create internal link without password
@@ -84,8 +84,8 @@ Feature: Share spaces via link
@skipOnRevaMaster
Scenario Outline: user without manager role cannot share a space to public via link
Given user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" creates a public link share of the space "share space" with settings:
| permissions | 1 |
Then the HTTP status code should be "403"
@@ -93,9 +93,9 @@ Feature: Share spaces via link
And the OCS status message should be "No share permission"
And for user "Alice" the space "share space" should not contain the last created public link
Examples:
| role |
| viewer |
| editor |
| space-role |
| viewer |
| editor |
Scenario: user with manager role can share a space to public via link
@@ -131,7 +131,7 @@ Feature: Share spaces via link
Scenario Outline: space admin removes password of a public link share of a space (read/invite permission)
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has created a public link share of the space "share space" with settings:
| permissions | <permissions> |
| password | %public% |
@@ -139,10 +139,10 @@ Feature: Share spaces via link
| permissions | <permissions> |
| password | |
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs_status_code>"
And the OCS status code should be "<ocs-status-code>"
And the OCS status message should be "OK"
Examples:
| ocs_api_version | ocs_status_code | permissions |
| ocs-api-version | ocs-status-code | permissions |
| 1 | 100 | 1 |
| 1 | 100 | 0 |
| 2 | 200 | 1 |
@@ -150,18 +150,18 @@ Feature: Share spaces via link
Scenario Outline: space admin tries to remove password of a public link share of a space (various permission)
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has created a public link share of the space "share space" with settings:
| permissions | <permissions> |
| password | %public% |
When user "Alice" updates the last public link share using the sharing API with
| permissions | <permissions> |
| password | |
Then the HTTP status code should be "<http_status_code>"
Then the HTTP status code should be "<http-status-code>"
And the OCS status code should be "400"
And the OCS status message should be "missing required password"
Examples:
| ocs_api_version | permissions | http_status_code |
| ocs-api-version | permissions | http-status-code |
| 1 | 5 | 200 |
| 2 | 5 | 400 |
| 1 | 15 | 200 |
@@ -171,7 +171,7 @@ Feature: Share spaces via link
Scenario Outline: space admin removes password of a public link share of a space (invite permission)
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has created a public link share of the space "share space" with settings:
| permissions | 1 |
| password | %public% |
@@ -179,16 +179,16 @@ Feature: Share spaces via link
| permissions | 0 |
| password | |
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs_status_code>"
And the OCS status code should be "<ocs-status-code>"
And the OCS status message should be "OK"
Examples:
| ocs_api_version | ocs_status_code |
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |
Scenario Outline: space manager tries to remove password of a public link share of a space (read permission)
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | manager |
@@ -198,17 +198,17 @@ Feature: Share spaces via link
When user "Brian" updates the last public link share using the sharing API with
| permissions | 1 |
| password | |
Then the HTTP status code should be "<http_status_code>"
Then the HTTP status code should be "<http-status-code>"
And the OCS status code should be "104"
And the OCS status message should be "user is not allowed to delete the password from the public link"
Examples:
| ocs_api_version | http_status_code |
| ocs-api-version | http-status-code |
| 1 | 200 |
| 2 | 403 |
Scenario Outline: space manager tries to remove password of a public link share of a space (various permission)
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | manager |
@@ -218,11 +218,11 @@ Feature: Share spaces via link
When user "Brian" updates the last public link share using the sharing API with
| permissions | <permissions> |
| password | |
Then the HTTP status code should be "<http_status_code>"
Then the HTTP status code should be "<http-status-code>"
And the OCS status code should be "400"
And the OCS status message should be "missing required password"
Examples:
| ocs_api_version | permissions | http_status_code |
| ocs-api-version | permissions | http-status-code |
| 1 | 5 | 200 |
| 2 | 5 | 400 |
| 1 | 15 | 200 |
@@ -232,7 +232,7 @@ Feature: Share spaces via link
Scenario Outline: space manager removes password of a public link share of a space (invite permission)
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | manager |
@@ -243,47 +243,47 @@ Feature: Share spaces via link
| permissions | 0 |
| password | |
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs_status_code>"
And the OCS status code should be "<ocs-status-code>"
And the OCS status message should be "OK"
Examples:
| ocs_api_version | ocs_status_code |
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |
Scenario Outline: space member tries to remove the password of a public link share of a space
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has shared a space "share space" with settings:
| shareWith | Brian |
| role | <role> |
| shareWith | Brian |
| role | <space-role> |
And user "Alice" has created a public link share of the space "share space" with settings:
| permissions | <permissions> |
| password | %public% |
| permissions | <permissions> |
| password | %public% |
When user "Brian" updates the last public link share using the sharing API with
| permissions | <permissions> |
| password | |
Then the HTTP status code should be "<http_status_code>"
| password | |
Then the HTTP status code should be "<http-status-code>"
And the OCS status code should be "997"
And the OCS status message should be "missing permissions to update share"
Examples:
| ocs_api_version | http_status_code | role | permissions |
| 1 | 200 | viewer | 1 |
| 2 | 401 | viewer | 1 |
| 1 | 200 | viewer | 5 |
| 2 | 401 | viewer | 5 |
| 1 | 200 | viewer | 15 |
| 2 | 401 | viewer | 15 |
| 1 | 200 | viewer | 4 |
| 2 | 401 | viewer | 4 |
| 1 | 200 | viewer | 0 |
| 2 | 401 | viewer | 0 |
| 1 | 200 | editor | 1 |
| 2 | 401 | editor | 1 |
| 1 | 200 | editor | 5 |
| 2 | 401 | editor | 5 |
| 1 | 200 | editor | 15 |
| 2 | 401 | editor | 15 |
| 1 | 200 | editor | 4 |
| 2 | 401 | editor | 4 |
| 1 | 200 | editor | 0 |
| 2 | 401 | editor | 0 |
| ocs-api-version | http-status-code | space-role | permissions |
| 1 | 200 | viewer | 1 |
| 2 | 401 | viewer | 1 |
| 1 | 200 | viewer | 5 |
| 2 | 401 | viewer | 5 |
| 1 | 200 | viewer | 15 |
| 2 | 401 | viewer | 15 |
| 1 | 200 | viewer | 4 |
| 2 | 401 | viewer | 4 |
| 1 | 200 | viewer | 0 |
| 2 | 401 | viewer | 0 |
| 1 | 200 | editor | 1 |
| 2 | 401 | editor | 1 |
| 1 | 200 | editor | 5 |
| 2 | 401 | editor | 5 |
| 1 | 200 | editor | 15 |
| 2 | 401 | editor | 15 |
| 1 | 200 | editor | 4 |
| 2 | 401 | editor | 4 |
| 1 | 200 | editor | 0 |
| 2 | 401 | editor | 0 |

View File

@@ -22,22 +22,22 @@ Feature: Share a file or folder that is inside a space
Scenario Outline: manager of the space can share an entity inside project space to another user with role
When user "Alice" creates a share inside of space "share sub-item" with settings:
| path | <entity> |
| shareWith | Brian |
| role | <role> |
| expireDate | <expireDate> |
| path | <resource> |
| shareWith | Brian |
| role | <space-role> |
| expireDate | <expire-date> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And as "Brian" <type> "Shares/<entity>" should exist
And as "Brian" <resource-type> "Shares/<resource>" should exist
And the information about the last share for user "Brian" should include
| expiration | <expiration> |
Examples:
| entity | type | role | expireDate | expiration |
| folder | folder | viewer | | |
| folder | folder | editor | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| file.txt | file | viewer | | |
| file.txt | file | editor | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| resource | resource-type | space-role | expire-date | expiration |
| folder | folder | viewer | | |
| folder | folder | editor | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| file.txt | file | viewer | | |
| file.txt | file | editor | 2042-03-25T23:59:59+0100 | 2042-03-25 |
Scenario Outline: user participant of the project space with manager role can share an entity to another user
@@ -45,47 +45,47 @@ Feature: Share a file or folder that is inside a space
| shareWith | Brian |
| role | manager |
When user "Brian" creates a share inside of space "share sub-item" with settings:
| path | <entity> |
| shareWith | Bob |
| role | <role> |
| expireDate | <expireDate> |
| path | <resource> |
| shareWith | Bob |
| role | <space-role> |
| expireDate | <expire-date> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And as "Bob" <type> "Shares/<entity>" should exist
And as "Bob" <resource-type> "Shares/<resource>" should exist
And the information about the last share for user "Brian" should include
| expiration | <expiration> |
Examples:
| entity | type | role | expireDate | expiration |
| folder | folder | viewer | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| folder | folder | editor | | |
| file.txt | file | viewer | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| file.txt | file | editor | | |
| resource | resource-type | space-role | expire-date | expiration |
| folder | folder | viewer | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| folder | folder | editor | | |
| file.txt | file | viewer | 2042-03-25T23:59:59+0100 | 2042-03-25 |
| file.txt | file | editor | | |
@skipOnRevaMaster
Scenario Outline: user participant of the project space without space manager role cannot share an entity to another user
Given user "Alice" has shared a space "share sub-item" with settings:
| shareWith | Brian |
| role | <spaceRole> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" creates a share inside of space "share sub-item" with settings:
| path | <entity> |
| shareWith | Bob |
| role | editor |
| path | <resource> |
| shareWith | Bob |
| role | editor |
Then the HTTP status code should be "403"
And the OCS status code should be "403"
And the OCS status message should be "No share permission"
Examples:
| entity | spaceRole |
| folder | editor |
| file.txt | editor |
| file.txt | viewer |
| folder | viewer |
| resource | space-role |
| folder | editor |
| file.txt | editor |
| file.txt | viewer |
| folder | viewer |
Scenario Outline: user participant of the project space can see the created resources share
Given user "Alice" has shared a space "share sub-item" with settings:
| shareWith | Brian |
| role | <spaceRole> |
| shareWith | Brian |
| role | <space-role> |
When user "Alice" creates a share inside of space "share sub-item" with settings:
| path | file.txt |
| shareWith | Bob |
@@ -93,10 +93,10 @@ Feature: Share a file or folder that is inside a space
Then for user "Alice" the space "share sub-item" should contain the last created share of the file "file.txt"
And for user "Brian" the space "share sub-item" should contain the last created share of the file "file.txt"
Examples:
| spaceRole |
| editor |
| viewer |
| manager |
| space-role |
| editor |
| viewer |
| manager |
Scenario: user shares the folder to the group

View File

@@ -1,21 +1,21 @@
Feature: Share a file or folder that is inside a space via public link
As a user with manager space role
I want to be able to share the data inside the space via public link
So that an anonymous user can have access to certain resources
As a user with manager space role
I want to be able to share the data inside the space via public link
So that an anonymous user can have access to certain resources
folder permissions:
| role | permissions |
| internal | 0 |
| viewer | 1 |
| uploader | 4 |
| contributor | 5 |
| editor | 15 |
folder permissions:
| role | permissions |
| internal | 0 |
| viewer | 1 |
| uploader | 4 |
| contributor | 5 |
| editor | 15 |
file permissions:
| role | permissions |
| internal | 0 |
| viewer | 1 |
| editor | 3 |
file permissions:
| role | permissions |
| internal | 0 |
| viewer | 1 |
| editor | 3 |
Note - this feature is run in CI with ACCOUNTS_HASH_DIFFICULTY set to the default for production
See https://github.com/owncloud/ocis/issues/1542 and https://github.com/owncloud/ocis/pull/839
@@ -34,36 +34,36 @@ Feature: Share a file or folder that is inside a space via public link
@issue-5139
Scenario Outline: manager of the space can share an entity inside project space via public link
When user "Alice" creates a public link share inside of space "share sub-item" with settings:
| path | <entity> |
| path | <resource> |
| shareType | 3 |
| permissions | <permissions> |
| password | <password> |
| name | <name> |
| expireDate | <expireDate> |
| name | <link-name> |
| expireDate | <expire-date> |
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the fields of the last response to user "Alice" and space "share sub-item" should include
| item_type | <item_type> |
| mimetype | <mimetype> |
| file_target | <file_target> |
| path | /<entity> |
| permissions | <permissions> |
| share_type | public_link |
| displayname_owner | %displayname% |
| name | <name> |
| uid_file_owner | %space_id% |
| space_id | %space_id% |
| item_type | <resource-type> |
| mimetype | <mime-type> |
| file_target | <file-target> |
| path | /<resource> |
| permissions | <permissions> |
| share_type | public_link |
| displayname_owner | %displayname% |
| name | <link-name> |
| uid_file_owner | %space_id% |
| space_id | %space_id% |
Examples:
| entity | file_target | permissions | password | name | expireDate | item_type | mimetype |
| folder | /folder | 0 | | link | | folder | httpd/unix-directory |
| folder | /folder | 1 | %public% | link | 2042-03-25T23:59:59+0100 | folder | httpd/unix-directory |
| folder | /folder | 4 | %public% | | | folder | httpd/unix-directory |
| folder | /folder | 5 | %public% | | 2042-03-25T23:59:59+0100 | folder | httpd/unix-directory |
| folder | /folder | 15 | %public% | link | | folder | httpd/unix-directory |
| folder/file.txt | /file.txt | 0 | | link | 2042-03-25T23:59:59+0100 | file | text/plain |
| folder/file.txt | /file.txt | 1 | %public% | link | 2042-03-25T23:59:59+0100 | file | text/plain |
| folder/file.txt | /file.txt | 3 | %public% | link | 2042-03-25T23:59:59+0100 | file | text/plain |
| resource | file-target | permissions | password | link-name | expire-date | resource-type | mime-type |
| folder | /folder | 0 | | link | | folder | httpd/unix-directory |
| folder | /folder | 1 | %public% | link | 2042-03-25T23:59:59+0100 | folder | httpd/unix-directory |
| folder | /folder | 4 | %public% | | | folder | httpd/unix-directory |
| folder | /folder | 5 | %public% | | 2042-03-25T23:59:59+0100 | folder | httpd/unix-directory |
| folder | /folder | 15 | %public% | link | | folder | httpd/unix-directory |
| folder/file.txt | /file.txt | 0 | | link | 2042-03-25T23:59:59+0100 | file | text/plain |
| folder/file.txt | /file.txt | 1 | %public% | link | 2042-03-25T23:59:59+0100 | file | text/plain |
| folder/file.txt | /file.txt | 3 | %public% | link | 2042-03-25T23:59:59+0100 | file | text/plain |
@issue-5139
Scenario Outline: user participant of the project space with space manager role can share an entity inside project space via public link
@@ -71,7 +71,7 @@ Feature: Share a file or folder that is inside a space via public link
| shareWith | Brian |
| role | manager |
When user "Brian" creates a public link share inside of space "share sub-item" with settings:
| path | <entity> |
| path | <resource> |
| shareType | 3 |
| permissions | 1 |
| password | %public% |
@@ -81,27 +81,27 @@ Feature: Share a file or folder that is inside a space via public link
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the fields of the last response to user "Brian" and space "share sub-item" should include
| item_type | <item_type> |
| mimetype | <mimetype> |
| file_target | <file_target> |
| path | /<entity> |
| share_type | public_link |
| displayname_owner | %displayname% |
| name | public link |
| uid_file_owner | %space_id% |
| space_id | %space_id% |
| item_type | <resource-type> |
| mimetype | <mime-type> |
| file_target | <file-target> |
| path | /<resource> |
| share_type | public_link |
| displayname_owner | %displayname% |
| name | public link |
| uid_file_owner | %space_id% |
| space_id | %space_id% |
Examples:
| entity | file_target | item_type | mimetype |
| folder | /folder | folder | httpd/unix-directory |
| folder/file.txt | /file.txt | file | text/plain |
| resource | file-target | resource-type | mime-type |
| folder | /folder | folder | httpd/unix-directory |
| folder/file.txt | /file.txt | file | text/plain |
@skipOnRevaMaster
Scenario Outline: user participant of the project space without space manager role cannot share an entity inside project space via public link
Given user "Alice" has shared a space "share sub-item" with settings:
| shareWith | Brian |
| role | <spaceRole> |
| shareWith | Brian |
| role | <space-role> |
When user "Brian" creates a public link share inside of space "share sub-item" with settings:
| path | <entity> |
| path | <resource> |
| shareType | 3 |
| permissions | 1 |
| password | %public% |
@@ -111,21 +111,21 @@ Feature: Share a file or folder that is inside a space via public link
And the OCS status code should be "403"
And the OCS status message should be "No share permission"
Examples:
| entity | spaceRole |
| folder | editor |
| folder | viewer |
| folder/file.txt | editor |
| folder/file.txt | viewer |
| resource | space-role |
| folder | editor |
| folder | viewer |
| folder/file.txt | editor |
| folder/file.txt | viewer |
Scenario Outline: user creates a new public link share of a file inside the personal space with edit permissions
Given using OCS API version "<ocs_api_version>"
Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "Random data" to "/file.txt"
When user "Alice" creates a public link share using the sharing API with settings
| path | file.txt |
| permissions | read,update |
| password | %public% |
Then the OCS status code should be "<ocs_status_code>"
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And the fields of the last response to user "Alice" should include
| item_type | file |
@@ -141,15 +141,15 @@ Feature: Share a file or folder that is inside a space via public link
And the public should be able to download the last publicly shared file using the new public WebDAV API with password "%public%" and the content should be "Random data"
And the public upload to the last publicly shared file using the new public WebDAV API with password "%public%" should pass with HTTP status code "204"
Examples:
| ocs_api_version | ocs_status_code |
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |
@issue-5139
Scenario Outline: user participant of the project space can see the created public resources link
Given user "Alice" has shared a space "share sub-item" with settings:
| shareWith | Brian |
| role | <spaceRole> |
| shareWith | Brian |
| role | <space-role> |
When user "Alice" creates a public link share inside of space "share sub-item" with settings:
| path | folder/file.txt |
| shareType | 3 |
@@ -169,7 +169,7 @@ Feature: Share a file or folder that is inside a space via public link
| space_id | %space_id% |
And for user "Brian" the space "share sub-item" should contain the last created public link of the file "folder/file.txt"
Examples:
| spaceRole |
| editor |
| viewer |
| manager |
| space-role |
| editor |
| viewer |
| manager |