mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-04 03:09:33 -06:00
Used kebab case for example table header name
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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/ | / |
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user