mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-02-28 09:29:41 -06:00
[tests-only][full-ci]Move unlock related tests from core to local api tests (#7747)
* Move unlock related tests from core to local api tests * refactor tests Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com> * test:add failing test to expected to failure Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com> --------- Signed-off-by: Swikriti Tripathi <swikriti808@gmail.com>
This commit is contained in:
committed by
GitHub
parent
42cdd2c863
commit
74dc3663a5
@@ -60,17 +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)
|
||||
- [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)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L43)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L44)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:66](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L66)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:67](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L67)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:68](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L68)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:69](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L69)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:74](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L74)
|
||||
- [coreApiWebdavLocksUnlock/unlock.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlock.feature#L75)
|
||||
- [coreApiWebdavLocksUnlock/unlockSharingToShares.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlockSharingToShares.feature#L27)
|
||||
- [coreApiWebdavLocksUnlock/unlockSharingToShares.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlockSharingToShares.feature#L28)
|
||||
- [coreApiWebdavLocksUnlock/unlockSharingToShares.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavLocksUnlock/unlockSharingToShares.feature#L29)
|
||||
|
||||
@@ -163,6 +163,9 @@ The expected failures in this file are from features in the owncloud/ocis repo.
|
||||
- [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)
|
||||
- [apiLocks/unlockFiles.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L60)
|
||||
- [apiLocks/unlockFiles.feature:61](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L61)
|
||||
- [apiLocks/unlockFiles.feature:62](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L62)
|
||||
|
||||
#### [Trying to upload to a locked file gives 500](https://github.com/owncloud/ocis/issues/7638)
|
||||
|
||||
@@ -172,6 +175,12 @@ The expected failures in this file are from features in the owncloud/ocis repo.
|
||||
- [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)
|
||||
- [apiLocks/unlockFiles.feature:85](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L85)
|
||||
- [apiLocks/unlockFiles.feature:86](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L86)
|
||||
- [apiLocks/unlockFiles.feature:87](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L87)
|
||||
- [apiLocks/unlockFiles.feature:88](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L88)
|
||||
- [apiLocks/unlockFiles.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L89)
|
||||
- [apiLocks/unlockFiles.feature:90](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L90)
|
||||
|
||||
#### [Folders can be locked and locking works partially](https://github.com/owncloud/ocis/issues/7641)
|
||||
|
||||
@@ -182,5 +191,13 @@ The expected failures in this file are from features in the owncloud/ocis repo.
|
||||
- [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.
|
||||
### [Anonymous users can unlock a file shared to them through a public link if they get the lock token](https://github.com/owncloud/ocis/issues/7761)
|
||||
- [apiLocks/unlockFiles.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L40)
|
||||
- [apiLocks/unlockFiles.feature:41](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L41)
|
||||
- [apiLocks/unlockFiles.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L42)
|
||||
- [apiLocks/unlockFiles.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L43)
|
||||
- [apiLocks/unlockFiles.feature:44](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L44)
|
||||
- [apiLocks/unlockFiles.feature:45](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L45)
|
||||
|
||||
- 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.
|
||||
|
||||
@@ -6,6 +6,89 @@ Feature: unlock locked items
|
||||
Background:
|
||||
Given user "Alice" has been created with default attributes and without skeleton files
|
||||
|
||||
|
||||
Scenario Outline: unlock file locked by the user
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt"
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | exclusive |
|
||||
When user "Alice" unlocks the last created lock of file "textfile0.txt" using the WebDAV API
|
||||
Then the HTTP status code should be "204"
|
||||
And 0 locks should be reported for file "textfile0.txt" of user "Alice" by the WebDAV API
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@issue-7761
|
||||
Scenario Outline: public tries to unlock a file in a share that was locked by the file owner
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has created folder "PARENT"
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "PARENT/parent.txt"
|
||||
And user "Alice" has created a public link share with settings
|
||||
| path | PARENT |
|
||||
| permissions | change |
|
||||
| password | %public% |
|
||||
And user "Alice" has locked file "PARENT/parent.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
When the public unlocks file "/parent.txt" with the last created lock of file "PARENT/parent.txt" of user "Alice" using the WebDAV API
|
||||
Then the HTTP status code should be "403"
|
||||
And 1 locks should be reported for file "PARENT/parent.txt" of user "Alice" by the WebDAV API
|
||||
Examples:
|
||||
| dav-path-version | lock-scope |
|
||||
| old | shared |
|
||||
| old | exclusive |
|
||||
| new | exclusive |
|
||||
| new | shared |
|
||||
| spaces | shared |
|
||||
| spaces | exclusive |
|
||||
|
||||
@issue-7599
|
||||
Scenario Outline: unlock one of multiple locks set by the user itself
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt"
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | shared |
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | shared |
|
||||
When user "Alice" unlocks the last created lock of file "textfile0.txt" using the WebDAV API
|
||||
Then the HTTP status code should be "204"
|
||||
And 1 locks should be reported for file "textfile0.txt" of user "Alice" by the WebDAV API
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
| spaces |
|
||||
|
||||
@issue-7638
|
||||
Scenario Outline: unlocking a file with the same name as another file in another part of the file system
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt"
|
||||
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 uploaded file "filesForUpload/textfile.txt" to "/notlocked/textfile0.txt"
|
||||
And user "Alice" has locked file "locked/textfile0.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
And user "Alice" has locked file "notlocked/textfile0.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
When user "Alice" unlocks the last created lock of file "notlocked/textfile0.txt" using the WebDAV API
|
||||
And user "Alice" unlocks the last created lock of file "textfile0.txt" using the WebDAV API
|
||||
Then user "Alice" should be able to upload file "filesForUpload/lorem.txt" to "/notlocked/textfile0.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-7696
|
||||
Scenario Outline: unlock a locked file in project space
|
||||
Given using spaces DAV path
|
||||
|
||||
@@ -531,8 +531,8 @@ class WebDavLockingContext implements Context {
|
||||
$user = $this->featureContext->getActualUsername($user);
|
||||
$lockOwner = $this->featureContext->getActualUsername($lockOwner);
|
||||
if ($public === true) {
|
||||
$type = "public-files";
|
||||
$password = null;
|
||||
$type = "public-files-new";
|
||||
$password = $this->featureContext->getActualPassword("%public%");
|
||||
} else {
|
||||
$type = "files";
|
||||
$password = $this->featureContext->getPasswordForUser($user);
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
@issue-1284
|
||||
Feature: Unlock locked items
|
||||
As a user
|
||||
I want to unlock the resources previously locked by myself
|
||||
So that other users can make changes to the resources
|
||||
|
||||
Background:
|
||||
Given user "Alice" has been created with default attributes and without skeleton files
|
||||
|
||||
|
||||
Scenario Outline: unlock one of multiple locks set by the user itself
|
||||
Given using <dav-path-version> DAV path
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt"
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | shared |
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | shared |
|
||||
When user "Alice" unlocks the last created lock of file "textfile0.txt" using the WebDAV API
|
||||
Then the HTTP status code should be "204"
|
||||
And 1 locks should be reported for file "textfile0.txt" of user "Alice" by the WebDAV API
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| old |
|
||||
| new |
|
||||
|
||||
@skipOnRevaMaster
|
||||
Examples:
|
||||
| dav-path-version |
|
||||
| spaces |
|
||||
|
||||
|
||||
Scenario Outline: public unlocking a file in a share that was locked by the file owner is not possible. To unlock use the owners locktoken
|
||||
Given user "Alice" has created folder "PARENT"
|
||||
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "PARENT/parent.txt"
|
||||
And user "Alice" has created a public link share of folder "PARENT" with change permission
|
||||
And user "Alice" has locked file "PARENT/parent.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
When the public unlocks file "/parent.txt" with the last created lock of file "PARENT/parent.txt" of user "Alice" using the WebDAV API
|
||||
Then the HTTP status code should be "403"
|
||||
And 1 locks should be reported for file "PARENT/parent.txt" of user "Alice" by the WebDAV API
|
||||
Examples:
|
||||
| lock-scope |
|
||||
| shared |
|
||||
| exclusive |
|
||||
|
||||
|
||||
Scenario Outline: unlocking a file or folder does not unlock another file with the same name in another part of the file system
|
||||
Given using <dav-path-version> 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"
|
||||
And user "Alice" has locked file "locked/textfile0.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
And user "Alice" has locked file "notlocked/textfile0.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
And user "Alice" has locked file "textfile0.txt" setting the following properties
|
||||
| lockscope | <lock-scope> |
|
||||
When user "Alice" unlocks the last created lock of file "notlocked/textfile0.txt" using the WebDAV API
|
||||
And user "Alice" unlocks the last created lock of file "textfile0.txt" using the WebDAV API
|
||||
Then 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 |
|
||||
Reference in New Issue
Block a user