From ee852d7e0e6e03e13ddbe9ed0c36b3a053c42305 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= <danxuliu@gmail.com>
Date: Tue, 10 Nov 2020 22:17:04 +0100
Subject: [PATCH] Add integration tests for default share permissions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
---
 .../features/bootstrap/SharingContext.php     |  1 +
 .../sharing_features/sharing-v1.feature       | 34 +++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/build/integration/features/bootstrap/SharingContext.php b/build/integration/features/bootstrap/SharingContext.php
index ab480dec4a3..447b8f1c024 100644
--- a/build/integration/features/bootstrap/SharingContext.php
+++ b/build/integration/features/bootstrap/SharingContext.php
@@ -37,6 +37,7 @@ class SharingContext implements Context, SnippetAcceptingContext {
 	use CommandLine;
 
 	protected function resetAppConfigs() {
+		$this->modifyServerConfig('core', 'shareapi_default_permissions', '31');
 		$this->modifyServerConfig('sharebymail', 'enforcePasswordProtection', 'no');
 	}
 }
diff --git a/build/integration/sharing_features/sharing-v1.feature b/build/integration/sharing_features/sharing-v1.feature
index 764cd857a3e..38eb2d8a812 100644
--- a/build/integration/sharing_features/sharing-v1.feature
+++ b/build/integration/sharing_features/sharing-v1.feature
@@ -357,6 +357,40 @@ Feature: sharing
       | url | AN_URL |
       | mimetype | httpd/unix-directory |
 
+  Scenario: Creating a new share of a file with default permissions
+    Given user "user0" exists
+    And user "user1" exists
+    And As an "user0"
+    And parameter "shareapi_default_permissions" of app "core" is set to "7"
+    When creating a share with
+      | path | welcome.txt |
+      | shareWith | user1 |
+      | shareType | 0 |
+    And the OCS status code should be "100"
+    And the HTTP status code should be "200"
+    And Getting info of last share
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
+    And Share fields of last share match with
+      | permissions | 3 |
+
+  Scenario: Creating a new share of a folder with default permissions
+    Given user "user0" exists
+    And user "user1" exists
+    And As an "user0"
+    And parameter "shareapi_default_permissions" of app "core" is set to "7"
+    When creating a share with
+      | path | FOLDER |
+      | shareWith | user1 |
+      | shareType | 0 |
+    And the OCS status code should be "100"
+    And the HTTP status code should be "200"
+    And Getting info of last share
+    Then the OCS status code should be "100"
+    And the HTTP status code should be "200"
+    And Share fields of last share match with
+      | permissions | 7 |
+
   Scenario: getting all shares of a user using that user
     Given user "user0" exists
     And user "user1" exists
-- 
GitLab