From 22773e9b68d352397593ff571b0d364656abb7ab Mon Sep 17 00:00:00 2001 From: Michael Barz Date: Mon, 29 Jul 2024 16:36:05 +0000 Subject: [PATCH] Automated changelog update [skip ci] --- CHANGELOG.md | 20 +- .../createLinkShare.feature | 382 ++++++++++++++++++ 2 files changed, 400 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 420ff709ed1..530f1480412 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,7 +69,7 @@ The following sections list the changes for unreleased. * Enhancement - Fix trash command: [#9665](https://github.com/owncloud/ocis/pull/9665) * Enhancement - Added the debugging to full ocis docker example: [#9666](https://github.com/owncloud/ocis/pull/9666) * Enhancement - Add locking support for MS Office Online Server: [#9685](https://github.com/owncloud/ocis/pull/9685) -* Enhancement - Bump reva: [#9690](https://github.com/owncloud/ocis/pull/9690) +* Enhancement - Bump reva to v.2.22.0: [#9690](https://github.com/owncloud/ocis/pull/9690) * Enhancement - Add `--diff` to the `ocis init` command: [#9693](https://github.com/owncloud/ocis/pull/9693) * Enhancement - Update web to v10.0.0: [#9707](https://github.com/owncloud/ocis/pull/9707) @@ -237,7 +237,23 @@ The following sections list the changes for unreleased. https://github.com/owncloud/ocis/pull/9685 -* Enhancement - Bump reva: [#9690](https://github.com/owncloud/ocis/pull/9690) +* Enhancement - Bump reva to v.2.22.0: [#9690](https://github.com/owncloud/ocis/pull/9690) + + * Bugfix [cs3org/reva#4741](https://github.com/cs3org/reva/pull/4741): Always find unique providers + * Bugfix [cs3org/reva#4762](https://github.com/cs3org/reva/pull/4762): Blanks in dav Content-Disposition header + * Bugfix [cs3org/reva#4775](https://github.com/cs3org/reva/pull/4775): Fixed the response code when copying the shared from to personal + * Bugfix [cs3org/reva#4633](https://github.com/cs3org/reva/pull/4633): Allow all users to create internal links + * Bugfix [cs3org/reva#4771](https://github.com/cs3org/reva/pull/4771): Deleting resources via their id + * Bugfix [cs3org/reva#4768](https://github.com/cs3org/reva/pull/4768): Fixed the file name validation if nodeid is used + * Bugfix [cs3org/reva#4758](https://github.com/cs3org/reva/pull/4758): Fix moving locked files, enable handling locked files via ocdav + * Bugfix [cs3org/reva#4774](https://github.com/cs3org/reva/pull/4774): Fix micro ocdav service init and registration + * Bugfix [cs3org/reva#4776](https://github.com/cs3org/reva/pull/4776): Fix response code for DEL file that in postprocessing + * Bugfix [cs3org/reva#4746](https://github.com/cs3org/reva/pull/4746): Uploading the same file multiple times leads to orphaned blobs + * Bugfix [cs3org/reva#4778](https://github.com/cs3org/reva/pull/4778): Zero byte uploads + * Change [cs3org/reva#4759](https://github.com/cs3org/reva/pull/4759): Updated to the latest version of the go-cs3apis + * Change [cs3org/reva#4773](https://github.com/cs3org/reva/pull/4773): Ocis bumped + * Enhancement [cs3org/reva#4766](https://github.com/cs3org/reva/pull/4766): Set archiver output format via query parameter + * Enhancement [cs3org/reva#4763](https://github.com/cs3org/reva/pull/4763): Improve posixfs storage driver https://github.com/owncloud/ocis/pull/9690 https://github.com/owncloud/ocis/pull/9662 diff --git a/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature b/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature index 9e24619e7ce..85f533817d7 100644 --- a/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature +++ b/tests/acceptance/features/apiSharingNgLinkSharePermission/createLinkShare.feature @@ -2382,3 +2382,385 @@ Feature: Create a link share for a resource } } """ + + @issue-8960 + Scenario Outline: create an internal link share by a member of a project space drive using root endpoint + Given using spaces DAV path + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "projectSpace" with the default quota using the Graph API + And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt" + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has sent the following space share invitation: + | space | projectSpace | + | sharee | Brian | + | shareType | user | + | permissionsRole | | + When user "Brian" creates the following space link share using root endpoint of the Graph API: + | space | projectSpace | + | permissionsRole | internal | + Then the HTTP status code should be "200" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "hasPassword", + "id", + "link" + ], + "properties": { + "hasPassword": { + "const": false + }, + "id": { + "pattern": "^[a-zA-Z]{15}$" + }, + "link": { + "type": "object", + "required": [ + "@libre.graph.displayName", + "@libre.graph.quickLink", + "preventsDownload", + "type", + "webUrl" + ], + "properties": { + "@libre.graph.displayName": { + "const": "" + }, + "@libre.graph.quickLink": { + "const": false + }, + "preventsDownload": { + "const": false + }, + "type": { + "const": "internal" + }, + "webUrl": { + "type": "string", + "pattern": "^%base_url%/s/[a-zA-Z]{15}$" + } + } + } + } + } + """ + Examples: + | permissions-role | + | Space Viewer | + | Space Editor | + | Manager | + + @issue-8960 + Scenario Outline: create an internal link share by a member of a project space drive using permissions endpoint + Given using spaces DAV path + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "projectSpace" with the default quota using the Graph API + And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt" + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has sent the following space share invitation: + | space | projectSpace | + | sharee | Brian | + | shareType | user | + | permissionsRole | | + When user "Brian" creates the following space link share using permissions endpoint of the Graph API: + | space | projectSpace | + | permissionsRole | internal | + Then the HTTP status code should be "200" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "hasPassword", + "id", + "link" + ], + "properties": { + "hasPassword": { + "const": false + }, + "id": { + "pattern": "^[a-zA-Z]{15}$" + }, + "link": { + "type": "object", + "required": [ + "@libre.graph.displayName", + "@libre.graph.quickLink", + "preventsDownload", + "type", + "webUrl" + ], + "properties": { + "@libre.graph.displayName": { + "const": "" + }, + "@libre.graph.quickLink": { + "const": false + }, + "preventsDownload": { + "const": false + }, + "type": { + "const": "internal" + }, + "webUrl": { + "type": "string", + "pattern": "^%base_url%/s/[a-zA-Z]{15}$" + } + } + } + } + } + """ + Examples: + | permissions-role | + | Space Viewer | + | Space Editor | + | Manager | + + @issue-8960 + Scenario Outline: create an internal quick link share by a member of a project space drive using root endpoint + Given using spaces DAV path + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "projectSpace" with the default quota using the Graph API + And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt" + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has sent the following space share invitation: + | space | projectSpace | + | sharee | Brian | + | shareType | user | + | permissionsRole | | + | quickLink | true | + When user "Brian" creates the following space link share using root endpoint of the Graph API: + | space | projectSpace | + | permissionsRole | internal | + | quickLink | true | + Then the HTTP status code should be "200" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "hasPassword", + "id", + "link" + ], + "properties": { + "hasPassword": { + "const": false + }, + "id": { + "pattern": "^[a-zA-Z]{15}$" + }, + "link": { + "type": "object", + "required": [ + "@libre.graph.displayName", + "@libre.graph.quickLink", + "preventsDownload", + "type", + "webUrl" + ], + "properties": { + "@libre.graph.displayName": { + "const": "" + }, + "@libre.graph.quickLink": { + "const": true + }, + "preventsDownload": { + "const": false + }, + "type": { + "const": "internal" + }, + "webUrl": { + "type": "string", + "pattern": "^%base_url%/s/[a-zA-Z]{15}$" + } + } + } + } + } + """ + Examples: + | permissions-role | + | Space Viewer | + | Space Editor | + | Manager | + + @issue-8960 + Scenario Outline: create an internal quick link share by a member of a project space drive using permissions endpoint + Given using spaces DAV path + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "projectSpace" with the default quota using the Graph API + And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt" + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has sent the following space share invitation: + | space | projectSpace | + | sharee | Brian | + | shareType | user | + | permissionsRole | | + | quickLink | true | + When user "Brian" creates the following space link share using permissions endpoint of the Graph API: + | space | projectSpace | + | permissionsRole | internal | + | quickLink | true | + Then the HTTP status code should be "200" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "hasPassword", + "id", + "link" + ], + "properties": { + "hasPassword": { + "const": false + }, + "id": { + "pattern": "^[a-zA-Z]{15}$" + }, + "link": { + "type": "object", + "required": [ + "@libre.graph.displayName", + "@libre.graph.quickLink", + "preventsDownload", + "type", + "webUrl" + ], + "properties": { + "@libre.graph.displayName": { + "const": "" + }, + "@libre.graph.quickLink": { + "const": true + }, + "preventsDownload": { + "const": false + }, + "type": { + "const": "internal" + }, + "webUrl": { + "type": "string", + "pattern": "^%base_url%/s/[a-zA-Z]{15}$" + } + } + } + } + } + """ + Examples: + | permissions-role | + | Space Viewer | + | Space Editor | + | Manager | + + @issue-8960 + Scenario Outline: try to create an internal link share by a member of a project space drive with password using root endpoint + Given using spaces DAV path + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "projectSpace" with the default quota using the Graph API + And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt" + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has sent the following space share invitation: + | space | projectSpace | + | sharee | Brian | + | shareType | user | + | permissionsRole | | + When user "Brian" creates the following space link share using root endpoint of the Graph API: + | space | projectSpace | + | permissionsRole | internal | + | quickLink | true | + | password | %public% | + Then the HTTP status code should be "400" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "pattern": "invalidRequest" + }, + "message": { + "const": "password is redundant for the internal link" + } + } + } + } + } + """ + Examples: + | permissions-role | + | Space Viewer | + | Space Editor | + | Manager | + + @issue-8960 + Scenario Outline: try to create an internal link share by a member of a project space drive with password using permissions endpoint + Given using spaces DAV path + And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API + And user "Alice" has created a space "projectSpace" with the default quota using the Graph API + And user "Alice" has uploaded a file inside space "projectSpace" with content "to share" to "textfile.txt" + And user "Brian" has been created with default attributes and without skeleton files + And user "Alice" has sent the following space share invitation: + | space | projectSpace | + | sharee | Brian | + | shareType | user | + | permissionsRole | | + When user "Brian" creates the following space link share using permissions endpoint of the Graph API: + | space | projectSpace | + | permissionsRole | internal | + | quickLink | true | + | password | %public% | + Then the HTTP status code should be "400" + And the JSON data of the response should match + """ + { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "string", + "pattern": "invalidRequest" + }, + "message": { + "const": "password is redundant for the internal link" + } + } + } + } + } + """ + Examples: + | permissions-role | + | Space Viewer | + | Space Editor | + | Manager | \ No newline at end of file