diff --git a/tests/acceptance/expected-failures-API-on-OCIS-storage.md b/tests/acceptance/expected-failures-API-on-OCIS-storage.md index a824da023..8a3d8388e 100644 --- a/tests/acceptance/expected-failures-API-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-API-on-OCIS-storage.md @@ -60,40 +60,6 @@ Synchronization features like etag propagation, setting mtime and locking files - [coreApiMain/checksums.feature:263](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L263) #### [Webdav LOCK operations](https://github.com/owncloud/ocis/issues/1284) - -- [coreApiWebdavLocks/requestsWithToken.feature:31](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks/requestsWithToken.feature#L31) -- [coreApiWebdavLocks/requestsWithToken.feature:32](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks/requestsWithToken.feature#L32) -- [coreApiWebdavLocks/requestsWithToken.feature:37](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks/requestsWithToken.feature#L37) -- [coreApiWebdavLocks2/independentLocks.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L25) -- [coreApiWebdavLocks2/independentLocks.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L26) -- [coreApiWebdavLocks2/independentLocks.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L27) -- [coreApiWebdavLocks2/independentLocks.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L28) -- [coreApiWebdavLocks2/independentLocks.feature:33](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L33) -- [coreApiWebdavLocks2/independentLocks.feature:34](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L34) -- [coreApiWebdavLocks2/independentLocks.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L53) -- [coreApiWebdavLocks2/independentLocks.feature:54](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L54) -- [coreApiWebdavLocks2/independentLocks.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L55) -- [coreApiWebdavLocks2/independentLocks.feature:56](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L56) -- [coreApiWebdavLocks2/independentLocks.feature:57](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L57) -- [coreApiWebdavLocks2/independentLocks.feature:58](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L58) -- [coreApiWebdavLocks2/independentLocks.feature:59](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L59) -- [coreApiWebdavLocks2/independentLocks.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L60) -- [coreApiWebdavLocks2/independentLocks.feature:65](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L65) -- [coreApiWebdavLocks2/independentLocks.feature:66](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L66) -- [coreApiWebdavLocks2/independentLocks.feature:67](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L67) -- [coreApiWebdavLocks2/independentLocks.feature:68](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature#L68) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L28) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L29) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:30](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L30) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:31](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L31) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:36](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L36) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:37](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L37) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L55) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:56](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L56) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:57](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L57) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:58](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L58) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L63) -- [coreApiWebdavLocks2/independentLocksShareToShares.feature:64](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature#L64) - [coreApiWebdavLocksUnlock/unlock.feature:23](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L23) - [coreApiWebdavLocksUnlock/unlock.feature:24](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L24) - [coreApiWebdavLocksUnlock/unlock.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L29) diff --git a/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md b/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md index 3733be8bd..d87a89171 100644 --- a/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md @@ -148,6 +148,39 @@ The expected failures in this file are from features in the owncloud/ocis repo. - [apiLocks/lockFiles.feature:179](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L179) - [apiLocks/lockFiles.feature:180](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L180) - [apiLocks/lockFiles.feature:181](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L181) +- [apiLocks/lockFiles.feature:280](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L280) +- [apiLocks/lockFiles.feature:281](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L281) +- [apiLocks/lockFiles.feature:282](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L282) +- [apiLocks/lockFiles.feature:323](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L323) +- [apiLocks/lockFiles.feature:324](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L324) +- [apiLocks/lockFiles.feature:325](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L325) +- [apiLocks/lockFiles.feature:326](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L326) +- [apiLocks/lockFiles.feature:327](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L327) +- [apiLocks/lockFiles.feature:328](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L328) +- [apiLocks/lockFiles.feature:346](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L346) +- [apiLocks/lockFiles.feature:347](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L347) +- [apiLocks/lockFiles.feature:348](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L348) +- [apiLocks/lockFiles.feature:349](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L349) +- [apiLocks/lockFiles.feature:350](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L350) +- [apiLocks/lockFiles.feature:351](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L351) + +#### [Trying to upload to a locked file gives 500](https://github.com/owncloud/ocis/issues/7638) + +- [apiLocks/lockFiles.feature:299](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L299) +- [apiLocks/lockFiles.feature:300](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L300) +- [apiLocks/lockFiles.feature:301](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L301) +- [apiLocks/lockFiles.feature:302](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L302) +- [apiLocks/lockFiles.feature:303](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L303) +- [apiLocks/lockFiles.feature:304](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L304) + +#### [Folders can be locked and locking works partially](https://github.com/owncloud/ocis/issues/7641) + +- [apiLocks/lockFiles.feature:364](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L364) +- [apiLocks/lockFiles.feature:365](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L365) +- [apiLocks/lockFiles.feature:366](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L366) +- [apiLocks/lockFiles.feature:367](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L367) +- [apiLocks/lockFiles.feature:368](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L368) +- [apiLocks/lockFiles.feature:369](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L369) Note: always have an empty line at the end of this file. The bash script that processes this file requires that the last line has a newline on the end. diff --git a/tests/acceptance/features/apiLocks/lockFiles.feature b/tests/acceptance/features/apiLocks/lockFiles.feature index dc4e7094d..db2ac997e 100644 --- a/tests/acceptance/features/apiLocks/lockFiles.feature +++ b/tests/acceptance/features/apiLocks/lockFiles.feature @@ -256,3 +256,114 @@ Feature: lock files | key | value | | d:lockdiscovery/d:activelock/d:lockscope/d:exclusive | | | d:lockdiscovery/d:activelock/oc:ownername | Brian Murphy | + + @issue-7599 + Scenario Outline: two users having both a shared lock can use the resource + Given using DAV path + And user "Alice" has uploaded file with content "some data" to "textfile0.txt" + And user "Brian" has uploaded file with content "some data" to "textfile0.txt" + And user "Alice" has shared file "/textfile0.txt" with user "Brian" + And user "Alice" has locked file "textfile0.txt" setting the following properties + | lockscope | shared | + And user "Brian" has locked file "Shares/textfile0.txt" setting the following properties + | lockscope | shared | + When user "Alice" uploads file with content "from user 0" to "textfile0.txt" sending the locktoken of file "textfile0.txt" using the WebDAV API + Then the HTTP status code should be "204" + And the content of file "textfile0.txt" for user "Alice" should be "from user 0" + And the content of file "Shares/textfile0.txt" for user "Brian" should be "from user 0" + When user "Brian" uploads file with content "from user 1" to "Shares/textfile0.txt" sending the locktoken of file "Shares/textfile0.txt" using the WebDAV API + Then the HTTP status code should be "204" + And the content of file "textfile0.txt" for user "Alice" should be "from user 1" + And the content of file "Shares/textfile0.txt" for user "Brian" should be "from user 1" + Examples: + | dav-path-version | + | old | + | new | + | spaces | + + @issue-7638 + Scenario Outline: locking a file does not lock other items with the same name in other parts of the file system + Given using DAV path + And user "Alice" has created folder "locked" + And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/locked/textfile0.txt" + And user "Alice" has created folder "notlocked" + And user "Alice" has created folder "notlocked/textfile0.txt" + When user "Alice" locks file "locked/textfile0.txt" using the WebDAV API setting the following properties + | lockscope | | + Then the HTTP status code should be "200" + And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/notlocked/textfile0.txt/real-file.txt" + And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/textfile0.txt" + But user "Alice" should not be able to upload file "filesForUpload/lorem.txt" to "/locked/textfile0.txt" + Examples: + | dav-path-version | lock-scope | + | old | shared | + | old | exclusive | + | new | shared | + | new | exclusive | + | spaces | shared | + | spaces | exclusive | + + @issue-7638 @issue-7599 + Scenario Outline: locking a file in a received share does not lock other items with the same name in other received shares (shares from different users) + Given using DAV path + And user "Carol" has been created with default attributes and without skeleton files + And user "Alice" has created folder "FromAlice" + And user "Brian" has created folder "FromBrian" + And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/FromAlice/textfile0.txt" + And user "Brian" has uploaded file "filesForUpload/textfile.txt" to "/FromBrian/textfile0.txt" + And user "Alice" has shared folder "FromAlice" with user "Carol" + And user "Brian" has shared folder "FromBrian" with user "Carol" + When user "Carol" locks file "/Shares/FromBrian/textfile0.txt" using the WebDAV API setting the following properties + | lockscope | | + Then the HTTP status code should be "200" + And user "Carol" should be able to upload file "filesForUpload/lorem.txt" to "/Shares/FromAlice/textfile0.txt" + But user "Carol" should not be able to upload file "filesForUpload/lorem.txt" to "/Shares/FromBrian/textfile0.txt" + Examples: + | dav-path-version | lock-scope | + | old | shared | + | old | exclusive | + | new | shared | + | new | exclusive | + | spaces | shared | + | spaces | exclusive | + + @issue-7638 @issue-7599 + Scenario Outline: locking a file in a received share does not lock other items with the same name in other received shares (shares from same user) + Given using DAV path + And user "Alice" has created folder "locked/" + And user "Alice" has created folder "notlocked/" + And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/locked/textfile0.txt" + And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/notlocked/textfile0.txt" + And user "Alice" has shared folder "locked" with user "Brian" + And user "Alice" has shared folder "notlocked" with user "Brian" + When user "Brian" locks file "/Shares/locked/textfile0.txt" using the WebDAV API setting the following properties + | lockscope | | + Then the HTTP status code should be "200" + And user "Brian" should be able to upload file "filesForUpload/lorem.txt" to "/Shares/notlocked/textfile0.txt" + But user "Brian" should not be able to upload file "filesForUpload/lorem.txt" to "/Shares/locked/textfile0.txt" + Examples: + | dav-path-version | lock-scope | + | old | shared | + | old | exclusive | + | new | shared | + | new | exclusive | + | spaces | shared | + | spaces | exclusive | + + @issue-7641 + Scenario Outline: try to lock a folder + Given using DAV path + And user "Alice" has created folder "locked/" + When user "Alice" tries to lock folder "locked/" using the WebDAV API setting the following properties + | lockscope | | + Then the HTTP status code should be "403" + And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "locked/textfile0.txt" + And user "Alice" should be able to create folder "/locked/sub-folder" + Examples: + | dav-path-version | lock-scope | + | old | shared | + | old | exclusive | + | new | shared | + | new | exclusive | + | spaces | shared | + | spaces | exclusive | diff --git a/tests/acceptance/features/bootstrap/WebDavLockingContext.php b/tests/acceptance/features/bootstrap/WebDavLockingContext.php index febb5d3e2..c734058ea 100644 --- a/tests/acceptance/features/bootstrap/WebDavLockingContext.php +++ b/tests/acceptance/features/bootstrap/WebDavLockingContext.php @@ -144,7 +144,7 @@ class WebDavLockingContext implements Context { } /** - * @When user :user tries to lock file :file using the WebDAV API setting the following properties + * @When user :user tries to lock file/folder :file using the WebDAV API setting the following properties * * @param string $user * @param string $file diff --git a/tests/acceptance/features/coreApiWebdavLocks/requestsWithToken.feature b/tests/acceptance/features/coreApiWebdavLocks/requestsWithToken.feature deleted file mode 100644 index 6255ba12d..000000000 --- a/tests/acceptance/features/coreApiWebdavLocks/requestsWithToken.feature +++ /dev/null @@ -1,37 +0,0 @@ -@issue-1284 @skipOnReva -Feature: actions on a locked item are possible if the token is sent with the request - As a user - I want to share the lock token of a resource - So that the users or apps can access the resource that I have locked - - Background: - Given user "Alice" has been created with default attributes and without skeleton files - - - Scenario Outline: two users having both a shared lock can use the resource - Given using DAV path - And user "Brian" has been created with default attributes and without skeleton files - And user "Alice" has uploaded file with content "some data" to "textfile0.txt" - And user "Brian" has uploaded file with content "some data" to "textfile0.txt" - And user "Alice" has shared file "/textfile0.txt" with user "Brian" - And user "Alice" has locked file "textfile0.txt" setting the following properties - | lockscope | shared | - And user "Brian" has locked file "Shares/textfile0.txt" setting the following properties - | lockscope | shared | - When user "Alice" uploads file with content "from user 0" to "textfile0.txt" sending the locktoken of file "textfile0.txt" using the WebDAV API - Then the HTTP status code should be "204" - And the content of file "textfile0.txt" for user "Alice" should be "from user 0" - And the content of file "Shares/textfile0.txt" for user "Brian" should be "from user 0" - When user "Brian" uploads file with content "from user 1" to "Shares/textfile0.txt" sending the locktoken of file "Shares/textfile0.txt" using the WebDAV API - Then the HTTP status code should be "204" - And the content of file "textfile0.txt" for user "Alice" should be "from user 1" - And the content of file "Shares/textfile0.txt" for user "Brian" should be "from user 1" - Examples: - | dav-path-version | - | old | - | new | - - @skipOnRevaMaster - Examples: - | dav-path-version | - | spaces | diff --git a/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature b/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature deleted file mode 100644 index 81465caf0..000000000 --- a/tests/acceptance/features/coreApiWebdavLocks2/independentLocks.feature +++ /dev/null @@ -1,68 +0,0 @@ -@issue-1284 -Feature: independent locks - make sure all locks are independent and don't interact with other items that have the same name - As a user - I want to lock resources independently - So that resources with same name in other parts of the file system will not be locked - - Background: - Given user "Alice" has been created with default attributes and without skeleton files - - - Scenario Outline: locking a file does not lock other items with the same name in other parts of the file system - Given using DAV path - And user "Alice" has created folder "locked" - And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/locked/textfile0.txt" - And user "Alice" has created folder "notlocked" - And user "Alice" has created folder "notlocked/textfile0.txt" - When user "Alice" locks file "locked/textfile0.txt" using the WebDAV API setting the following properties - | lockscope | | - Then the HTTP status code should be "200" - And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/notlocked/textfile0.txt/real-file.txt" - And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/textfile0.txt" - But user "Alice" should not be able to upload file "filesForUpload/lorem.txt" to "/locked/textfile0.txt" - Examples: - | dav-path-version | lock-scope | - | old | shared | - | old | exclusive | - | new | shared | - | new | exclusive | - - @skipOnRevaMaster - Examples: - | dav-path-version | lock-scope | - | spaces | shared | - | spaces | exclusive | - - - Scenario Outline: locking a file/folder with git specific names does not lock other items with the same name in other parts of the file system - Given using DAV path - And user "Alice" has created folder "locked/" - And user "Alice" has created folder "locked/.git" - And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/locked/.git/config" - And user "Alice" has created folder "notlocked/" - And user "Alice" has created folder "notlocked/" - And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "notlocked/.git/config" - When user "Alice" locks file "locked/" using the WebDAV API setting the following properties - | lockscope | | - Then the HTTP status code should be "200" - And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/notlocked/.git/file.txt" - And user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/notlocked/.git/config" - But user "Alice" should not be able to upload file "filesForUpload/lorem.txt" to "/locked/.git/config" - Examples: - | dav-path-version | lock-scope | to-lock | - | old | shared | .git | - | old | shared | .git/config | - | old | exclusive | .git | - | old | exclusive | .git/config | - | new | shared | .git | - | new | shared | .git/config | - | new | exclusive | .git | - | new | exclusive | .git/config | - - @skipOnRevaMaster - Examples: - | dav-path-version | lock-scope | to-lock | - | spaces | shared | .git | - | spaces | shared | .git/config | - | spaces | exclusive | .git | - | spaces | exclusive | .git/config | diff --git a/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature b/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature deleted file mode 100644 index dd39dc29b..000000000 --- a/tests/acceptance/features/coreApiWebdavLocks2/independentLocksShareToShares.feature +++ /dev/null @@ -1,64 +0,0 @@ -@issue-1284 @skipOnReva -Feature: independent locks - make sure all locks are independent and don't interact with other items that have the same name - As a user - I want to independently lock resources shared with me - So that resources with same name in other received shares will not be locked - - Background: - Given user "Alice" has been created with default attributes and without skeleton files - And user "Brian" has been created with default attributes and without skeleton files - - - Scenario Outline: locking a file in a received share does not lock other items with the same name in other received shares (shares from different users) - Given using DAV path - And user "Carol" has been created with default attributes and without skeleton files - And user "Alice" has created folder "FromAlice" - And user "Brian" has created folder "FromBrian" - And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/FromAlice/textfile0.txt" - And user "Brian" has uploaded file "filesForUpload/textfile.txt" to "/FromBrian/textfile0.txt" - And user "Alice" has shared folder "FromAlice" with user "Carol" - And user "Brian" has shared folder "FromBrian" with user "Carol" - When user "Carol" locks file "/Shares/FromBrian/textfile0.txt" using the WebDAV API setting the following properties - | lockscope | | - Then the HTTP status code should be "200" - And user "Carol" should be able to upload file "filesForUpload/lorem.txt" to "/Shares/FromAlice/textfile0.txt" - But user "Carol" should not be able to upload file "filesForUpload/lorem.txt" to "/Shares/FromBrian/textfile0.txt" - Examples: - | dav-path-version | lock-scope | - | old | shared | - | old | exclusive | - | new | shared | - | new | exclusive | - - @skipOnRevaMaster - Examples: - | dav-path-version | lock-scope | - | spaces | shared | - | spaces | exclusive | - - - Scenario Outline: locking a file in a received share does not lock other items with the same name in other received shares (shares from same user) - Given using DAV path - And user "Alice" has created folder "locked/" - And user "Alice" has created folder "notlocked/" - And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/locked/textfile0.txt" - And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/notlocked/textfile0.txt" - And user "Alice" has shared folder "locked" with user "Brian" - And user "Alice" has shared folder "notlocked" with user "Brian" - When user "Brian" locks file "/Shares/locked/textfile0.txt" using the WebDAV API setting the following properties - | lockscope | | - Then the HTTP status code should be "200" - And user "Brian" should be able to upload file "filesForUpload/lorem.txt" to "/Shares/notlocked/textfile0.txt" - But user "Brian" should not be able to upload file "filesForUpload/lorem.txt" to "/Shares/locked/textfile0.txt" - Examples: - | dav-path-version | lock-scope | - | old | shared | - | old | exclusive | - | new | shared | - | new | exclusive | - - @skipOnRevaMaster - Examples: - | dav-path-version | lock-scope | - | spaces | shared | - | spaces | exclusive |