-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #39724 from owncloud/tests-issue-39000
[tests-only] Add tests for moving a share inside another share
- Loading branch information
Showing
2 changed files
with
162 additions
and
0 deletions.
There are no files selected for viewing
79 changes: 79 additions & 0 deletions
79
tests/acceptance/features/apiShareManagementToRoot/moveShareInsideAnotherShare.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
@api @files_sharing-app-required @notToImplementOnOCIS | ||
Feature: moving a share inside another share | ||
As a user | ||
I want to move a shared resource inside another shared resource | ||
Because I need full flexibility when managing resources. | ||
|
||
Background: | ||
Given using OCS API version "1" | ||
And these users have been created with default attributes and without skeleton files: | ||
| username | | ||
| Alice | | ||
| Brian | | ||
And user "Alice" has created folder "folderA" | ||
And user "Alice" has created folder "folderB" | ||
And user "Alice" has uploaded file with content "text A" to "/folderA/fileA.txt" | ||
And user "Alice" has uploaded file with content "text B" to "/folderB/fileB.txt" | ||
And user "Alice" has shared folder "folderA" with user "Brian" | ||
And user "Alice" has shared folder "folderB" with user "Brian" | ||
|
||
|
||
Scenario: share receiver cannot move a whole share inside another share | ||
When user "Brian" moves folder "folderB" to "folderA/folderB" using the WebDAV API | ||
Then the HTTP status code should be "403" | ||
And as "Alice" folder "/folderB" should exist | ||
And as "Brian" folder "/folderB" should exist | ||
And as "Alice" file "/folderB/fileB.txt" should exist | ||
And as "Brian" file "/folderB/fileB.txt" should exist | ||
|
||
|
||
Scenario: share owner moves a whole share inside another share | ||
When user "Alice" moves folder "folderB" to "folderA/folderB" using the WebDAV API | ||
Then the HTTP status code should be "201" | ||
And as "Alice" folder "/folderB" should not exist | ||
And as "Alice" folder "/folderA/folderB" should exist | ||
And as "Brian" folder "/folderB" should exist | ||
And as "Alice" file "/folderA/folderB/fileB.txt" should exist | ||
And as "Brian" file "/folderA/folderB/fileB.txt" should exist | ||
And as "Brian" file "/folderB/fileB.txt" should exist | ||
|
||
|
||
Scenario: share receiver moves a whole share inside a local folder | ||
Given user "Brian" has created folder "localFolder" | ||
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt" | ||
When user "Brian" moves folder "folderB" to "localFolder/folderB" using the WebDAV API | ||
Then the HTTP status code should be "201" | ||
And as "Brian" folder "/localFolder/folderB" should exist | ||
And as "Brian" file "/localFolder/folderB/fileB.txt" should exist | ||
And as "Brian" file "/localFolder/localFile.txt" should exist | ||
But as "Brian" file "/folderB/fileB.txt" should not exist | ||
|
||
|
||
Scenario: share receiver moves a whole share inside a local folder then moves the local folder inside a received share | ||
Given user "Brian" has created folder "localFolder" | ||
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt" | ||
When user "Brian" moves folder "folderB" to "localFolder/folderB" using the WebDAV API | ||
And user "Brian" moves folder "localFolder" to "folderA/localFolder" using the WebDAV API | ||
Then the HTTP status code should be "201" | ||
And as "Alice" folder "/folderA/localFolder" should exist | ||
And as "Brian" folder "/folderA/localFolder" should exist | ||
And as "Alice" file "/folderA/localFolder/localFile.txt" should exist | ||
And as "Brian" file "/folderA/localFolder/localFile.txt" should exist | ||
# folderB now exists separately, and is no longer inside localFolder | ||
And as "Alice" file "/folderB/fileB.txt" should exist | ||
And as "Brian" file "/folderB/fileB.txt" should exist | ||
But as "Alice" folder "/folderA/localFolder/folderB" should not exist | ||
And as "Brian" folder "/folderA/localFolder/folderB" should not exist | ||
|
||
|
||
Scenario: share receiver moves a whole share inside a local folder then tries to move the share inside a received share | ||
Given user "Brian" has created folder "localFolder" | ||
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt" | ||
When user "Brian" moves folder "folderB" to "localFolder/folderB" using the WebDAV API | ||
And user "Brian" moves folder "localFolder/folderB" to "folderA/folderB" using the WebDAV API | ||
Then the HTTP status code should be "403" | ||
And as "Alice" file "/folderB/fileB.txt" should exist | ||
And as "Brian" folder "/localFolder/folderB" should exist | ||
And as "Brian" file "/localFolder/folderB/fileB.txt" should exist | ||
But as "Alice" folder "/folderA/folderB" should not exist | ||
And as "Brian" folder "/folderA/folderB" should not exist |
83 changes: 83 additions & 0 deletions
83
tests/acceptance/features/apiShareManagementToShares/moveShareInsideAnotherShare.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
@api @files_sharing-app-required | ||
Feature: moving a share inside another share | ||
As a user | ||
I want to move a shared resource inside another shared resource | ||
Because I need full flexibility when managing resources. | ||
|
||
Background: | ||
Given the administrator has set the default folder for received shares to "Shares" | ||
And auto-accept shares has been disabled | ||
And using OCS API version "1" | ||
And these users have been created with default attributes and without skeleton files: | ||
| username | | ||
| Alice | | ||
| Brian | | ||
And user "Alice" has created folder "folderA" | ||
And user "Alice" has created folder "folderB" | ||
And user "Alice" has uploaded file with content "text A" to "/folderA/fileA.txt" | ||
And user "Alice" has uploaded file with content "text B" to "/folderB/fileB.txt" | ||
And user "Alice" has shared folder "folderA" with user "Brian" | ||
And user "Alice" has shared folder "folderB" with user "Brian" | ||
And user "Brian" has accepted share "/folderA" offered by user "Alice" | ||
And user "Brian" has accepted share "/folderB" offered by user "Alice" | ||
|
||
|
||
Scenario: share receiver cannot move a whole share inside another share | ||
When user "Brian" moves folder "Shares/folderB" to "Shares/folderA/folderB" using the WebDAV API | ||
Then the HTTP status code should be "403" | ||
And as "Alice" folder "/folderB" should exist | ||
And as "Brian" folder "/Shares/folderB" should exist | ||
And as "Alice" file "/folderB/fileB.txt" should exist | ||
And as "Brian" file "/Shares/folderB/fileB.txt" should exist | ||
|
||
|
||
Scenario: share owner moves a whole share inside another share | ||
When user "Alice" moves folder "folderB" to "folderA/folderB" using the WebDAV API | ||
Then the HTTP status code should be "201" | ||
And as "Alice" folder "/folderB" should not exist | ||
And as "Alice" folder "/folderA/folderB" should exist | ||
And as "Brian" folder "/Shares/folderB" should exist | ||
And as "Alice" file "/folderA/folderB/fileB.txt" should exist | ||
And as "Brian" file "/Shares/folderA/folderB/fileB.txt" should exist | ||
And as "Brian" file "/Shares/folderB/fileB.txt" should exist | ||
|
||
|
||
Scenario: share receiver moves a whole share inside a local folder | ||
Given user "Brian" has created folder "localFolder" | ||
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt" | ||
When user "Brian" moves folder "Shares/folderB" to "localFolder/folderB" using the WebDAV API | ||
Then the HTTP status code should be "201" | ||
And as "Brian" folder "/localFolder/folderB" should exist | ||
And as "Brian" file "/localFolder/folderB/fileB.txt" should exist | ||
And as "Brian" file "/localFolder/localFile.txt" should exist | ||
But as "Brian" file "/Shares/folderB/fileB.txt" should not exist | ||
|
||
|
||
Scenario: share receiver moves a whole share inside a local folder then moves the local folder inside a received share | ||
Given user "Brian" has created folder "localFolder" | ||
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt" | ||
When user "Brian" moves folder "Shares/folderB" to "localFolder/folderB" using the WebDAV API | ||
And user "Brian" moves folder "localFolder" to "Shares/folderA/localFolder" using the WebDAV API | ||
Then the HTTP status code should be "201" | ||
And as "Alice" folder "/folderA/localFolder" should exist | ||
And as "Brian" folder "/Shares/folderA/localFolder" should exist | ||
And as "Alice" file "/folderA/localFolder/localFile.txt" should exist | ||
And as "Brian" file "/Shares/folderA/localFolder/localFile.txt" should exist | ||
# folderB now exists separately, and is no longer inside localFolder | ||
And as "Alice" file "/folderB/fileB.txt" should exist | ||
And as "Brian" file "/Shares/folderB/fileB.txt" should exist | ||
But as "Alice" folder "/folderA/localFolder/folderB" should not exist | ||
And as "Brian" folder "/Shares/folderA/localFolder/folderB" should not exist | ||
|
||
|
||
Scenario: share receiver moves a whole share inside a local folder then tries to move the share inside a received share | ||
Given user "Brian" has created folder "localFolder" | ||
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt" | ||
When user "Brian" moves folder "Shares/folderB" to "localFolder/folderB" using the WebDAV API | ||
And user "Brian" moves folder "localFolder/folderB" to "Shares/folderA/folderB" using the WebDAV API | ||
Then the HTTP status code should be "403" | ||
And as "Alice" file "/folderB/fileB.txt" should exist | ||
And as "Brian" folder "/localFolder/folderB" should exist | ||
And as "Brian" file "/localFolder/folderB/fileB.txt" should exist | ||
But as "Alice" folder "/folderA/folderB" should not exist | ||
And as "Brian" folder "/Shares/folderA/folderB" should not exist |