Files
QSfera/Server/tests/acceptance/features/coreApiShareOperationsToShares2/shareAccessByID.feature
T
Курнат Андрей 2315f25754 Initial QSfera import
2026-06-07 10:20:04 +03:00

138 lines
6.2 KiB
Gherkin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@skipOnReva
Feature: share access by ID
As an API consumer (app)
I want to access a share by its id
So that the app can more easily manage shares
Background:
Given these users have been created with default attributes:
| username |
| Alice |
| Brian |
Scenario Outline: get a share with a valid share ID
Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "КуСфера test text file 0" to "/textfile0.txt"
When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API
And user "Alice" gets share with id "%last_share_id%" using the sharing API
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And the fields of the last response to user "Alice" sharing with user "Brian" should include
| share_with | %username% |
| share_with_displayname | %displayname% |
| file_target | /Shares/textfile0.txt |
| path | /textfile0.txt |
| permissions | read,update |
| uid_owner | %username% |
| displayname_owner | %displayname% |
| item_type | file |
| mimetype | text/plain |
| storage_id | ANY_VALUE |
| share_type | user |
And the content of file "/Shares/textfile0.txt" for user "Brian" should be "КуСфера test text file 0"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |
Scenario Outline: get a share with an invalid share id
Given using OCS API version "<ocs-api-version>"
When user "Alice" gets share with id "<share-id>" using the sharing API
Then the OCS status code should be "404"
And the HTTP status code should be "<http-status-code>"
And the API should not return any data
Examples:
| ocs-api-version | share-id | http-status-code |
| 1 | 2333311 | 200 |
| 2 | 2333311 | 404 |
| 1 | helloshare | 200 |
| 2 | helloshare | 404 |
| 1 | $#@r3 | 200 |
| 2 | $#@r3 | 404 |
| 1 | 0 | 200 |
| 2 | 0 | 404 |
Scenario Outline: accept a share using the share Id
Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "КуСфера test text file 0" to "/textfile0.txt"
When user "Alice" shares file "textfile0.txt" with user "Brian" using the sharing API
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And user "Brian" should see the following elements
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the accepted state
| path |
| /Shares/textfile0.txt |
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |
Scenario Outline: accept a share using the invalid share Id
Given using OCS API version "<ocs-api-version>"
When user "Brian" accepts share with ID "<share-id>" using the sharing API
Then the OCS status code should be "998"
And the HTTP status code should be "<http-status-code>"
And the API should not return any data
Examples:
| ocs-api-version | share-id | http-status-code |
| 1 | 2333311 | 200 |
| 2 | 2333311 | 404 |
| 1 | helloshare | 200 |
| 2 | helloshare | 404 |
| 1 | $#@r3 | 200 |
| 2 | $#@r3 | 404 |
| 1 | 0 | 200 |
| 2 | 0 | 404 |
Scenario Outline: accept a share using empty share Id
Given using OCS API version "<ocs-api-version>"
When user "Brian" accepts share with ID "" using the sharing API
Then the HTTP status code should be "<http-status-code>"
Examples:
| ocs-api-version | http-status-code |
| 1 | 405 |
| 2 | 405 |
Scenario Outline: decline a share using the share Id
Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "КуСфера test text file 0" to "/textfile0.txt"
And user "Alice" has sent the following resource share invitation:
| resource | textfile0.txt |
| space | Personal |
| sharee | Brian |
| shareType | user |
| permissionsRole | File Editor |
And user "Brian" has a share "textfile0.txt" synced
And using SharingNG
When user "Brian" declines share with ID "%last_share_id%" using the sharing API
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And user "Brian" should not see the following elements
| /Shares/textfile0.txt |
And the sharing API should report to user "Brian" that these shares are in the declined state
| path |
| textfile0.txt |
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
| 2 | 200 |
Scenario Outline: decline a share using empty share Id
Given using OCS API version "<ocs-api-version>"
When user "Brian" declines share with ID "" using the sharing API
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "<http-status-code>"
And the API should not return any data
Examples:
| ocs-api-version | http-status-code | ocs-status-code |
| 1 | 200 | 998 |
| 2 | 404 | 998 |