Refactor the syntax of the scenarios in local API tests

This commit is contained in:
Swikriti Tripathi
2023-04-20 15:32:15 +05:45
parent 53419c9f2b
commit 7db5b86bd4
49 changed files with 528 additions and 463 deletions
@@ -2,6 +2,7 @@
Feature: Change data of space
As a user with space admin rights
I want to be able to change the data of a created space (increase the quota, change name, etc.)
So that I can manage them
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
@@ -23,7 +24,7 @@ Feature: Change data of space
And using spaces DAV path
Scenario Outline: Only space admin user can change the name of a Space via the Graph API
Scenario Outline: only space admin user can change the name of a space via the Graph API
When user "<user>" changes the name of the "Project Jupiter" space to "<expectedName>"
Then the HTTP status code should be "<code>"
And for user "<user>" the JSON response should contain space called "<expectedName>" and match
@@ -53,7 +54,7 @@ Feature: Change data of space
| Bob | 403 | Project Jupiter |
Scenario: Only space admin user can change the description(subtitle) of a Space via the Graph API
Scenario: only space admin user can change the description(subtitle) of a space via the Graph API
When user "Alice" changes the description of the "Project Jupiter" space to "The Death Star is a fictional mobile space station"
Then the HTTP status code should be "200"
And for user "Alice" the JSON response should contain space called "Project Jupiter" and match
@@ -83,7 +84,7 @@ Feature: Change data of space
"""
Scenario Outline: Viewer and editor cannot change the description(subtitle) of a Space via the Graph API
Scenario Outline: viewer and editor cannot change the description(subtitle) of a space via the Graph API
When user "<user>" changes the description of the "Project Jupiter" space to "The Death Star is a fictional mobile space station"
Then the HTTP status code should be "<code>"
Examples:
@@ -92,7 +93,7 @@ Feature: Change data of space
| Bob | 403 |
Scenario Outline: An user tries to increase the quota of a Space via the Graph API
Scenario Outline: user tries to increase the quota of a Space via the Graph API
When user "<user>" changes the quota of the "Project Jupiter" space to "100"
Then the HTTP status code should be "<code>"
And for user "<user>" the JSON response should contain space called "Project Jupiter" and match
@@ -131,7 +132,7 @@ Feature: Change data of space
| Bob | 403 | 20 |
Scenario Outline: An space admin user set no restriction quota of a Space via the Graph API
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>"
Then the HTTP status code should be "200"
When user "Alice" uploads a file inside space "Project Jupiter" with content "some content" to "file.txt" using the WebDAV API
@@ -175,7 +176,7 @@ Feature: Change data of space
| -1 |
Scenario: An user space admin set readme file as description of the space via the Graph API
Scenario: user space admin set readme file as description of the space via the Graph API
Given user "Alice" has created a folder ".space" in space "Project Jupiter"
And user "Alice" has uploaded a file inside space "Project Jupiter" with content "space description" to ".space/readme.md"
When user "Alice" sets the file ".space/readme.md" as a description in a special section of the "Project Jupiter" space
@@ -257,7 +258,7 @@ Feature: Change data of space
And for user "Alice" the content of the file ".space/readme.md" of the space "Project Jupiter" should be "space description"
Scenario Outline: An user member of the space changes readme file
Scenario Outline: user member of the space changes readme file
Given user "Alice" has created a folder ".space" in space "Project Jupiter"
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
@@ -344,7 +345,7 @@ Feature: Change data of space
| Bob | 403 | 17 | space description |
Scenario Outline: An user space admin and editor set image file as space image of the space via the Graph API
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
@@ -429,14 +430,14 @@ Feature: Change data of space
| Brian | spaceImage.png | spaceImage.png | image/png |
| Alice | spaceImage.gif | spaceImage.gif | image/gif |
Scenario: An user viewer cannot set image file as space image of the space via the Graph API
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"
And user "Alice" has uploaded a file inside space "Project Jupiter" with content "" to ".space/someImageFile.jpg"
When user "Bob" sets the file ".space/someImageFile.jpg" as a space image in a special section of the "Project Jupiter" space
Then the HTTP status code should be "403"
Scenario Outline: An user set new readme file as description of the space via the Graph API
Scenario Outline: user set new readme file as description of the space via the graph API
Given user "Alice" has created a folder ".space" in space "Project Jupiter"
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
@@ -522,7 +523,7 @@ Feature: Change data of space
| Bob | 403 | 17 | space description |
Scenario Outline: An user set new image file as space image of the space via the Graph API
Scenario Outline: user set new 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 "Alice" has uploaded a file inside space "Project Jupiter" with content "" to ".space/spaceImage.jpeg"
And user "Alice" has set the file ".space/spaceImage.jpeg" as a space image in a special section of the "Project Jupiter" space
@@ -607,7 +608,7 @@ Feature: Change data of space
| Brian |
Scenario Outline: An admin user set own quota of a personal space via the Graph API
Scenario Outline: admin user set own quota of a personal space via the Graph API
When user "Admin" changes the quota of the "Admin" space to "<quotaValue>"
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
@@ -620,7 +621,7 @@ Feature: Change data of space
| -1 | between "201" and "204" |
Scenario Outline: An admin user set an user personal space quota of via the Graph API
Scenario Outline: admin user set an user personal space quota of via the Graph API
When user "Admin" changes the quota of the "Brian Murphy" space to "<quotaValue>"
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
@@ -666,7 +667,7 @@ Feature: Change data of space
| -1 | between "201" and "204" | 0 | 26 |
Scenario: user sends invalid space uuid via the Graph API
Scenario: user sends invalid space uuid via the graph API
When user "Admin" tries to change the name of the "non-existing" space to "new name"
Then the HTTP status code should be "404"
When user "Admin" tries to change the quota of the "non-existing" space to "10"
@@ -8,7 +8,7 @@ Feature: create space
Given user "Alice" has been created with default attributes and without skeleton files
@issue-5938
Scenario Outline: user with role user and guest can't create Space via Graph API
Scenario Outline: user with role user and guest can't create space via Graph API
Given the administrator has given "Alice" the role "<role>" using the settings 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"
@@ -19,7 +19,7 @@ Feature: create space
| Guest |
Scenario Outline: an admin or space admin user can create a Space via the Graph API with a default quota
Scenario Outline: admin or space admin user can create a space via the Graph API with a default quota
Given the administrator has given "Alice" the role "<role>" using the settings 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"
@@ -90,7 +90,7 @@ Feature: create space
| Space Admin |
Scenario Outline: an admin or space admin user can create a Space via the Graph API with certain quota
Scenario Outline: admin or space admin user can create a space via the Graph API with certain quota
Given the administrator has given "Alice" the role "<role>" using the settings 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"
@@ -223,7 +223,7 @@ Feature: Disabling and deleting space
| Space Admin |
Scenario Outline: user with role user and guest cannot delete others disabled Space via the Graph API
Scenario Outline: user with role user and guest cannot delete others disabled space via the Graph API
Given the administrator has given "Carol" the role "<role>" using the settings api
And user "Alice" has disabled a space "Project Moon"
When user "Carol" tries to delete a space "Project Moon" owned by user "Alice"
@@ -1,6 +1,8 @@
@api @skipOnOcV10
Feature: Download file in project space
As a user with different role, I want to be able to download files
As a user with different role
I want to be able to download files
So that I can have it in my local storage
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
@@ -23,7 +25,7 @@ Feature: Download file in project space
| role | viewer |
Scenario Outline: A user downloads a file in the project space
Scenario Outline: user downloads a file in the project space
When user "<user>" downloads the file "file.txt" of the space "download file" using the WebDAV API
Then the HTTP status code should be "200"
And the following headers should be set
@@ -55,7 +57,7 @@ Feature: Download file in project space
| Brian |
Scenario: A user viewer cannot get the old version of the file in the project space
Scenario: user with role viewer cannot get the old version of the file in the project space
Given user "Alice" has uploaded a file inside space "download file" with content "new content" to "file.txt"
When user "Bob" tries to get version of the file "file.txt" with the index "1" of the space "download file" using the WebDAV API
Then the HTTP status code should be "403"
@@ -25,7 +25,7 @@ Feature: A manager of the space can edit public link
And user "Alice" has uploaded a file inside space "edit space" with content "some content" to "test.txt"
Scenario Outline: A manager of the space can edit public link.
Scenario Outline: manager of the space can edit public link.
Given using OCS API version "2"
When user "Alice" updates the last public link share using the sharing API with
| permissions | <permissions> |
@@ -51,7 +51,7 @@ Feature: A manager of the space can edit public link
| 15 | read,update,create,delete | | newName |
Scenario Outline: All members can see a created public link
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 |
@@ -67,7 +67,7 @@ Feature: A manager of the space can edit public link
| viewer |
Scenario Outline: Members of the space try to edit a public link
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 |
@@ -1,6 +1,8 @@
@api @skipOnOcV10
Feature: Preview file in project space
As a user, I want to be able to download different files for the preview
As a user
I want to be able to download different files for the preview
So that I can preview the thumbnail of the file
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
@@ -14,7 +16,7 @@ Feature: Preview file in project space
And using spaces DAV path
Scenario Outline: An user can preview created txt files in the 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
Then the HTTP status code should be "200"
@@ -24,7 +26,7 @@ Feature: Preview file in project space
| /name with spaces.txt | 1200 | 1200 |
Scenario Outline: An user can preview image files in the project space
Scenario Outline: user can preview image files in the project space
Given using spaces DAV path
And user "Alice" has uploaded a file from "<source>" to "<destination>" via TUS inside of the space "previews of the files" using the WebDAV API
When user "Alice" downloads the preview of "<destination>" of the space "previews of the files" with width "<width>" and height "<height>" using the WebDAV API
@@ -1,7 +1,8 @@
@api @skipOnOcV10
Feature: List and create spaces
As a user
I want to be able to work with personal and project spaces
I want to be able to list project spaces
So that I can retrive the information about them
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
@@ -11,7 +12,7 @@ Feature: List and create spaces
And using spaces DAV path
Scenario: An ordinary user can request information about their Space via the Graph API
Scenario: ordinary user can request information about their Space via the Graph API
When user "Alice" lists all available spaces via the GraphApi
Then the HTTP status code should be "200"
And the JSON response should contain space called "Alice Hansen" and match
@@ -77,7 +78,7 @@ Feature: List and create spaces
"""
Scenario: An ordinary user can request information about their Space via the Graph API using a filter
Scenario: ordinary user can request information about their Space via the Graph API using a filter
Given user "Brian" has been created with default attributes and without skeleton files
And user "Brian" has created folder "folder"
And user "Brian" has shared folder "folder" with user "Alice" with permissions "31"
@@ -173,7 +174,7 @@ Feature: List and create spaces
And the json responded should only contain spaces of type "personal"
Scenario: An ordinary user will not see any space when using a filter for project
Scenario: ordinary user will not see any space when using a filter for project
Given the administrator has given "Alice" the role "Space Admin" using the settings api
And user "Alice" has created a space "my project" of type "project" with quota "20"
When user "Alice" lists all available spaces via the GraphApi with query "$filter=driveType eq 'project'"
@@ -206,13 +207,13 @@ Feature: List and create spaces
And the json responded should not contain a space with name "Alice Hansen"
Scenario: An ordinary user can access their Space via the webDav API
Scenario: ordinary user can access their space via the webDav API
When user "Alice" lists all available spaces via the GraphApi
And user "Alice" lists the content of the space with the name "Alice Hansen" using the WebDav Api
Then the HTTP status code should be "207"
Scenario: A user can list his personal space via multiple endpoints
Scenario: user can list his personal space via multiple endpoints
When user "Alice" lists all available spaces via the GraphApi with query "$filter=driveType eq 'personal'"
Then the HTTP status code should be "200"
And the JSON response should contain space called "Alice Hansen" owned by "Alice" and match
@@ -312,7 +313,7 @@ Feature: List and create spaces
"""
Scenario Outline: A user can list his created spaces via multiple endpoints
Scenario Outline: user can list his created spaces via multiple endpoints
Given the administrator has given "Alice" the role "<role>" using the settings 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"
@@ -442,7 +443,7 @@ Feature: List and create spaces
| Space Admin |
Scenario Outline: A user cannot list space by id if he is not member of the space
Scenario Outline: user cannot list space by id if he is not member of the space
Given the administrator has given "Alice" the role "<role>" using the settings api
And user "Admin" has created a space "Project Venus" with the default quota using the GraphApi
When user "Alice" tries to look up the single space "Project Venus" owned by the user "Admin" by using its id
@@ -2,6 +2,7 @@
Feature: Notification
As a user
I want to be notified of actions related to me
So that I can stay updated about the information
Background:
Given these users have been created with default attributes and without skeleton files:
@@ -1,7 +1,10 @@
@api @skipOnOcV10
Feature: State of the quota
As a user
I want to be able to see the state of the quota and and not let the quota overrun:
I want to be able to see the state of the quota
So that I will not let the quota overrun
quota state indication:
| 0 - 75% | normal |
| 76 - 90% | nearing |
@@ -17,7 +20,7 @@ Feature: State of the quota
And using spaces DAV path
Scenario Outline: Quota information is returned in the list of spaces returned via the Graph API
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 "<total>"
When user "Alice" uploads a file inside space "<spaceName>" with content "<fileContent>" to "test.txt" using the WebDAV API
Then for user "Alice" the JSON response should contain space called "<spaceName>" and match
@@ -74,13 +77,13 @@ Feature: State of the quota
| Quota100% | 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567890 | exceeded | 100 | 0 | 100 |
Scenario: A file cannot be uploaded if there is insufficient quota
Scenario: file cannot be uploaded if there is insufficient quota
Given user "Alice" has created a space "Project Alfa" of type "project" with quota "10"
When user "Alice" uploads a file inside space "Project Alfa" with content "More than 10 bytes" to "test.txt" using the WebDAV API
Then the HTTP status code should be "507"
Scenario: A folder can be created even if there is insufficient quota for file content
Scenario: folder can be created even if there is insufficient quota for file content
Given user "Alice" has created a space "Project Beta" of type "project" with quota "7"
And user "Alice" has uploaded a file inside space "Project Beta" with content "7 bytes" to "test.txt"
When user "Alice" creates a folder "NewFolder" in space "Project Beta" using the WebDav Api
@@ -89,21 +92,21 @@ Feature: State of the quota
| NewFolder |
Scenario: A file can be overwritten if there is enough quota
Scenario: file can be overwritten if there is enough quota
Given user "Alice" has created a space "Project Gamma" of type "project" with quota "10"
And user "Alice" has uploaded a file inside space "Project Gamma" with content "7 bytes" to "test.txt"
When user "Alice" uploads a file inside space "Project Gamma" with content "0010 bytes" to "test.txt" using the WebDAV API
Then the HTTP status code should be "204"
Scenario: A file cannot be overwritten if there is insufficient quota
Scenario: file cannot be overwritten if there is insufficient quota
When user "Alice" has created a space "Project Delta" of type "project" with quota "10"
And user "Alice" has uploaded a file inside space "Project Delta" with content "7 bytes" to "test.txt"
When user "Alice" uploads a file inside space "Project Delta" with content "00011 bytes" to "test.txt" using the WebDAV API
Then the HTTP status code should be "507"
Scenario Outline: Check the relative amount of quota of personal space
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"
When the user "Alice" requests these endpoints with "GET" with basic auth
@@ -2,8 +2,7 @@
Feature: Remove files, folder
As a user
I want to be able to remove files, folders
Users with the editor role can also remove objects
Users with the viewer role cannot remove objects
So that I can remove unnecessary objects
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
@@ -20,7 +19,7 @@ Feature: Remove files, folder
And user "Alice" has uploaded a file inside space "delete objects" with content "some content" to "text.txt"
Scenario Outline: An user deletes a folder with some subfolders in a Space via the webDav API
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> |
@@ -37,7 +36,7 @@ Feature: Remove files, folder
| Brian | viewer | 403 | should | should not |
Scenario Outline: An user deletes a subfolder in a Space via the webDav API
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> |
@@ -56,7 +55,7 @@ Feature: Remove files, folder
| Brian | viewer | 403 | should | should not |
Scenario Outline: An user deletes a file in a Space via the webDav API
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> |
@@ -101,7 +100,7 @@ Feature: Remove files, folder
| Brian | viewer | 403 | should | should not | 12 |
Scenario: An user is unable to delete a Space via the webDav API
Scenario: user is unable to delete a space via the webDav API
When user "Alice" removes the folder "" from space "delete objects"
Then the HTTP status code should be "405"
And for user "Alice" the JSON response should contain space called "delete objects" and match
@@ -1,6 +1,8 @@
@api @skipOnOcV10
Feature: Resharing
It is possible to reshare files
As a user
I want to reshare resources
So that other users can have access to it
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
@@ -24,7 +26,7 @@ Feature: Resharing
And user "Damian" has accepted share "/folder" offered by user "Carol"
Scenario Outline: You should only be able to see direct outgoing shares not all the chain:
Scenario Outline: user should only be able to see direct outgoing shares not all the chain
Given user "Brian" has shared folder "Shares/folder" with user "Fred" with permissions "17"
And user "Fred" has accepted share "/folder" offered by user "Brian"
When user "<user>" gets all the shares inside the folder "Shares/folder" using the sharing API
@@ -43,7 +45,7 @@ Feature: Resharing
| Fred | 0 | should not be | should not be | should not be |
Scenario: Owners can see all the chain:
Scenario: owners can see all the chain
When user "Alice" gets all the shares inside the folder "folder" using the sharing API
Then the OCS status code should be "100"
And the HTTP status code should be "200"
@@ -53,13 +55,13 @@ Feature: Resharing
And user "Damian" should be included in the response
Scenario: You can't share with more permissions than you have
Scenario: user can't share with more permissions than they have
When user "Damian" shares folder "Shares/folder" with user "Ember" with permissions "31" using the sharing API
Then the OCS status code should be "404"
And the OCS status message should be "Cannot set the requested share permissions"
Scenario Outline: Editing reshares
Scenario Outline: editing reshares
Given user "Carol" has shared folder "Shares/folder" with user "Fred" with permissions "17"
And user "Fred" has accepted share "/folder" offered by user "Carol"
When user "<user>" updates the last share using the sharing API with
@@ -73,7 +75,7 @@ Feature: Resharing
| Carol | 100 | should be |
Scenario Outline: Deleting reshares
Scenario Outline: deleting reshares
Given user "Carol" has shared folder "Shares/folder" with user "Gina" with permissions "17"
And user "Gina" has accepted share "/folder" offered by user "Carol"
When user "<user>" deletes the last share using the sharing API
@@ -87,7 +89,7 @@ Feature: Resharing
| Carol | 100 | should not exist |
Scenario Outline: Resharing with different permissions
Scenario Outline: resharing folder with different permissions
When user "<user>" shares folder "Shares/folder" with user "Ember" with permissions "<permissions>" using the sharing API
Then the OCS status code should be "<code>"
Examples:
@@ -99,7 +101,7 @@ Feature: Resharing
| Damian | 31 | 404 |
Scenario Outline: Resharing files with different permissions
Scenario Outline: Rrsharing files with different permissions
Given user "Alice" has uploaded file with content "Random data" to "/file.txt"
And user "Alice" has shared file "/file.txt" with user "Brian" with permissions "<shareepermissions>"
And user "Brian" has accepted share "/file.txt" offered by user "Alice"
@@ -112,7 +114,7 @@ Feature: Resharing
| 19 | 19 | 100 |
Scenario Outline: Resharing with group with different permissions
Scenario Outline: resharing with group with different permissions
Given group "security department" has been created
And the administrator has added a user "Ember" to the group "security department" using GraphApi
And the administrator has added a user "Fred" to the group "security department" using GraphApi
@@ -2,7 +2,7 @@
Feature: Restore files, folder
As a user with manager and editor role
I want to be able to restore files, folders
Users with the viewer role cannot restore objects
So that I can get the resources that were accidentaly deleted
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
@@ -21,7 +21,7 @@ Feature: Restore files, folder
And user "Alice" has uploaded a file inside space "restore objects" with content "test" to "newFolder/file.txt"
Scenario Outline: The user with different role can see deleted objects in trash bin of the space via the webDav API
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> |
@@ -38,7 +38,7 @@ Feature: Restore files, folder
| Brian | viewer |
Scenario Outline: The user can restore a folder with some objects from the trash via the webDav API
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> |
@@ -56,7 +56,7 @@ Feature: Restore files, folder
| Brian | viewer | 403 | should not | should |
Scenario Outline: The user can restore a file from the trash via the webDav API
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> |
@@ -74,7 +74,7 @@ Feature: Restore files, folder
| Brian | viewer | 403 | should not | should |
Scenario: The user can restore a file even if there is not enough quota to do so
Scenario: user can restore a file even if there is not enough quota to do so
Given user "Admin" has changed the quota of the "Brian Murphy" space to "30"
And user "Brian" has uploaded file with content "file is less than 30 bytes" to "/file.txt"
And user "Brian" has uploaded file with content "reduceContent" to "/file.txt"
@@ -1,9 +1,8 @@
@api @skipOnOcV10
Feature: Restoring space
As a manager of space
I want to be able to restore a disabled space.
Only manager can restore disabled space
The restored space must be visible to the other participants without loss of data
I want to be able to restore a disabled space
So that I can retrieve all the data belonging to the 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
@@ -19,13 +18,13 @@ Feature: Restoring space
And using spaces DAV path
Scenario: An owner can restore a Space via the Graph API
Scenario: owner can restore a space via the Graph API
Given user "Alice" has disabled a space "restore a space"
When user "Alice" restores a disabled space "restore a space"
Then the HTTP status code should be "200"
Scenario: Participants can see the data after the space is restored
Scenario: participants can see the data after the space is restored
Given user "Alice" has created a folder "mainFolder" in space "restore a space"
And user "Alice" has uploaded a file inside space "restore a space" with content "example" to "test.txt"
And user "Alice" has shared a space "restore a space" with settings:
@@ -1,6 +1,8 @@
@api @skipOnOcV10
Feature: Search
It is possible to search files in the Shares and the project space
As a user
I want to search for resources in the space
So that I can get them quickly
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
@@ -18,7 +20,7 @@ Feature: Search
And using new DAV path
Scenario: Alice can find data from the project space
Scenario: user can find data from the project space
When user "Alice" searches for "fol" using the WebDAV API
Then the HTTP status code should be "207"
And the search result should contain "4" entries
@@ -29,7 +31,7 @@ Feature: Search
| /folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
Scenario: Alice can find data from the project space
Scenario: user can only find data that they searched for from the project space
When user "Alice" searches for "SUB" using the WebDAV API
Then the HTTP status code should be "207"
And the search result should contain "2" entries
@@ -41,7 +43,7 @@ Feature: Search
| /folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
Scenario: Brian can find data from the Shares
Scenario: user can find data from the shares
Given user "Alice" has created a share inside of space "find data" with settings:
| path | folderMain |
| shareWith | Brian |
@@ -57,7 +59,7 @@ Feature: Search
And for user "Brian" the search result should contain space "mountpoint/folderMain"
Scenario: User can find hidden file
Scenario: user can find hidden file
Given user "Alice" has created a folder ".space" in space "find data"
When user "Alice" searches for ".sp" using the WebDAV API
Then the HTTP status code should be "207"
@@ -66,7 +68,7 @@ Feature: Search
| /.space |
Scenario: User cannot find pending folder
Scenario: user cannot find pending share
Given user "Alice" has created a share inside of space "find data" with settings:
| path | folderMain |
| shareWith | Brian |
@@ -80,7 +82,7 @@ Feature: Search
| /SubFolder1/subFOLDER2/insideTheFolder.txt |
Scenario: User cannot find declined folder
Scenario: user cannot find declined share
Given user "Alice" has created a share inside of space "find data" with settings:
| path | folderMain |
| shareWith | Brian |
@@ -95,14 +97,14 @@ Feature: Search
| /SubFolder1/subFOLDER2/insideTheFolder.txt |
Scenario: User cannot find deleted folder
Scenario: user cannot find deleted folder
Given user "Alice" has removed the folder "folderMain" from space "find data"
When user "Alice" searches for "folderMain" using the WebDAV API
Then the HTTP status code should be "207"
And the search result should contain "0" entries
Scenario: User can find project space by name
Scenario: user can find project space by name
When user "Alice" searches for "find data" using the WebDAV API
Then the HTTP status code should be "207"
And the search result should contain "1" entries
@@ -2,9 +2,10 @@
Feature: Space management
As a user with space admin permission
I want to be able to manage all existing project 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
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
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
@@ -21,7 +22,7 @@ Feature: Space management
And user "Alice" has created a space "Project" of type "project" with quota "10"
Scenario: The space admin user can see another project space even if he is not member of the space
Scenario: space admin user can see another project space even if he is not member of the space
When user "Brian" lists all spaces via the GraphApi with query "$filter=driveType eq 'project'"
Then the HTTP status code should be "200"
And the JSON response should contain space called "Project" and match
@@ -52,7 +53,7 @@ Feature: Space management
And the json responded should not contain a space with name "Alice Hansen"
Scenario: The space admin user can see another personal spaces
Scenario: space admin user can see another personal spaces
When user "Brian" lists all spaces via the GraphApi with query "$filter=driveType eq 'personal'"
Then the HTTP status code should be "200"
And the JSON response should contain space called "Alice Hansen" and match
@@ -83,14 +84,14 @@ Feature: Space management
And the json responded should not contain a space with name "Project"
Scenario: The user without space admin permissions cannot see another spaces
Scenario: user without space admin permission cannot see another spaces
When user "Carol" tries to list all spaces via the GraphApi
Then the HTTP status code should be "200"
And the json responded should not contain a space with name "Project"
And the json responded should not contain a space with name "Alice Hansen"
@skipOnStable2.0
Scenario: The space admin user changes the name of the project space
Scenario: space admin user changes the name of the project space
When user "Brian" changes the name of the "Project" space to "New Name" owned by user "Alice"
Then the HTTP status code should be "200"
And for user "Alice" the JSON response should contain space called "New Name" and match
@@ -110,7 +111,7 @@ Feature: Space management
"""
Scenario: The user without space admin permissions tries to change the name of the project space
Scenario: user without space admin permission tries to change the name of the project space
When user "Carol" tries to change the name of the "Project" space to "New Name" owned by user "Alice"
Then the HTTP status code should be "403"
And for user "Alice" the JSON response should contain space called "Project" and match
@@ -130,7 +131,7 @@ Feature: Space management
"""
@skipOnStable2.0
Scenario: The space admin user changes the description of the project space
Scenario: space admin user changes the description of the project space
When user "Brian" changes the description of the "Project" space to "New description" owned by user "Alice"
Then the HTTP status code should be "200"
And for user "Alice" the JSON response should contain space called "Project" and match
@@ -150,7 +151,7 @@ Feature: Space management
"""
Scenario: The user without space admin permissions tries to change the description of the project space
Scenario: user without space admin permission tries to change the description of the project space
Given user "Alice" has changed the description of the "Project" space to "old description"
When user "Carol" tries to change the description of the "Project" space to "New description" owned by user "Alice"
Then the HTTP status code should be "403"
@@ -171,7 +172,7 @@ Feature: Space management
"""
@skipOnStable2.0
Scenario: The space admin user disables the project space
Scenario: space admin user disables the project space
When user "Brian" disables a space "Project" owned by user "Alice"
Then the HTTP status code should be "204"
And for user "Alice" the JSON response should contain space called "Project" and match
@@ -212,12 +213,12 @@ Feature: Space management
"""
Scenario: The user without space admin permissions tries to disable the project space
Scenario: user without space admin permission tries to disable the project space
When user "Carol" tries to disable a space "Project" owned by user "Alice"
Then the HTTP status code should be "403"
Scenario Outline: The space admin user tries to disable the personal space
Scenario Outline: space admin user tries to disable the personal space
When user "<user>" disables a space "Alice Hansen" owned by user "Alice"
Then the HTTP status code should be "403"
Examples:
@@ -226,14 +227,14 @@ Feature: Space management
| Carol |
@skipOnStable2.0
Scenario: The space admin user deletes the project space
Scenario: space admin user deletes the project space
Given user "Alice" has disabled a space "Project"
When user "Brian" deletes a space "Project" owned by user "Alice"
Then the HTTP status code should be "204"
And the user "Alice" should not have a space called "Project"
Scenario: The user without space admin permissions tries to delete the project space
Scenario: user without space admin permission tries to delete the project space
Given user "Alice" has disabled a space "Project"
When user "Carol" tries to delete a space "Project" owned by user "Alice"
Then the HTTP status code should be "403"
@@ -275,13 +276,13 @@ Feature: Space management
"""
@skipOnStable2.0
Scenario: The space admin user enables the project space
Scenario: space admin user enables the project space
Given user "Alice" has disabled a space "Project"
When user "Brian" restores a disabled space "Project" owned by user "Alice"
Then the HTTP status code should be "200"
Scenario: The user without space admin permissions tries to enable the project space
Scenario: user without space admin permission tries to enable the project space
Given user "Alice" has disabled a space "Project"
When user "Carol" tries to restore a disabled space "Project" owned by user "Alice"
Then the HTTP status code should be "404"
+14 -12
View File
@@ -1,6 +1,8 @@
@api @skipOnOcV10 @skipOnStable2.0
Feature: Tag
The user can add a tag to resources for sorting and quick search
As a user
I wan to tag resources
So that I can sort and search them quickly
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
@@ -17,7 +19,7 @@ Feature: Tag
And user "Alice" has uploaded a file inside space "use-tag" with content "some content" to "folderMain/insideTheFolder.txt"
Scenario: Alice creates tags for resources in the project space
Scenario: user creates tags for resources in the project space
Given user "Alice" has shared a space "use-tag" with settings:
| shareWith | Brian |
| role | viewer |
@@ -52,7 +54,7 @@ Feature: Tag
| fileTag |
Scenario: Alice creates tags for resources in the personal space
Scenario: user creates tags for resources in the personal space
Given user "Alice" has created a folder "folderMain" in space "Alice Hansen"
And user "Alice" has uploaded a file inside space "Alice Hansen" with content "some content" to "file.txt"
When user "Alice" creates the following tags for folder "folderMain" of space "Alice Hansen":
@@ -82,7 +84,7 @@ Feature: Tag
| tag with symbol @^$#^%$@%!_+) |
Scenario Outline: Member of the space tries to create 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> |
@@ -102,7 +104,7 @@ Feature: Tag
| manager | 200 | should |
Scenario: The recipient has a created tags if share is accepted
Scenario: recipient has a created tags if share is accepted
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| folderTag |
| marketing |
@@ -123,7 +125,7 @@ Feature: Tag
| marketing |
Scenario Outline: The recipient of the shared resource tries to create a 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 |
@@ -148,7 +150,7 @@ Feature: Tag
| manager | folder | folderMain | 200 | should |
Scenario Outline: The recipient of the shared resource tries to remove a tag
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 |
@@ -176,7 +178,7 @@ Feature: Tag
| manager | folder | folderMain | 200 | should not |
Scenario: User removes folder tags
Scenario: user removes folder tags
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| folderTag |
| marketing |
@@ -191,7 +193,7 @@ Feature: Tag
| oc:tags | development |
Scenario: User lists tags after deleting some folder tags
Scenario: user lists tags after deleting some folder tags
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| folderTag |
| marketing |
@@ -209,7 +211,7 @@ Feature: Tag
| marketing |
Scenario: User lists the tags after deleting a folder
Scenario: user lists the tags after deleting a folder
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| folderTag |
| marketing |
@@ -222,7 +224,7 @@ Feature: Tag
| marketing |
Scenario: User lists the tags after deleting a space
Scenario: user lists the tags after deleting a space
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| folderTag |
| marketing |
@@ -241,7 +243,7 @@ Feature: Tag
| marketing |
Scenario: User lists the tags after restoring a deleted folder
Scenario: user lists the tags after restoring a deleted folder
Given user "Alice" has created the following tags for folder "folderMain" of the space "use-tag":
| folderTag |
| marketing |
@@ -2,6 +2,7 @@
Feature: Upload files into a space
As an user
I want to be able to create folders and files in the space
So that I can store various information in them
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
@@ -17,7 +18,7 @@ Feature: Upload files into a space
And using spaces DAV path
Scenario Outline: An user creates a folder in the Space via the Graph API
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> |
@@ -32,7 +33,7 @@ Feature: Upload files into a space
| viewer | 403 | should not |
Scenario Outline: An user uploads a file in shared Space via the Graph API
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> |
@@ -75,7 +76,7 @@ Feature: Upload files into a space
| viewer | 403 | should not | 0 |
Scenario: An user can create subfolders in a Space via the Graph API
Scenario: user can create subfolders in a space via the Graph API
When user "Alice" creates a subfolder "mainFolder/subFolder1/subFolder2" in space "Project Ceres" using the WebDav Api
Then the HTTP status code should be "201"
And for user "Alice" the space "Project Ceres" should contain these entries:
@@ -84,7 +85,7 @@ Feature: Upload files into a space
| subFolder2 |
Scenario: An user can create a folder and upload a file to a Space
Scenario: user can create a folder and upload a file to a space
When user "Alice" creates a folder "NewFolder" in space "Project Ceres" using the WebDav Api
Then the HTTP status code should be "201"
And user "Alice" uploads a file inside space "Project Ceres" with content "Test" to "test.txt" using the WebDAV API
@@ -94,7 +95,7 @@ Feature: Upload files into a space
| test.txt |
Scenario: An user cannot create a folder or a file in a Space if they do not have permission
Scenario: user cannot create a folder or a file in a space if they do not have permission
When user "Bob" creates a folder "forAlice" in space "Project Ceres" owned by the user "Alice" using the WebDav Api
Then the HTTP status code should be "404"
When user "Bob" uploads a file inside space "Project Ceres" owned by the user "Alice" with content "Test" to "test.txt" using the WebDAV API