From 2c115e241884d8bfbf08511cf88fd15d0399d3d1 Mon Sep 17 00:00:00 2001 From: Sabin Panta <64484313+S-Panta@users.noreply.github.com> Date: Thu, 9 May 2024 14:07:33 +0545 Subject: [PATCH] changing given step of creating share in feature file (#9055) --- ...ected-failures-localAPI-on-OCIS-storage.md | 100 +++++----- .../features/apiLocks/lockFiles.feature | 172 ++++++++++++------ .../bootstrap/WebDavLockingContext.php | 6 +- 3 files changed, 166 insertions(+), 112 deletions(-) diff --git a/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md b/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md index 4d957e23d..75c5a3b32 100644 --- a/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-localAPI-on-OCIS-storage.md @@ -115,24 +115,24 @@ The expected failures in this file are from features in the owncloud/ocis repo. ### [Shared file locking is not possible using different path](https://github.com/owncloud/ocis/issues/7599) -- [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) +- [apiLocks/lockFiles.feature:187](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L187) +- [apiLocks/lockFiles.feature:188](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L188) +- [apiLocks/lockFiles.feature:189](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L189) +- [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:354](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L354) +- [apiLocks/lockFiles.feature:355](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L355) +- [apiLocks/lockFiles.feature:356](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L356) +- [apiLocks/lockFiles.feature:357](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L357) +- [apiLocks/lockFiles.feature:358](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L358) +- [apiLocks/lockFiles.feature:359](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L359) +- [apiLocks/lockFiles.feature:387](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L387) +- [apiLocks/lockFiles.feature:388](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L388) +- [apiLocks/lockFiles.feature:389](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L389) +- [apiLocks/lockFiles.feature:390](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L390) +- [apiLocks/lockFiles.feature:391](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L391) +- [apiLocks/lockFiles.feature:392](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L392) - [apiLocks/unlockFiles.feature:62](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L62) - [apiLocks/unlockFiles.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L63) - [apiLocks/unlockFiles.feature:64](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L64) @@ -157,39 +157,39 @@ The expected failures in this file are from features in the owncloud/ocis repo. #### [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) +- [apiLocks/lockFiles.feature:320](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L320) +- [apiLocks/lockFiles.feature:321](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L321) +- [apiLocks/lockFiles.feature:322](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L322) +- [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/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) - [apiLocks/unlockFiles.feature:91](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L91) - [apiLocks/unlockFiles.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/unlockFiles.feature#L92) -- [apiLocks/lockFiles.feature:388](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L388) -- [apiLocks/lockFiles.feature:389](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L389) -- [apiLocks/lockFiles.feature:390](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L390) -- [apiLocks/lockFiles.feature:391](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L391) -- [apiLocks/lockFiles.feature:392](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L392) -- [apiLocks/lockFiles.feature:393](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L393) -- [apiLocks/lockFiles.feature:429](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L429) -- [apiLocks/lockFiles.feature:430](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L430) - [apiLocks/lockFiles.feature:431](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L431) - [apiLocks/lockFiles.feature:432](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L432) - [apiLocks/lockFiles.feature:433](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L433) - [apiLocks/lockFiles.feature:434](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L434) +- [apiLocks/lockFiles.feature:435](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L435) +- [apiLocks/lockFiles.feature:436](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L436) +- [apiLocks/lockFiles.feature:475](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L475) +- [apiLocks/lockFiles.feature:476](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L476) +- [apiLocks/lockFiles.feature:477](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L477) +- [apiLocks/lockFiles.feature:478](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L478) +- [apiLocks/lockFiles.feature:479](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L479) +- [apiLocks/lockFiles.feature:480](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L480) #### [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) +- [apiLocks/lockFiles.feature:405](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L405) +- [apiLocks/lockFiles.feature:406](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L406) +- [apiLocks/lockFiles.feature:407](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L407) +- [apiLocks/lockFiles.feature:408](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L408) +- [apiLocks/lockFiles.feature:409](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L409) +- [apiLocks/lockFiles.feature:410](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L410) ### [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) @@ -217,18 +217,18 @@ The expected failures in this file are from features in the owncloud/ocis repo. ### [Anonymous user trying lock a file shared to them through a public link gives 405](https://github.com/owncloud/ocis/issues/7790) -- [apiLocks/lockFiles.feature:474](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L474) -- [apiLocks/lockFiles.feature:475](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L475) -- [apiLocks/lockFiles.feature:476](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L476) -- [apiLocks/lockFiles.feature:477](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L477) -- [apiLocks/lockFiles.feature:478](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L478) -- [apiLocks/lockFiles.feature:479](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L479) -- [apiLocks/lockFiles.feature:496](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L496) -- [apiLocks/lockFiles.feature:497](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L497) -- [apiLocks/lockFiles.feature:498](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L498) -- [apiLocks/lockFiles.feature:499](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L499) -- [apiLocks/lockFiles.feature:500](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L500) -- [apiLocks/lockFiles.feature:501](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L501) +- [apiLocks/lockFiles.feature:524](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L524) +- [apiLocks/lockFiles.feature:525](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L525) +- [apiLocks/lockFiles.feature:526](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L526) +- [apiLocks/lockFiles.feature:527](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L527) +- [apiLocks/lockFiles.feature:528](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L528) +- [apiLocks/lockFiles.feature:529](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L529) +- [apiLocks/lockFiles.feature:548](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L548) +- [apiLocks/lockFiles.feature:549](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L549) +- [apiLocks/lockFiles.feature:550](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L550) +- [apiLocks/lockFiles.feature:551](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L551) +- [apiLocks/lockFiles.feature:552](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L552) +- [apiLocks/lockFiles.feature:553](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiLocks/lockFiles.feature#L553) ### [blocksDownload link type is not implemented yet (sharing-ng)](https://github.com/owncloud/ocis/issues/7879) diff --git a/tests/acceptance/features/apiLocks/lockFiles.feature b/tests/acceptance/features/apiLocks/lockFiles.feature index ebb776fd0..7e01e9488 100644 --- a/tests/acceptance/features/apiLocks/lockFiles.feature +++ b/tests/acceptance/features/apiLocks/lockFiles.feature @@ -93,9 +93,11 @@ Feature: lock files And using spaces DAV path And user "Alice" has created a space "Project" with the default quota using the Graph API And user "Alice" has uploaded a file inside space "Project" with content "some content" to "textfile.txt" - And user "Alice" has shared a space "Project" with settings: - | shareWith | Brian | - | role | | + And user "Alice" has sent the following space share invitation: + | space | Project | + | sharee | Brian | + | shareType | user | + | permissionsRole | | When user "Brian" locks file "textfile.txt" inside the space "Project" using the WebDAV API setting the following properties | lockscope | exclusive | | timeout | Second-3600 | @@ -109,9 +111,9 @@ Feature: lock files | d:lockdiscovery/d:activelock/d:timeout | Second-3600 | | d:lockdiscovery/d:activelock/oc:ownername | Brian Murphy | Examples: - | space-role | - | manager | - | editor | + | space-role | + | Manager | + | Space Editor | Scenario Outline: lock a file in the project space using file-id @@ -120,9 +122,11 @@ Feature: lock files And user "Alice" has created a space "Project" with the default quota using the Graph API And user "Alice" has uploaded a file inside space "Project" with content "some content" to "textfile.txt" And we save it into "FILEID" - And user "Alice" has shared a space "Project" with settings: - | shareWith | Brian | - | role | | + And user "Alice" has sent the following space share invitation: + | space | Project | + | sharee | Brian | + | shareType | user | + | permissionsRole | | When user "Brian" locks file "textfile.txt" using file-id path "" using the WebDAV API setting the following properties | lockscope | exclusive | | timeout | Second-3600 | @@ -136,9 +140,9 @@ Feature: lock files | d:lockdiscovery/d:activelock/d:timeout | Second-3600 | | d:lockdiscovery/d:activelock/oc:ownername | Brian Murphy | Examples: - | space-role | dav-path | - | manager | /remote.php/dav/spaces/<> | - | editor | /dav/spaces/<> | + | space-role | dav-path | + | Manager | /remote.php/dav/spaces/<> | + | Space Editor | /dav/spaces/<> | Scenario: viewer cannot lock a file in the project space @@ -147,9 +151,11 @@ Feature: lock files And user "Alice" has created a space "Project" with the default quota using the Graph API And user "Alice" has uploaded a file inside space "Project" with content "some content" to "textfile.txt" And we save it into "FILEID" - And user "Alice" has shared a space "Project" with settings: - | shareWith | Brian | - | role | viewer | + And user "Alice" has sent the following space share invitation: + | space | Project | + | sharee | Brian | + | shareType | user | + | permissionsRole | Space Viewer | When user "Brian" tries to lock file "textfile.txt" using file-id path "/dav/spaces/<>" using the WebDAV API setting the following properties | lockscope | exclusive | Then the HTTP status code should be "403" @@ -161,10 +167,12 @@ Feature: lock files Scenario Outline: lock a file in the shares Given using DAV path And user "Alice" has uploaded a file inside space "Alice Hansen" with content "some content" to "textfile.txt" - And user "Alice" has created a share inside of space "Alice Hansen" with settings: - | path | textfile.txt | - | shareWith | Brian | - | role | editor | + And user "Alice" has sent the following resource share invitation: + | resource | textfile.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | File Editor | When user "Brian" locks file "/Shares/textfile.txt" using the WebDAV API setting the following properties | lockscope | exclusive | Then the HTTP status code should be "200" @@ -184,10 +192,12 @@ Feature: lock files Scenario Outline: lock a file in the shares using file-id Given user "Alice" has uploaded a file inside space "Alice Hansen" with content "some content" to "textfile.txt" And we save it into "FILEID" - And user "Alice" has created a share inside of space "Alice Hansen" with settings: - | path | textfile.txt | - | shareWith | Brian | - | role | editor | + And user "Alice" has sent the following resource share invitation: + | resource | textfile.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | File Editor | When user "Brian" locks file "textfile.txt" using file-id path "" using the WebDAV API setting the following properties | lockscope | exclusive | | timeout | Second-3600 | @@ -207,10 +217,12 @@ Feature: lock files Scenario: viewer cannot lock a file in the shares using file-id Given user "Alice" has uploaded a file inside space "Alice Hansen" with content "some content" to "textfile.txt" And we save it into "FILEID" - And user "Alice" has created a share inside of space "Alice Hansen" with settings: - | path | textfile.txt | - | shareWith | Brian | - | role | viewer | + And user "Alice" has sent the following resource share invitation: + | resource | textfile.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | Viewer | When user "Brian" tries to lock file "textfile.txt" using file-id path "/dav/spaces/<>" using the WebDAV API setting the following properties | lockscope | exclusive | Then the HTTP status code should be "403" @@ -219,10 +231,12 @@ Feature: lock files Scenario: sharee cannot lock a resource exclusively locked by a sharer Given user "Alice" has uploaded a file inside space "Alice Hansen" with content "some content" to "textfile.txt" And we save it into "FILEID" - And user "Alice" has created a share inside of space "Alice Hansen" with settings: - | path | textfile.txt | - | shareWith | Brian | - | role | editor | + And user "Alice" has sent the following resource share invitation: + | resource | textfile.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | File Editor | And user "Alice" has locked file "textfile.txt" setting the following properties | lockscope | exclusive | When user "Brian" tries to lock file "textfile.txt" using file-id path "/dav/spaces/<>" using the WebDAV API setting the following properties @@ -240,10 +254,12 @@ Feature: lock files Scenario: sharer cannot lock a resource exclusively locked by a sharee Given user "Alice" has uploaded a file inside space "Alice Hansen" with content "some content" to "textfile.txt" And we save it into "FILEID" - And user "Alice" has created a share inside of space "Alice Hansen" with settings: - | path | textfile.txt | - | shareWith | Brian | - | role | editor | + And user "Alice" has sent the following resource share invitation: + | resource | textfile.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | File Editor | And user "Brian" has locked file "textfile.txt" using file-id path "/dav/spaces/<>" setting the following properties | lockscope | exclusive | When user "Alice" tries to lock file "textfile.txt" using file-id path "/dav/spaces/<>" using the WebDAV API setting the following properties @@ -262,7 +278,12 @@ Feature: lock files 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 sent the following resource share invitation: + | resource | textfile0.txt | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | File Editor | 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 @@ -311,8 +332,18 @@ Feature: lock files 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" + And user "Alice" has sent the following resource share invitation: + | resource | FromAlice | + | space | Personal | + | sharee | Carol | + | shareType | user | + | permissionsRole | Editor | + And user "Brian" has sent the following resource share invitation: + | resource | FromBrian | + | space | Personal | + | sharee | Carol | + | shareType | user | + | permissionsRole | Editor | 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" @@ -334,8 +365,18 @@ Feature: lock files 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" + And user "Alice" has sent the following resource share invitation: + | resource | locked | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | Editor | + And user "Alice" has sent the following resource share invitation: + | resource | notlocked | + | space | Personal | + | sharee | Brian | + | shareType | user | + | permissionsRole | Editor | 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" @@ -371,12 +412,14 @@ Feature: lock files @issue-7641 Scenario Outline: try to lock a folder as anonymous user Given using DAV path + And using SharingNG And user "Alice" has created folder "PARENT" And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "PARENT/textfile0.txt" - And user "Alice" has created a public link share with settings - | path | PARENT | - | permissions | change | - | password | %public% | + And user "Alice" has created the following resource link share: + | resource | PARENT | + | space | Personal | + | permissionsRole | edit | + | password | %public% | When the public locks the last public link shared file using the WebDAV API setting the following properties | lockscope | | Then the HTTP status code should be "403" @@ -392,6 +435,7 @@ Feature: lock files | spaces | shared | | spaces | exclusive | + Scenario Outline: lock expiration Given using DAV path And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt" @@ -413,12 +457,14 @@ Feature: lock files Scenario Outline: lock a file inside a folder shared by a link as anonymous user with edit permission Given using DAV path + And using SharingNG And user "Alice" has created folder "PARENT" And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "PARENT/textfile0.txt" - And user "Alice" has created a public link share with settings - | path | PARENT | - | permissions | change | - | password | %public% | + And user "Alice" has created the following resource link share: + | resource | PARENT | + | space | Personal | + | permissionsRole | edit | + | password | %public% | When the public locks "textfile0.txt" in the last public link shared folder using the new public WebDAV API setting the following properties | lockscope | | Then the HTTP status code should be "200" @@ -436,12 +482,14 @@ Feature: lock files Scenario Outline: try to lock a file inside a folder shared by a link as anonymous user with read permission Given using DAV path + And using SharingNG And user "Alice" has created folder "PARENT" And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "PARENT/textfile0.txt" - And user "Alice" has created a public link share with settings - | path | PARENT | - | permissions | read | - | password | %public% | + And user "Alice" has created the following resource link share: + | resource | PARENT | + | space | Personal | + | permissionsRole | view | + | password | %public% | When the public tries to lock "textfile0.txt" in the last public link shared folder using the new public WebDAV API setting the following properties | lockscope | | Then the HTTP status code should be "403" @@ -459,11 +507,13 @@ Feature: lock files Scenario Outline: lock a file shared by a link as anonymous user with edit permission Given using DAV path + And using SharingNG And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt" - And user "Alice" has created a public link share with settings - | path | textfile0.txt | - | permissions | change | - | password | %public% | + And user "Alice" has created the following resource link share: + | resource | textfile0.txt | + | space | Personal | + | permissionsRole | edit | + | password | %public% | When the public locks the last public link shared file using the WebDAV API setting the following properties | lockscope | | Then the HTTP status code should be "200" @@ -481,11 +531,13 @@ Feature: lock files Scenario Outline: try to lock a file shared by a link as anonymous user with read permission Given using DAV path + And using SharingNG And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt" - And user "Alice" has created a public link share with settings - | path | textfile0.txt | - | permissions | read | - | password | %public% | + And user "Alice" has created the following resource link share: + | resource | textfile0.txt | + | space | Personal | + | permissionsRole | view | + | password | %public% | When the public tries to lock the last public link shared file using the WebDAV API setting the following properties | lockscope | | Then the HTTP status code should be "403" diff --git a/tests/acceptance/features/bootstrap/WebDavLockingContext.php b/tests/acceptance/features/bootstrap/WebDavLockingContext.php index ea3363f52..c6b185946 100644 --- a/tests/acceptance/features/bootstrap/WebDavLockingContext.php +++ b/tests/acceptance/features/bootstrap/WebDavLockingContext.php @@ -328,8 +328,9 @@ class WebDavLockingContext implements Context { * @return void */ public function publicLocksLastSharedFile(TableNode $properties) { + $token = ($this->featureContext->isUsingSharingNG()) ? $this->featureContext->shareNgGetLastCreatedLinkShareToken() : $this->featureContext->getLastCreatedPublicShareToken(); $response = $this->lockFile( - $this->featureContext->getLastCreatedPublicShareToken(), + $token, "/", $properties, null, @@ -377,8 +378,9 @@ class WebDavLockingContext implements Context { string $publicWebDAVAPIVersion, TableNode $properties ) { + $token = ($this->featureContext->isUsingSharingNG()) ? $this->featureContext->shareNgGetLastCreatedLinkShareToken() : $this->featureContext->getLastCreatedPublicShareToken(); $response = $this->lockFile( - $this->featureContext->getLastCreatedPublicShareToken(), + $token, $file, $properties, null,