mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-25 22:42:16 -05:00
The collaborative mode of posixfs does currently not support the creation and removal of spaces directly on the file system. This has to happen via the graph API.
183 lines
9.5 KiB
Gherkin
183 lines
9.5 KiB
Gherkin
@env-config @skipOnOpencloud-decomposed-Storage @skipOnOpencloud-decomposeds3-Storage
|
|
Feature: create a resources using collaborative posixfs
|
|
|
|
Background:
|
|
Given the config "STORAGE_USERS_POSIX_WATCH_FS" has been set to "true"
|
|
And user "Alice" has been created with default attributes
|
|
And user "Alice" has created folder "/firstFolder"
|
|
|
|
|
|
Scenario: administrator lists the content of the POSIX storage
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
When the administrator lists the content of the POSIX storage folder of user "Alice"
|
|
Then the command output should contain "firstFolder"
|
|
And the command output should contain "test.txt"
|
|
|
|
|
|
Scenario: create folder
|
|
When the administrator creates the folder "myFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And as "Alice" folder "/myFolder" should exist
|
|
|
|
|
|
Scenario: create nested folder
|
|
When the administrator creates the folder "deep/nested/structure/myFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And as "Alice" folder "/deep/nested/structure/myFolder" should exist
|
|
|
|
|
|
Scenario: create file
|
|
When the administrator creates the file "test.txt" with content "content" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And the content of file "/test.txt" for user "Alice" should be "content"
|
|
|
|
|
|
Scenario: create large file
|
|
When the administrator creates the file "largefile.txt" with size "1gb" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And as "Alice" file "/largefile.txt" should exist
|
|
|
|
|
|
Scenario: creates files sequentially in a folder
|
|
When the administrator creates 50 files sequentially in the directory "firstFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And the content of file "/firstFolder/file_1.txt" for user "Alice" should be "file 1 content"
|
|
And the content of file "/firstFolder/file_50.txt" for user "Alice" should be "file 50 content"
|
|
|
|
|
|
Scenario: creates files in parallel in a folder
|
|
When the administrator creates 100 files in parallel in the directory "firstFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And the content of file "/firstFolder/parallel_1.txt" for user "Alice" should be "parallel file 1 content"
|
|
And the content of file "/firstFolder/parallel_100.txt" for user "Alice" should be "parallel file 100 content"
|
|
|
|
|
|
Scenario: edit file
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
When the administrator puts the content "new" into the file "test.txt" in the POSIX storage folder of user "Alice"
|
|
Then the content of file "/test.txt" for user "Alice" should be "contentnew"
|
|
|
|
|
|
Scenario: read file content
|
|
Given user "Alice" has uploaded file with content "content" to "textfile.txt"
|
|
When the administrator reads the content of the file "textfile.txt" in the POSIX storage folder of user "Alice"
|
|
Then the command output should contain "content"
|
|
|
|
|
|
Scenario: copy file to folder
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
When the administrator copies the file "test.txt" to the folder "firstFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And the content of file "/firstFolder/test.txt" for user "Alice" should be "content"
|
|
|
|
|
|
Scenario: rename file
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
When the administrator renames the file "test.txt" to "new-name.txt" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And the content of file "/new-name.txt" for user "Alice" should be "content"
|
|
|
|
|
|
Scenario: move file to folder
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
When the administrator moves the file "test.txt" to the folder "firstFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And the content of file "/firstFolder/test.txt" for user "Alice" should be "content"
|
|
And as "Alice" file "/test.txt" should not exist
|
|
|
|
|
|
Scenario: delete file
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
When the administrator deletes the file "test.txt" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And as "Alice" file "/test.txt" should not exist
|
|
|
|
|
|
Scenario: delete folder
|
|
And user "Alice" has uploaded file with content "content" to "/firstFolder/test.txt"
|
|
When the administrator deletes the folder "firstFolder" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And as "Alice" folder "firstFolder" should not exist
|
|
|
|
|
|
Scenario: copy file from personal to project space
|
|
Given user "Alice" has uploaded file with content "content" to "test.txt"
|
|
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
|
|
When the administrator copies the file "test.txt" to the space "Project space" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And using spaces DAV path
|
|
And for user "Alice" the space "Project space" should contain these entries:
|
|
| test.txt |
|
|
|
|
|
|
Scenario: user doesn't lose file versions after renaming the file
|
|
Given user "Brian" has been created with default attributes
|
|
And user "Alice" has uploaded file with content "content" to "textfile.txt"
|
|
And user "Alice" has uploaded file with content "new content version 2" to "textfile.txt"
|
|
And user "Alice" has uploaded file with content "new content version 3" to "textfile.txt"
|
|
When the administrator renames the file "textfile.txt" to "new-name.txt" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
When user "Alice" gets the number of versions of file "new-name.txt"
|
|
Then the HTTP status code should be "207"
|
|
And the number of versions should be "2"
|
|
|
|
|
|
Scenario: user doesn't lose file versions after changing the file content
|
|
Given user "Alice" has uploaded file with content "content" to "textfile.txt"
|
|
And user "Alice" has uploaded file with content "new content version 2" to "textfile.txt"
|
|
And user "Alice" has uploaded file with content "new content version 3" to "textfile.txt"
|
|
When the administrator puts the content "new" into the file "textfile.txt" in the POSIX storage folder of user "Alice"
|
|
Then the command should be successful
|
|
When user "Alice" gets the number of versions of file "textfile.txt"
|
|
Then the HTTP status code should be "207"
|
|
And the number of versions should be "2"
|
|
|
|
|
|
Scenario: user doesn't lose share and public link after renaming the file
|
|
Given user "Brian" has been created with default attributes
|
|
And user "Alice" has uploaded file with content "content" to "textfile.txt"
|
|
And user "Alice" has created the following resource link share:
|
|
| resource | textfile.txt |
|
|
| space | Personal |
|
|
| permissionsRole | view |
|
|
| password | %public% |
|
|
And user "Alice" has sent the following resource share invitation:
|
|
| resource | textfile.txt |
|
|
| space | Personal |
|
|
| sharee | Brian |
|
|
| shareType | user |
|
|
| permissionsRole | Viewer |
|
|
When the administrator renames the file "textfile.txt" to "new-name.txt" for user "Alice" on the POSIX filesystem
|
|
Then the command should be successful
|
|
And user "Brian" should have a share "textfile.txt" shared by user "Alice" from space "Personal"
|
|
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "content"
|
|
|
|
|
|
Scenario: user doesn't lose share and public link after changing the file content
|
|
Given user "Brian" has been created with default attributes
|
|
And user "Alice" has uploaded file with content "content" to "textfile.txt"
|
|
And user "Alice" has created the following resource link share:
|
|
| resource | textfile.txt |
|
|
| space | Personal |
|
|
| permissionsRole | view |
|
|
| password | %public% |
|
|
And user "Alice" has sent the following resource share invitation:
|
|
| resource | textfile.txt |
|
|
| space | Personal |
|
|
| sharee | Brian |
|
|
| shareType | user |
|
|
| permissionsRole | Viewer |
|
|
When the administrator puts the content "new" into the file "textfile.txt" in the POSIX storage folder of user "Alice"
|
|
Then the command should be successful
|
|
And for user "Brian" the content of the file "textfile.txt" of the space "Shares" should be "contentnew"
|
|
And the public should be able to download file "textfile.txt" from the last link share with password "%public%" and the content should be "contentnew"
|
|
|
|
@issue-1100
|
|
Scenario: upload and rename file
|
|
When the administrator creates the file "test.txt" with content "content" for user "Alice" on the POSIX filesystem
|
|
And the administrator renames the file "test.txt" to "renamed.txt" for user "Alice" on the POSIX filesystem
|
|
And the administrator checks the attribute "user.oc.name" of file "renamed.txt" for user "Alice" on the POSIX filesystem
|
|
Then the command output should contain "renamed.txt"
|
|
And the content of file "/renamed.txt" for user "Alice" should be "content"
|