Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add integration tests for transferring ownership of reshares
Currently only transferring ownership of a reshare with a group to a
user in the group is possible.

When transferring ownership of a reshare with another user or with a
group to a user not in the group restoring the share fails (but the
command succeeds, it only fails for the specific files that are
reshares).

When transferring ownership of a path that is a reshare the command
fails (as when a specific path is provided the path tries to move the
file, it does not take into account reshares).

The added integration tests reflect the above behaviours.

Signed-off-by: Daniel Calviño Sánchez <[email protected]>
  • Loading branch information
danxuliu committed Sep 10, 2020
commit 58d57b35ea5c592b84e6d4f0b6e23d482b5a6579
100 changes: 100 additions & 0 deletions build/integration/features/transfer-ownership.feature
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,91 @@ Feature: transfer-ownership
| uid_file_owner | test |
| share_with | test |

Scenario: transferring ownership of folder reshared with another user
Given user "user0" exists
And user "user1" exists
And user "user2" exists
And user "user3" exists
And User "user3" created a folder "/test"
And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt"
And folder "/test" of user "user3" is shared with user "user0" with permissions 31
And user "user0" accepts last share
And folder "/test" of user "user0" is shared with user "user2" with permissions 31
And user "user2" accepts last share
When transferring ownership from "user0" to "user1"
And the command was successful
And As an "user2"
Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is"
And using old dav path
And as "user0" the folder "/test" exists
And using received transfer folder of "user1" as dav path
And as "user1" the folder "/test" does not exist
And As an "user0"
And Getting info of last share
And the OCS status code should be "100"
And Share fields of last share match with
| uid_owner | user0 |
| uid_file_owner | user3 |
| share_with | user2 |

Scenario: transferring ownership of folder reshared with group to a user in the group
Given user "user0" exists
And user "user1" exists
And user "user2" exists
And user "user3" exists
And group "group1" exists
And user "user1" belongs to group "group1"
And User "user3" created a folder "/test"
And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt"
And folder "/test" of user "user3" is shared with user "user0" with permissions 31
And user "user0" accepts last share
And folder "/test" of user "user0" is shared with group "group1" with permissions 31
And user "user1" accepts last share
When transferring ownership from "user0" to "user1"
And the command was successful
And As an "user1"
Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is"
And using old dav path
And as "user0" the folder "/test" exists
And using received transfer folder of "user1" as dav path
And as "user1" the folder "/test" does not exist
And As an "user1"
And Getting info of last share
And the OCS status code should be "100"
And Share fields of last share match with
| uid_owner | user1 |
| uid_file_owner | user3 |
| share_with | group1 |

Scenario: transferring ownership of folder reshared with group to a user not in the group
Given user "user0" exists
And user "user1" exists
And user "user2" exists
And user "user3" exists
And group "group1" exists
And user "user2" belongs to group "group1"
And User "user3" created a folder "/test"
And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt"
And folder "/test" of user "user3" is shared with user "user0" with permissions 31
And user "user0" accepts last share
And folder "/test" of user "user0" is shared with group "group1" with permissions 31
And user "user2" accepts last share
When transferring ownership from "user0" to "user1"
And the command was successful
And As an "user2"
Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is"
And using old dav path
And as "user0" the folder "/test" exists
And using received transfer folder of "user1" as dav path
And as "user1" the folder "/test" does not exist
And As an "user0"
And Getting info of last share
And the OCS status code should be "100"
And Share fields of last share match with
| uid_owner | user0 |
| uid_file_owner | user3 |
| share_with | group1 |

Scenario: transferring ownership does not transfer received shares
Given user "user0" exists
And user "user1" exists
Expand Down Expand Up @@ -316,6 +401,21 @@ Feature: transfer-ownership
| uid_file_owner | user1 |
| share_with | user2 |

Scenario: transferring ownership of path fails for reshares
Given user "user0" exists
And user "user1" exists
And user "user2" exists
And user "user3" exists
And User "user3" created a folder "/test"
And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt"
And folder "/test" of user "user3" is shared with user "user0" with permissions 31
And user "user0" accepts last share
And folder "/test" of user "user0" is shared with user "user2" with permissions 31
And user "user2" accepts last share
When transferring ownership of path "test" from "user0" to "user1"
Then the command failed with exit code 1
And the command error output contains the text "Could not transfer files."

Scenario: transferring ownership does not transfer received shares
Given user "user0" exists
And user "user1" exists
Expand Down