Merge pull request #10535 from owncloud/remove-old-dav-public-share-endpoint-test

[tests-only][full-ci]remove old dav path for public share
This commit is contained in:
Sabin Panta
2024-11-20 15:20:38 +05:45
committed by GitHub
21 changed files with 210 additions and 898 deletions

View File

@@ -872,11 +872,6 @@ class WebDavHelper {
return self::prefixRemotePhp("dav/trash-bin/$userOrItemIdOrSpaceIdOrToken");
}
if ($davPathVersion === self::DAV_VERSION_OLD) {
if ($type === "public-files") {
// TODO: cleanup
// this endpoint does not exist
return self::prefixRemotePhp("public.php/webdav");
}
return self::prefixRemotePhp("webdav");
} elseif ($davPathVersion === self::DAV_VERSION_NEW) {
if ($type === "files") {

File diff suppressed because it is too large Load Diff

View File

@@ -394,18 +394,16 @@ class WebDavLockingContext implements Context {
}
/**
* @When /^the public locks "([^"]*)" in the last public link shared folder using the (old|new) public WebDAV API setting the following properties$/
* @When /^the public tries to lock "([^"]*)" in the last public link shared folder using the (old|new) public WebDAV API setting the following properties$/
* @When /^the public locks "([^"]*)" in the last public link shared folder using the public WebDAV API setting the following properties$/
* @When /^the public tries to lock "([^"]*)" in the last public link shared folder using the public WebDAV API setting the following properties$/
*
* @param string $file
* @param string $publicWebDAVAPIVersion
* @param TableNode $properties
*
* @return void
*/
public function publicLocksFileLastSharedFolder(
string $file,
string $publicWebDAVAPIVersion,
TableNode $properties
) {
$token = ($this->featureContext->isUsingSharingNG()) ? $this->featureContext->shareNgGetLastCreatedLinkShareToken() : $this->featureContext->getLastCreatedPublicShareToken();
@@ -862,92 +860,6 @@ class WebDavLockingContext implements Context {
$this->featureContext->setLastUploadDeleteTime(\time());
}
/**
* @When /^the public uploads file "([^"]*)" with content "([^"]*)" sending the locktoken of file "([^"]*)" of user "([^"]*)" using the (old|new) public WebDAV API$/
*
* @param string $filename
* @param string $content
* @param string $itemToUseLockOf
* @param string $lockOwner
* @param string $publicWebDAVAPIVersion
*
* @return void
*
*/
public function publicUploadFileSendingLockTokenOfUser(
string $filename,
string $content,
string $itemToUseLockOf,
string $lockOwner,
string $publicWebDAVAPIVersion
) {
$response = $this->publicUploadWithUserLockToken(
$filename,
$content,
$itemToUseLockOf,
$lockOwner,
$publicWebDAVAPIVersion
);
$this->featureContext->setResponse($response);
}
/**
* @param string $filename
* @param string $content
* @param string $itemToUseLockOf
* @param string $lockOwner
* @param string $publicWebDAVAPIVersion
*
* @return ResponseInterface
*/
public function publicUploadWithUserLockToken(
string $filename,
string $content,
string $itemToUseLockOf,
string $lockOwner,
string $publicWebDAVAPIVersion
): ResponseInterface {
$lockOwner = $this->featureContext->getActualUsername($lockOwner);
$headers = [
"If" => "(<" . $this->tokenOfLastLock[$lockOwner][$itemToUseLockOf] . ">)"
];
return $this->publicWebDavContext->publicUploadContent(
$filename,
'',
$content,
false,
$headers,
$publicWebDAVAPIVersion
);
}
/**
* @When /^the public uploads file "([^"]*)" with content "([^"]*)" sending the locktoken of "([^"]*)" of the public using the (old|new) public WebDAV API$/
*
* @param string $filename
* @param string $content
* @param string $itemToUseLockOf
* @param string $publicWebDAVAPIVersion
*
* @return void
*/
public function publicUploadFileSendingLockTokenOfPublic(
string $filename,
string $content,
string $itemToUseLockOf,
string $publicWebDAVAPIVersion
) {
$lockOwner = $this->featureContext->getLastCreatedPublicShareToken();
$response = $this->publicUploadWithUserLockToken(
$filename,
$content,
$itemToUseLockOf,
$lockOwner,
$publicWebDAVAPIVersion
);
$this->featureContext->setResponse($response);
}
/**
* @Then :count locks should be reported for file :file of user :user by the WebDAV API
*

View File

@@ -103,7 +103,7 @@ Feature: antivirus
| space | Personal |
| permissionsRole | edit |
| expirationDateTime | 2040-01-01T23:59:59.000Z |
When the public uploads file "filesForUpload/filesWithVirus/<file-name>" to "<new-file-name>" inside last link shared folder using the new WebDAV API
When the public uploads file "filesForUpload/filesWithVirus/<file-name>" to "<new-file-name>" inside last link shared folder using the public WebDAV API
Then the HTTP status code should be "201"
And user "Alice" should get a notification with subject "Virus found" and message:
| message |
@@ -129,7 +129,7 @@ Feature: antivirus
| permissionsRole | edit |
| password | %public% |
| expirationDateTime | 2040-01-01T23:59:59.000Z |
When the public uploads file "filesForUpload/filesWithVirus/<file-name>" to "<new-file-name>" inside last link shared folder with password "%public%" using the new WebDAV API
When the public uploads file "filesForUpload/filesWithVirus/<file-name>" to "<new-file-name>" inside last link shared folder with password "%public%" using the public WebDAV API
Then the HTTP status code should be "201"
And user "Alice" should get a notification with subject "Virus found" and message:
| message |
@@ -391,7 +391,7 @@ Feature: antivirus
| resource | test.txt |
| space | Personal |
| permissionsRole | edit |
When the public overwrites file "test.txt" with content "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*" using the new WebDAV API
When the public overwrites file "test.txt" with content "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*" using the public WebDAV API
Then the HTTP status code should be "204"
And user "Alice" should get a notification with subject "Virus found" and message:
| message |

View File

@@ -71,9 +71,9 @@ Feature: enforce password on public link
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs-status-code>"
And the OCS status message should be "OK"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "%public%"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "%public%"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -99,9 +99,9 @@ Feature: enforce password on public link
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs-status-code>"
And the OCS status message should be "OK"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "3s:5WW9uE5h=A"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "3s:5WW9uE5h=A"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -163,9 +163,9 @@ Feature: enforce password on public link
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs-status-code>"
And the OCS status message should be "OK"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "6a0Q;A3 +i^m["
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "6a0Q;A3 +i^m["
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -221,9 +221,9 @@ Feature: enforce password on public link
Then the HTTP status code should be "200"
And the OCS status code should be "200"
And the OCS status message should be "OK"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "<password>"
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API without a password
And the public should not be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "wrong pass"
But the public should be able to download file "/testfile.txt" from inside the last public link shared folder using the public WebDAV API with password "<password>"
Examples:
| config | config-value | password |
| OCIS_PASSWORD_POLICY_MIN_CHARACTERS | 4 | Ps-1 |

View File

@@ -477,7 +477,7 @@ Feature: lock files
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public locks "textfile0.txt" in the last public link shared folder using the new public WebDAV API setting the following properties
When the public locks "textfile0.txt" in the last public link shared folder using the public WebDAV API setting the following properties
| lockscope | <lock-scope> |
Then the HTTP status code should be "200"
And 1 locks should be reported for file "PARENT/textfile0.txt" of user "Alice" by the WebDAV API
@@ -500,7 +500,7 @@ Feature: lock files
| space | Personal |
| permissionsRole | view |
| password | %public% |
When the public tries to lock "textfile0.txt" in the last public link shared folder using the new public WebDAV API setting the following properties
When the public tries to lock "textfile0.txt" in the last public link shared folder using the public WebDAV API setting the following properties
| lockscope | <lock-scope> |
Then the HTTP status code should be "403"
And 0 locks should be reported for file "PARENT/textfile0.txt" of user "Alice" by the WebDAV API

View File

@@ -44,7 +44,7 @@ Feature: A manager of the space can edit public link
| share_type | public_link |
| displayname_owner | %displayname% |
| name | <link-name> |
When the public downloads file "/test.txt" from inside the last public link shared folder with password "<password>" using the new public WebDAV API
When the public downloads file "/test.txt" from inside the last public link shared folder with password "<password>" using the public WebDAV API
Then the HTTP status code should be "200"
And the downloaded content should be "some content"
Examples:

View File

@@ -16,28 +16,28 @@ Feature: public link for a space
@issue-10331
Scenario: public tries to upload a file in the public space
When the public uploads file "test.txt" with content "test" using the new public WebDAV API
When the public uploads file "test.txt" with content "test" using the public WebDAV API
And the HTTP status code should be "403"
@issue-10331
Scenario: public tries to create a folder in the public space
When the public creates folder "created-by-public" using the new public WebDAV API
When the public creates folder "created-by-public" using the public WebDAV API
And the HTTP status code should be "403"
@issue-10331
Scenario: public tries to delete a file in the public space
Given user "Alice" has uploaded a file inside space "public space" with content "some content" to "test.txt"
When the public deletes file "test.txt" from the last public link share using the new public WebDAV API
When the public deletes file "test.txt" from the last public link share using the public WebDAV API
And the HTTP status code should be "403"
@issue-10331
Scenario: public tries to delete a folder in the public space
And user "Alice" has created a folder "/public-folder" in space "public space"
When the public deletes folder "public-folder" from the last public link share using the new public WebDAV API
When the public deletes folder "public-folder" from the last public link share using the public WebDAV API
And the HTTP status code should be "403"
@issue-10331
Scenario: public tries to change content of a resources in the public space
Given user "Alice" has uploaded a file inside space "public space" with content "some content" to "test.txt"
When the public overwrites file "test.txt" with content "public content" using the new WebDAV API
When the public overwrites file "test.txt" with content "public content" using the public WebDAV API
And the HTTP status code should be "403"

View File

@@ -36,10 +36,10 @@ Feature: Share spaces via link
| displayname_owner | %displayname% |
| uid_owner | %username% |
| name | <link-name> |
When the public downloads file "/test.txt" from inside the last public link shared folder with password "<password>" using the new public WebDAV API
When the public downloads file "/test.txt" from inside the last public link shared folder with password "<password>" using the public WebDAV API
Then the HTTP status code should be "200"
And the downloaded content should be "some content"
But the public should not be able to download file "/test.txt" from inside the last public link shared folder using the new public WebDAV API with password "wrong pass"
But the public should not be able to download file "/test.txt" from inside the last public link shared folder using the public WebDAV API with password "wrong pass"
Examples:
| permissions | expected-permissions | password | link-name | expire-date |
| 1 | read | %public% | link | 2042-03-25T23:59:59+0100 |
@@ -77,7 +77,7 @@ Feature: Share spaces via link
| displayname_owner | %displayname% |
| uid_owner | %username% |
| name | forUpload |
And the public should be able to upload file "lorem.txt" into the last public link shared folder using the new public WebDAV API with password "%public%"
And the public should be able to upload file "lorem.txt" into the last public link shared folder using the public WebDAV API with password "%public%"
And for user "Alice" the space "share space" should contain these entries:
| lorem.txt |

View File

@@ -142,8 +142,8 @@ Feature: Share a file or folder that is inside a space via public link
| displayname_owner | %displayname% |
| uid_file_owner | %username% |
| uid_owner | %username% |
And the public should be able to download the last publicly shared file using the new public WebDAV API with password "%public%" and the content should be "Random data"
And the public upload to the last publicly shared file using the new public WebDAV API with password "%public%" should pass with HTTP status code "204"
And the public should be able to download the last publicly shared file using the public WebDAV API with password "%public%" and the content should be "Random data"
And the public upload to the last publicly shared file using the public WebDAV API with password "%public%" should pass with HTTP status code "204"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |

View File

@@ -77,5 +77,5 @@ Feature: accessing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When user "Alice" tries to download file "textfile.txt" from the last public link using own basic auth and new public WebDAV API
When user "Alice" tries to download file "textfile.txt" from the last public link using own basic auth and public WebDAV API
Then the HTTP status code should be "401"

View File

@@ -37,7 +37,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "%public%" and the new public WebDAV API
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "%public%" and the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/parent.txt" should not exist
And as "Alice" file "/PARENT/newparent.txt" should exist
@@ -50,7 +50,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public uploads file "lorem.txt" with password "%public%" and content "test" using the new public WebDAV API
When the public uploads file "lorem.txt" with password "%public%" and content "test" using the public WebDAV API
Then the HTTP status code should be "201"
And the content of file "PARENT/lorem.txt" for user "Alice" should be "test"
@@ -86,7 +86,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "invalid" and the new public WebDAV API
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "invalid" and the public WebDAV API
Then the HTTP status code should be "401"
And as "Alice" file "/PARENT/newparent.txt" should not exist
And as "Alice" file "/PARENT/parent.txt" should exist
@@ -99,7 +99,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "%public%" and the new public WebDAV API
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "%public%" and the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/newparent.txt" should exist
And as "Alice" file "/PARENT/parent.txt" should not exist
@@ -112,7 +112,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public uploads file "lorem.txt" with password "invalid" and content "test" using the new public WebDAV API
When the public uploads file "lorem.txt" with password "invalid" and content "test" using the public WebDAV API
Then the HTTP status code should be "401"
And as "Alice" file "/PARENT/lorem.txt" should not exist
@@ -124,7 +124,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public uploads file "lorem.txt" with password "%public%" and content "test" using the new public WebDAV API
When the public uploads file "lorem.txt" with password "%public%" and content "test" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/lorem.txt" should exist
@@ -136,7 +136,7 @@ Feature: changing a public link share
| space | Personal |
| permissionsRole | createOnly |
| password | %public% |
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "%public%" and the new public WebDAV API
When the public renames file "parent.txt" to "newparent.txt" from the last public link share using the password "%public%" and the public WebDAV API
Then the HTTP status code should be "403"
And as "Alice" file "/PARENT/parent.txt" should exist
And as "Alice" file "/PARENT/newparent.txt" should not exist
@@ -213,7 +213,7 @@ Feature: changing a public link share
| password | |
Then the HTTP status code should be "200"
And the OCS status code should be "<ocs-status-code>"
And the public should be able to download file "/parent.txt" from inside the last public link shared folder using the new public WebDAV API with password ""
And the public should be able to download file "/parent.txt" from inside the last public link shared folder using the public WebDAV API with password ""
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |

View File

@@ -27,7 +27,7 @@ Feature: create a public link share
| 2 | 400 |
@smokeTest @issue-10331 @issue-9724
Scenario Outline: creating a new public link share of a file with password using the new public WebDAV API
Scenario Outline: creating a new public link share of a file with password using the public WebDAV API
Given using OCS API version "<ocs-api-version>"
And user "Alice" has uploaded file with content "Random data" to "/randomfile.txt"
When user "Alice" creates a public link share using the sharing API with settings
@@ -47,11 +47,11 @@ Feature: create a public link share
| uid_file_owner | %username% |
| uid_owner | %username% |
| name | |
And the public should be able to download the last publicly shared file using the new public WebDAV API with password "%public%" and the content should be "Random data"
When the public tries to download the last public link shared file with password "%regular%" using the new public WebDAV API
And the public should be able to download the last publicly shared file using the public WebDAV API with password "%public%" and the content should be "Random data"
When the public tries to download the last public link shared file with password "%regular%" using the public WebDAV API
Then the HTTP status code should be "401"
And the value of the item "//s:message" in the response should match "/Username or password was incorrect/"
When the public tries to download the last public link shared file using the new public WebDAV API
When the public tries to download the last public link shared file using the public WebDAV API
Then the HTTP status code should be "401"
And the value of the item "//s:message" in the response should match "/No 'Authorization: Basic' header found/"
Examples:
@@ -81,8 +81,8 @@ Feature: create a public link share
| uid_file_owner | %username% |
| uid_owner | %username% |
| name | |
And the public should be able to download the last publicly shared file using the new public WebDAV API with password "%public%" and the content should be "Random data"
And uploading content to a public link shared file with password "%public%" should work using the new public WebDAV API
And the public should be able to download the last publicly shared file using the public WebDAV API with password "%public%" and the content should be "Random data"
And uploading content to a public link shared file with password "%public%" should work using the public WebDAV API
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -111,12 +111,12 @@ Feature: create a public link share
| uid_file_owner | %username% |
| uid_owner | %username% |
| name | |
And the public should be able to download file "/randomfile.txt" from inside the last public link shared folder using the old public WebDAV API with password "%public%" and the content should be "Random data"
And the public should be able to download file "/randomfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "%public%" and the content should be "Random data"
But the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the old public WebDAV API without a password
And the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the old public WebDAV API with password "%regular%"
And the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the new public WebDAV API without a password
And the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "%regular%"
And the public should be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API with password "%public%" and the content should be "Random data"
And the public should be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API with password "%public%" and the content should be "Random data"
But the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API without a password
And the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API with password "%regular%"
And the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API without a password
And the public should not be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API with password "%regular%"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -182,8 +182,8 @@ Feature: create a public link share
| id | A_STRING |
| share_type | public_link |
| permissions | read |
And the public upload to the last publicly shared folder using the old public WebDAV API with password "%public%" should fail with HTTP status code "403"
And the public upload to the last publicly shared folder using the old public WebDAV API with password "%public%" should fail with HTTP status code "403"
And the public upload to the last publicly shared folder using the public WebDAV API with password "%public%" should fail with HTTP status code "403"
And the public upload to the last publicly shared folder using the public WebDAV API with password "%public%" should fail with HTTP status code "403"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -203,7 +203,7 @@ Feature: create a public link share
| id | A_STRING |
| share_type | public_link |
| permissions | read,update,create,delete |
And uploading a file with password "%public%" should work using the new public WebDAV API
And uploading a file with password "%public%" should work using the public WebDAV API
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -223,7 +223,7 @@ Feature: create a public link share
| id | A_STRING |
| share_type | public_link |
| permissions | read,create |
And uploading a file with password "%public%" should work using the new public WebDAV API
And uploading a file with password "%public%" should work using the public WebDAV API
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -251,7 +251,7 @@ Feature: create a public link share
| password | %public% |
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And the public should be able to download the last publicly shared file using the new public WebDAV API with password "%public%" and the content should be "long file"
And the public should be able to download the last publicly shared file using the public WebDAV API with password "%public%" and the content should be "long file"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -267,7 +267,7 @@ Feature: create a public link share
| password | %public% |
Then the OCS status code should be "<ocs-status-code>"
And the HTTP status code should be "200"
And the public should be able to download file "/randomfile.txt" from inside the last public link shared folder using the new public WebDAV API with password "%public%" and the content should be "Random data"
And the public should be able to download file "/randomfile.txt" from inside the last public link shared folder using the public WebDAV API with password "%public%" and the content should be "Random data"
Examples:
| ocs-api-version | ocs-status-code |
| 1 | 100 |
@@ -284,7 +284,7 @@ Feature: create a public link share
| permissionsRole | view |
| password | %public% |
When user "Alice" deletes folder "/PARENT" using the WebDAV API
And the public tries to download file "/parent.txt" from inside the last public link shared folder with password "%public%" using the new public WebDAV API
And the public tries to download file "/parent.txt" from inside the last public link shared folder with password "%public%" using the public WebDAV API
Then the HTTP status code should be "404"
@issue-1269 @issue-1293 @skipOnReva @issue-10331 @issue-9724
@@ -297,7 +297,7 @@ Feature: create a public link share
| space | Personal |
| permissionsRole | createOnly |
| password | %public% |
When the public tries to download file "/parent.txt" from inside the last public link shared folder with password "%public%" using the new public WebDAV API
When the public tries to download file "/parent.txt" from inside the last public link shared folder with password "%public%" using the public WebDAV API
Then the HTTP status code should be "403"
@env-config @skipOnReva @issue-10331 @issue-10071
@@ -353,21 +353,21 @@ Feature: create a public link share
| resource | testFolder |
| space | Personal |
| permissionsRole | edit |
When the public uploads file "file.txt" to the last public link shared folder with password "%public%" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the new public WebDAV API
When the public uploads file "file.txt" to the last public link shared folder with password "%public%" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "testFolder/file.txt" should exist
And as "Alice" the mtime of the file "testFolder/file.txt" should be "Thu, 08 Aug 2019 04:18:13 GMT"
And the mtime of file "file.txt" in the last shared public link using the WebDAV API should be "Thu, 08 Aug 2019 04:18:13 GMT"
@env-config @issue-10331 @issue-10071
Scenario: overwriting a file changes its mtime (new public webDAV API)
Scenario: overwriting a file changes its mtime (public webDAV API)
Given the config "OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD" has been set to "false"
And user "Alice" has created folder "testFolder"
When user "Alice" uploads file with content "uploaded content for file name ending with a dot" to "testFolder/file.txt" using the WebDAV API
And user "Alice" creates a public link share using the sharing API with settings
| path | /testFolder |
| permissions | read,update,create,delete |
And the public uploads file "file.txt" to the last public link shared folder with password "%public%" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the new public WebDAV API
And the public uploads file "file.txt" to the last public link shared folder with password "%public%" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the public WebDAV API
Then the HTTP status code should be "204"
And as "Alice" file "/testFolder/file.txt" should exist
And as "Alice" the mtime of the file "testFolder/file.txt" should be "Thu, 08 Aug 2019 04:18:13 GMT"

View File

@@ -10,14 +10,14 @@ Feature: copying from public link share
And the config "OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD" has been set to "false"
@issue-10331
Scenario: copy file within a public link folder new public WebDAV API
Scenario: copy file within a public link folder
Given user "Alice" has uploaded file with content "some data" to "/PARENT/testfile.txt"
And using SharingNG
And user "Alice" has created the following resource link share:
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/copy1.txt" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/copy1.txt" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/testfile.txt" should exist
And as "Alice" file "/PARENT/copy1.txt" should exist
@@ -25,7 +25,7 @@ Feature: copying from public link share
And the content of file "/PARENT/copy1.txt" for user "Alice" should be "some data"
@issue-10331
Scenario: copy folder within a public link folder new public WebDAV API
Scenario: copy folder within a public link folder
Given user "Alice" has created folder "/PARENT/testFolder"
And user "Alice" has uploaded file with content "some data" to "/PARENT/testFolder/testfile.txt"
And using SharingNG
@@ -33,7 +33,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies folder "/testFolder" to "/testFolder-copy" using the new public WebDAV API
When the public copies folder "/testFolder" to "/testFolder-copy" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" folder "/PARENT/testFolder" should exist
And as "Alice" folder "/PARENT/testFolder-copy" should exist
@@ -49,7 +49,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/testFolder/copy1.txt" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/testFolder/copy1.txt" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/testfile.txt" should exist
And as "Alice" file "/PARENT/testFolder/copy1.txt" should exist
@@ -65,7 +65,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/copy1.txt" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/copy1.txt" using the public WebDAV API
Then the HTTP status code should be "204"
And as "Alice" file "/PARENT/testfile.txt" should exist
And as "Alice" file "/PARENT/copy1.txt" should exist
@@ -81,7 +81,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies folder "/testFolder" to "/copy1.txt" using the new public WebDAV API
When the public copies folder "/testFolder" to "/copy1.txt" using the public WebDAV API
Then the HTTP status code should be "204"
And as "Alice" folder "/PARENT/testFolder" should exist
And the content of file "/PARENT/copy1.txt/testfile.txt" for user "Alice" should be "some data"
@@ -96,7 +96,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/copy1.txt" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/copy1.txt" using the public WebDAV API
And user "Alice" deletes file "/PARENT/copy1.txt" using the WebDAV API
Then the HTTP status code should be "204"
And as "Alice" file "/PARENT/copy1.txt" should not exist
@@ -111,7 +111,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/new-folder" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/new-folder" using the public WebDAV API
Then the HTTP status code should be "204"
And the content of file "/PARENT/testfile.txt" for user "Alice" should be "some data"
And the content of file "/PARENT/new-folder" for user "Alice" should be "some data"
@@ -126,7 +126,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/<file-name>" to "/copy1.txt" using the new public WebDAV API
When the public copies file "/<file-name>" to "/copy1.txt" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/<file-name>" should exist
And as "Alice" file "/PARENT/copy1.txt" should exist
@@ -147,7 +147,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/<destination-file-name>" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/<destination-file-name>" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/testfile.txt" should exist
And as "Alice" file "/PARENT/<destination-file-name>" should exist
@@ -169,7 +169,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/<destination-folder-name>/copy1.txt" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/<destination-folder-name>/copy1.txt" using the public WebDAV API
Then the HTTP status code should be "201"
And as "Alice" file "/PARENT/testfile.txt" should exist
And as "Alice" file "/PARENT/<destination-folder-name>/copy1.txt" should exist
@@ -190,7 +190,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/testfile.txt" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/testfile.txt" using the public WebDAV API
Then the HTTP status code should be "204"
And the content of file "/PARENT/testfile.txt" for user "Alice" should be "some data"
@@ -203,7 +203,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies folder "/testFolder" to "/testFolder" using the new public WebDAV API
When the public copies folder "/testFolder" to "/testFolder" using the public WebDAV API
Then the HTTP status code should be "204"
And as "Alice" folder "/PARENT/testFolder" should exist
And the content of file "/PARENT/testFolder/testfile.txt" for user "Alice" should be "some data"
@@ -216,7 +216,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies file "/testfile.txt" to "/" using the new public WebDAV API
When the public copies file "/testfile.txt" to "/" using the public WebDAV API
Then the HTTP status code should be "409"
And as "Alice" file "/PARENT/testfile.txt" should exist
And the content of file "/PARENT/testfile.txt" for user "Alice" should be "some data"
@@ -230,7 +230,7 @@ Feature: copying from public link share
| resource | PARENT |
| space | Personal |
| permissionsRole | edit |
When the public copies folder "/testFolder" to "/" using the new public WebDAV API
When the public copies folder "/testFolder" to "/" using the public WebDAV API
Then the HTTP status code should be "409"
And as "Alice" folder "/PARENT/testFolder" should exist
And the content of file "/PARENT/testFolder/testfile.txt" for user "Alice" should be "some data"

View File

@@ -19,7 +19,7 @@ Feature: upload to a public link share
| permissionsRole | createOnly |
| password | %public% |
And user "Alice" has deleted folder "/FOLDER"
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the public WebDAV API
And the HTTP status code should be "404"
@issue-1268
@@ -37,7 +37,7 @@ Feature: upload to a public link share
| space | Personal |
| permissionsRole | view |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the public WebDAV API
And the HTTP status code should be "403"
@issue-10331
@@ -48,7 +48,7 @@ Feature: upload to a public link share
| space | Personal |
| permissionsRole | createOnly |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the public WebDAV API
Then the HTTP status code should be "201"
And the content of file "/FOLDER/test.txt" for user "Alice" should be "test-file"
And the following headers should match these regular expressions
@@ -62,7 +62,7 @@ Feature: upload to a public link share
| space | Personal |
| permissionsRole | createOnly |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the public WebDAV API
Then the HTTP status code should be "201"
And the content of file "/FOLDER/test.txt" for user "Alice" should be "test-file"
@@ -74,7 +74,7 @@ Feature: upload to a public link share
| space | Personal |
| permissionsRole | edit |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the public WebDAV API
Then the HTTP status code should be "201"
And the content of file "/FOLDER/test.txt" for user "Alice" should be "test-file"
@@ -87,7 +87,7 @@ Feature: upload to a public link share
| permissionsRole | edit |
| password | %public% |
And user "Admin" has changed the quota of the personal space of "Alice Hansen" space to "1"
When the public uploads file "test.txt" with password "%public%" and content "test2" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test2" using the public WebDAV API
Then the HTTP status code should be "507"
@skipOnReva @issue-10331
@@ -99,7 +99,7 @@ Feature: upload to a public link share
| permissionsRole | createOnly |
| password | %public% |
And user "Admin" has changed the quota of the personal space of "Alice Hansen" space to "1"
When the public uploads file "test.txt" with password "%public%" and content "test2" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test2" using the public WebDAV API
Then the HTTP status code should be "507"
@smokeTest @issue-10331
@@ -110,7 +110,7 @@ Feature: upload to a public link share
| space | Personal |
| permissionsRole | createOnly |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test2" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test2" using the public WebDAV API
Then the HTTP status code should be "201"
And the content of file "/FOLDER/test.txt" for user "Alice" should be "test2"
@@ -122,11 +122,11 @@ Feature: upload to a public link share
| space | Personal |
| permissionsRole | createOnly |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test" using the public WebDAV API
Then the HTTP status code should be "201"
And the following headers should match these regular expressions
| ETag | /^"[a-f0-9:\.]{1,32}"$/ |
When the public uploads file "test.txt" with password "%public%" and content "test2" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test2" using the public WebDAV API
Then the HTTP status code should be "201"
And the content of file "/FOLDER/test.txt" for user "Alice" should be "test"
And the content of file "/FOLDER/test (2).txt" for user "Alice" should be "test2"

View File

@@ -297,7 +297,7 @@ Feature: propagation of etags when moving files or folders
| password | %public% |
And user "Alice" has stored etag of element "/"
And user "Alice" has stored etag of element "/upload"
When the public renames file "file.txt" to "renamed.txt" from the last public link share using the password "%public%" and the new public WebDAV API
When the public renames file "file.txt" to "renamed.txt" from the last public link share using the password "%public%" and the public WebDAV API
Then the HTTP status code should be "201"
And these etags should have changed:
| user | path |
@@ -322,7 +322,7 @@ Feature: propagation of etags when moving files or folders
| password | %public% |
And user "Alice" has stored etag of element "/"
And user "Alice" has stored etag of element "/upload"
When the public renames folder "sub" to "renamed" from the last public link share using the password "%public%" and the new public WebDAV API
When the public renames folder "sub" to "renamed" from the last public link share using the password "%public%" and the public WebDAV API
Then the HTTP status code should be "201"
And these etags should have changed:
| user | path |

View File

@@ -119,7 +119,7 @@ Feature: propagation of etags when copying files or folders
And user "Alice" has stored etag of element "/upload"
And user "Alice" has stored etag of element "/upload/file.txt"
And user "Alice" has stored etag of element "/upload/file.txt" on path "/upload/renamedFile.txt"
When the public copies file "file.txt" to "/renamedFile.txt" using the new public WebDAV API
When the public copies file "file.txt" to "/renamedFile.txt" using the public WebDAV API
Then the HTTP status code should be "201"
And these etags should have changed:
| user | path |

View File

@@ -118,7 +118,7 @@ Feature: propagation of etags when creating folders
| permissionsRole | createOnly |
And user "Alice" has stored etag of element "/"
And user "Alice" has stored etag of element "/folder"
When the public creates folder "created-by-public" using the new public WebDAV API
When the public creates folder "created-by-public" using the public WebDAV API
Then the HTTP status code should be "201"
And these etags should have changed:
| user | path |

View File

@@ -177,7 +177,7 @@ Feature: propagation of etags when uploading data
| password | %public% |
And user "Alice" has stored etag of element "/"
And user "Alice" has stored etag of element "/upload"
When the public uploads file "file.txt" with password "%public%" and content "new content" using the new public WebDAV API
When the public uploads file "file.txt" with password "%public%" and content "new content" using the public WebDAV API
Then the HTTP status code should be "201"
And these etags should have changed:
| user | path |

View File

@@ -46,7 +46,7 @@ Feature: PROPFIND
| space | Personal |
| permissionsRole | view |
| password | %public% |
When the public sends "PROPFIND" request to the last public link share using the new public WebDAV API with password "%public%"
When the public sends "PROPFIND" request to the last public link share using the public WebDAV API with password "%public%"
Then the HTTP status code should be "207"
And the value of the item "//d:href" in the response should match "/\/dav\/public-files\/%public_token%\/$/"
And the value of the item "//oc:public-link-share-owner" in the response should be "Alice"
@@ -61,7 +61,7 @@ Feature: PROPFIND
| space | Personal |
| permissionsRole | view |
| password | %public% |
When the public sends "PROPFIND" request to the last public link share using the new public WebDAV API
When the public sends "PROPFIND" request to the last public link share using the public WebDAV API
Then the HTTP status code should be "401"
And the value of the item "/d:error/s:exception" in the response should be "Sabre\DAV\Exception\NotAuthenticated"
@@ -75,6 +75,6 @@ Feature: PROPFIND
| space | Personal |
| permissionsRole | view |
| password | %public% |
When the public sends "PROPFIND" request to the last public link share using the new public WebDAV API with password "1234"
When the public sends "PROPFIND" request to the last public link share using the public WebDAV API with password "1234"
Then the HTTP status code should be "401"
And the value of the item "/d:error/s:exception" in the response should be "Sabre\DAV\Exception\NotAuthenticated"

View File

@@ -382,6 +382,6 @@ Feature: upload file
| space | new-space |
| permissionsRole | edit |
| password | %public% |
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the new public WebDAV API
When the public uploads file "test.txt" with password "%public%" and content "test-file" using the public WebDAV API
Then the HTTP status code should be "201"
And for user "Alice" the content of the file "/test.txt" of the space "new-space" should be "test-file"
And for user "Alice" the content of the file "/test.txt" of the space "new-space" should be "test-file"