mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-06 04:09:40 -06:00
add test to PROPFIND folder
This commit is contained in:
@@ -3,10 +3,10 @@ Feature: delay post-processing of uploaded files
|
||||
|
||||
Background:
|
||||
Given user "Alice" has been created with default attributes and without skeleton files
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "/file.txt"
|
||||
|
||||
@issue-5326
|
||||
Scenario Outline: user sends GET request to the file while it's still being processed
|
||||
Given user "Alice" has uploaded file with content "uploaded content" to "/file.txt"
|
||||
When user "Alice" requests "<dav_path>" with "GET" without retrying
|
||||
Then the HTTP status code should be "425"
|
||||
Examples:
|
||||
@@ -17,6 +17,7 @@ Feature: delay post-processing of uploaded files
|
||||
|
||||
|
||||
Scenario Outline: user sends PROPFIND request to the file while it's still being processed
|
||||
Given user "Alice" has uploaded file with content "uploaded content" to "/file.txt"
|
||||
When user "Alice" requests "<dav_path>" with "PROPFIND" without retrying
|
||||
Then the HTTP status code should be "207"
|
||||
And the value of the item "//d:response/d:propstat/d:status" in the response should be "HTTP/1.1 425 TOO EARLY"
|
||||
@@ -24,4 +25,18 @@ Feature: delay post-processing of uploaded files
|
||||
| dav_path |
|
||||
| /remote.php/webdav/file.txt |
|
||||
| /remote.php/dav/files/%username%/file.txt |
|
||||
| /dav/spaces/%spaceid%/file.txt |
|
||||
| /dav/spaces/%spaceid%/file.txt |
|
||||
|
||||
|
||||
Scenario Outline: user sends PROPFIND request to the folder while its some files are still being processed
|
||||
Given user "Alice" has created folder "my_data"
|
||||
And user "Alice" has uploaded file with content "uploaded content" to "/my_data/file.txt"
|
||||
When user "Alice" requests "<dav_path>" with "PROPFIND" without retrying
|
||||
Then the HTTP status code should be "207"
|
||||
And as user "Alice" the value of the item "//d:status" of path "<dav_path>/" in the response should be "HTTP/1.1 200 OK"
|
||||
And as user "Alice" the value of the item "//d:status" of path "<dav_path>/file.txt" in the response should be "HTTP/1.1 425 TOO EARLY"
|
||||
Examples:
|
||||
| dav_path |
|
||||
| /remote.php/webdav/my_data |
|
||||
| /remote.php/dav/files/%username%/my_data |
|
||||
| /dav/spaces/%spaceid%/my_data |
|
||||
@@ -644,6 +644,27 @@ class WebDavPropertiesContext implements Context {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then as user :user the value of the item :xpath of path :path in the response should be :value
|
||||
*
|
||||
* @param string $user
|
||||
* @param string $xpath
|
||||
* @param string $path
|
||||
* @param string $expectedValue
|
||||
*
|
||||
* @return void
|
||||
* @throws Exception
|
||||
*/
|
||||
public function valueOfItemOfPathShouldBe(string $user, string $xpath, string $path, string $expectedValue):void {
|
||||
$path = $this->featureContext->substituteInLineCodes($path, $user);
|
||||
$fullXpath = "//d:response/d:href[.='$path']/following-sibling::d:propstat$xpath";
|
||||
$this->assertValueOfItemInResponseAboutUserIs(
|
||||
$fullXpath,
|
||||
null,
|
||||
$expectedValue
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Then the value of the item :xpath in the response about user :user should be :value
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user