mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-06 04:09:40 -06:00
added tests for reading content of a file by fileId using WebDav API (#6958)
This commit is contained in:
@@ -219,6 +219,13 @@ default:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
- OcisConfigContext:
|
||||
|
||||
apiSpacesDavOperation:
|
||||
paths:
|
||||
- '%paths.base%/../features/apiSpacesDavOperation'
|
||||
context: *common_ldap_suite_context
|
||||
contexts:
|
||||
- FeatureContext: *common_feature_context_params
|
||||
|
||||
extensions:
|
||||
rdx\behatvars\BehatVariablesExtension: ~
|
||||
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
Feature: accessing files using file id
|
||||
As a user
|
||||
I want to access the files using file id
|
||||
So that I can get the content of a file
|
||||
|
||||
Background:
|
||||
Given using spaces DAV path
|
||||
And user "Alice" has been created with default attributes and without skeleton files
|
||||
|
||||
|
||||
Scenario Outline: get content of a file
|
||||
Given user "Alice" has uploaded file with content "some data" to "/textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
When user "Alice" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "200"
|
||||
And the downloaded content should be "some data"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
|
||||
|
||||
Scenario Outline: get content of a file inside a folder
|
||||
Given user "Alice" has created folder "uploadFolder"
|
||||
And user "Alice" has uploaded file with content "some data" to "uploadFolder/textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
When user "Alice" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "200"
|
||||
And the downloaded content should be "some data"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
|
||||
|
||||
Scenario Outline: get content of a file inside a project space
|
||||
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "new-space" with the default quota using the GraphApi
|
||||
And user "Alice" has uploaded a file inside space "new-space" with content "some data" to "textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
When user "Alice" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "200"
|
||||
And the downloaded content should be "some data"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
|
||||
|
||||
Scenario Outline: sharee gets content of a shared file
|
||||
Given user "Brian" has been created with default attributes and without skeleton files
|
||||
And user "Alice" has uploaded file with content "some data" to "/textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
And user "Alice" has shared file "/textfile.txt" with user "Brian"
|
||||
And user "Brian" has accepted share "/textfile.txt" offered by user "Alice"
|
||||
When user "Brian" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "200"
|
||||
And the downloaded content should be "some data"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
|
||||
|
||||
Scenario Outline: sharee gets content of a file inside a shared folder
|
||||
Given user "Brian" has been created with default attributes and without skeleton files
|
||||
And user "Alice" has created folder "uploadFolder"
|
||||
And user "Alice" has uploaded file with content "some data" to "uploadFolder/textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
And user "Alice" has shared folder "/uploadFolder" with user "Brian"
|
||||
And user "Brian" has accepted share "/uploadFolder" offered by user "Alice"
|
||||
When user "Brian" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "200"
|
||||
And the downloaded content should be "some data"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
|
||||
|
||||
Scenario Outline: sharee gets content of a file inside a shared space
|
||||
Given user "Brian" has been created with default attributes and without skeleton files
|
||||
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
|
||||
And user "Alice" has created a space "new-space" with the default quota using the GraphApi
|
||||
And user "Alice" has uploaded a file inside space "new-space" with content "some data" to "textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
And user "Alice" has shared a space "new-space" with settings:
|
||||
| shareWith | Brian |
|
||||
| role | viewer |
|
||||
When user "Brian" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "200"
|
||||
And the downloaded content should be "some data"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
|
||||
|
||||
Scenario Outline: user tries to get content of file owned by others
|
||||
Given user "Brian" has been created with default attributes and without skeleton files
|
||||
And user "Alice" has uploaded file with content "some data" to "/textfile.txt"
|
||||
And we save it into "FILEID"
|
||||
When user "Brian" sends HTTP method "GET" to URL "<dav-path>"
|
||||
Then the HTTP status code should be "404"
|
||||
Examples:
|
||||
| dav-path |
|
||||
| /remote.php/dav/spaces/<<FILEID>> |
|
||||
| /dav/spaces/<<FILEID>> |
|
||||
@@ -1160,7 +1160,7 @@ class SpacesContext implements Context {
|
||||
* @param string $content
|
||||
* @param string $destination
|
||||
*
|
||||
* @return void
|
||||
* @return string[]
|
||||
* @throws GuzzleException
|
||||
* @throws Exception
|
||||
*/
|
||||
@@ -1169,9 +1169,9 @@ class SpacesContext implements Context {
|
||||
string $spaceName,
|
||||
string $content,
|
||||
string $destination
|
||||
): void {
|
||||
): array {
|
||||
$this->setSpaceIDByName($user, $spaceName);
|
||||
$this->featureContext->uploadFileWithContent($user, $content, $destination);
|
||||
return $this->featureContext->uploadFileWithContent($user, $content, $destination);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1785,7 +1785,7 @@ class SpacesContext implements Context {
|
||||
* @param string $fileContent
|
||||
* @param string $destination
|
||||
*
|
||||
* @return void
|
||||
* @return string[]
|
||||
* @throws GuzzleException
|
||||
*/
|
||||
public function userHasUploadedFile(
|
||||
@@ -1793,10 +1793,11 @@ class SpacesContext implements Context {
|
||||
string $spaceName,
|
||||
string $fileContent,
|
||||
string $destination
|
||||
): void {
|
||||
): array {
|
||||
$this->theUserListsAllHisAvailableSpacesUsingTheGraphApi($user);
|
||||
$this->theUserUploadsAFileToSpace($user, $spaceName, $fileContent, $destination);
|
||||
$fileId = $this->theUserUploadsAFileToSpace($user, $spaceName, $fileContent, $destination);
|
||||
$this->featureContext->theHTTPStatusCodeShouldBeOr(201, 204);
|
||||
return $fileId;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user