mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-03 02:39:52 -06:00
227 lines
12 KiB
Gherkin
227 lines
12 KiB
Gherkin
@api @skipOnOcV10
|
|
Feature: sharing
|
|
|
|
Background:
|
|
Given using OCS API version "1"
|
|
And these users have been created with default attributes and without skeleton files:
|
|
| username |
|
|
| Alice |
|
|
| Brian |
|
|
And using spaces DAV path
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received file with edit and reshare permissions
|
|
Given user "Alice" has uploaded file with content "foo" to "/tmp.txt"
|
|
And user "Alice" has shared file "/tmp.txt" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp.txt" offered by user "Alice"
|
|
When user "Brian" gets the following properties of file "/tmp.txt" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "19"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared file with edit and reshare permissions
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has uploaded file with content "foo" to "/tmp.txt"
|
|
And user "Alice" has created a share with settings
|
|
| path | /tmp.txt |
|
|
| shareType | group |
|
|
| permissions | share,update,read |
|
|
| shareWith | grp1 |
|
|
And user "Brian" has accepted share "/tmp.txt" offered by user "Alice"
|
|
When user "Brian" gets the following properties of file "/tmp.txt" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "19"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received file with edit permissions but no reshare permissions
|
|
Given user "Alice" has uploaded file with content "foo" to "/tmp.txt"
|
|
And user "Alice" has shared file "tmp.txt" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp.txt" offered by user "Alice"
|
|
When user "Alice" updates the last share using the sharing API with
|
|
| permissions | update,read |
|
|
Then the HTTP status code should be "200"
|
|
And as user "Brian" file "/tmp.txt" inside space "Shares Jail" should contain a property "ocs:share-permissions" with value "3"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared file with edit permissions but no reshare permissions
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has uploaded file with content "foo" to "/tmp.txt"
|
|
And user "Alice" has created a share with settings
|
|
| path | /tmp.txt |
|
|
| shareType | group |
|
|
| permissions | update,read |
|
|
| shareWith | grp1 |
|
|
And user "Brian" has accepted share "/tmp.txt" offered by user "Alice"
|
|
When user "Brian" gets the following properties of file "/tmp.txt" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "3"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received file with reshare permissions but no edit permissions
|
|
Given user "Alice" has uploaded file with content "foo" to "/tmp.txt"
|
|
And user "Alice" has shared file "tmp.txt" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp.txt" offered by user "Alice"
|
|
When user "Alice" updates the last share using the sharing API with
|
|
| permissions | share,read |
|
|
Then the HTTP status code should be "200"
|
|
And as user "Brian" file "/tmp.txt" inside space "Shares Jail" should contain a property "ocs:share-permissions" with value "17"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared file with reshare permissions but no edit permissions
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has uploaded file with content "foo" to "/tmp.txt"
|
|
And user "Alice" has created a share with settings
|
|
| path | /tmp.txt |
|
|
| shareType | group |
|
|
| permissions | share,read |
|
|
| shareWith | grp1 |
|
|
And user "Brian" has accepted share "/tmp.txt" offered by user "Alice"
|
|
When user "Brian" gets the following properties of file "/tmp.txt" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "17"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received folder with all permissions
|
|
Given user "Alice" has created folder "/tmp"
|
|
And user "Alice" has shared file "/tmp" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Brian" gets the following properties of folder "/tmp" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "31"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared folder with all permissions
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has created folder "/tmp"
|
|
And user "Alice" has created a share with settings
|
|
| path | tmp |
|
|
| shareType | group |
|
|
| shareWith | grp1 |
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Brian" gets the following properties of folder "/tmp" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "31"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received folder with all permissions but edit
|
|
Given user "Alice" has created folder "/tmp"
|
|
And user "Alice" has shared file "/tmp" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Alice" updates the last share using the sharing API with
|
|
| permissions | share,delete,create,read |
|
|
Then the HTTP status code should be "200"
|
|
And as user "Brian" folder "/tmp" inside space "Shares Jail" should contain a property "ocs:share-permissions" with value "29"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared folder with all permissions but edit
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has created folder "/tmp"
|
|
And user "Alice" has created a share with settings
|
|
| path | tmp |
|
|
| shareType | group |
|
|
| shareWith | grp1 |
|
|
| permissions | share,delete,create,read |
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Brian" gets the following properties of folder "/tmp" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "29"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received folder with all permissions but create
|
|
Given user "Alice" has created folder "/tmp"
|
|
And user "Alice" has shared file "/tmp" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Alice" updates the last share using the sharing API with
|
|
| permissions | share,delete,update,read |
|
|
Then the HTTP status code should be "200"
|
|
And as user "Brian" folder "/tmp" inside space "Shares Jail" should contain a property "ocs:share-permissions" with value "27"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared folder with all permissions but create
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has created folder "/tmp"
|
|
And user "Alice" has created a share with settings
|
|
| path | tmp |
|
|
| shareType | group |
|
|
| shareWith | grp1 |
|
|
| permissions | share,delete,update,read |
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Brian" gets the following properties of folder "/tmp" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "27"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received folder with all permissions but delete
|
|
Given user "Alice" has created folder "/tmp"
|
|
And user "Alice" has shared file "/tmp" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Alice" updates the last share using the sharing API with
|
|
| permissions | share,create,update,read |
|
|
Then the HTTP status code should be "200"
|
|
And as user "Brian" folder "/tmp" inside space "Shares Jail" should contain a property "ocs:share-permissions" with value "23"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared folder with all permissions but delete
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has created folder "/tmp"
|
|
And user "Alice" has created a share with settings
|
|
| path | tmp |
|
|
| shareType | group |
|
|
| shareWith | grp1 |
|
|
| permissions | share,create,update,read |
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Brian" gets the following properties of folder "/tmp" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "23"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received folder with all permissions but share
|
|
Given user "Alice" has created folder "/tmp"
|
|
And user "Alice" has shared file "/tmp" with user "Brian"
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Alice" updates the last share using the sharing API with
|
|
| permissions | change |
|
|
Then the HTTP status code should be "200"
|
|
And as user "Brian" folder "/tmp" inside space "Shares Jail" should contain a property "ocs:share-permissions" with value "15"
|
|
|
|
|
|
Scenario: Correct webdav share-permissions for received group shared folder with all permissions but share
|
|
Given group "grp1" has been created
|
|
And user "Brian" has been added to group "grp1"
|
|
And user "Alice" has created folder "/tmp"
|
|
And user "Alice" has created a share with settings
|
|
| path | tmp |
|
|
| shareType | group |
|
|
| shareWith | grp1 |
|
|
| permissions | change |
|
|
And user "Brian" has accepted share "/tmp" offered by user "Alice"
|
|
When user "Brian" gets the following properties of folder "/tmp" inside space "Shares Jail" using the WebDAV API
|
|
| propertyName |
|
|
| ocs:share-permissions |
|
|
Then the HTTP status code should be "207"
|
|
And the single response should contain a property "ocs:share-permissions" with value "15" |