extend webdav tests for old, new and spaces path

This commit is contained in:
Prajwol Amatya
2024-11-07 14:12:16 +05:45
parent 0fa52f26e9
commit 33a99d6de3
47 changed files with 957 additions and 356 deletions
+7 -46
View File
@@ -1734,7 +1734,6 @@ trait WebDav {
* @param string $source
* @param string $destination
* @param integer $noOfChunks
* @param string|null $chunkingVersion
* @param boolean $async
* @param array|null $headers
*
@@ -1745,7 +1744,6 @@ trait WebDav {
string $source,
string $destination,
int $noOfChunks = 2,
?string $chunkingVersion = null,
bool $async = false,
?array $headers = []
):void {
@@ -1755,22 +1753,9 @@ trait WebDav {
$noOfChunks,
"What does it mean to have $noOfChunks chunks?"
);
// use the chunking version that works with the set DAV version
if ($chunkingVersion === null) {
if (\in_array($this->currentDAVPath, [WebDavHelper::DAV_VERSION_OLD, WebDavHelper::DAV_VERSION_SPACES])) {
$chunkingVersion = "v1";
} else {
$chunkingVersion = "v2";
}
}
$this->useSpecificChunking($chunkingVersion);
Assert::assertTrue(
WebDavHelper::isValidDavChunkingCombination(
$this->getDavPathVersion(),
$this->chunkingToUse
),
"invalid chunking/webdav version combination"
);
// use chunking version 1 as default, since version 2 uses "remote.php/dav/uploads" endpoint and it doesn't exist in oCIS
$this->chunkingToUse = 1;
if ($async === true) {
$headers['OC-LazyOps'] = 'true';
@@ -1785,27 +1770,6 @@ trait WebDav {
$this->pushToLastStatusCodesArrays();
}
/**
* sets the chunking version from human-readable format
*
* @param string $version (no|v1|v2|new|old)
*
* @return void
*/
public function useSpecificChunking(string $version):void {
if ($version === "v1" || $version === "old") {
$this->chunkingToUse = 1;
} elseif ($version === "v2" || $version === "new") {
$this->chunkingToUse = 2;
} elseif ($version === "no") {
$this->chunkingToUse = null;
} else {
throw new InvalidArgumentException(
"cannot set chunking version to $version"
);
}
}
/**
* Uploading with old/new DAV and chunked/non-chunked.
* Except do not do the new-DAV-new-chunking combination. That is not being
@@ -1839,13 +1803,12 @@ trait WebDav {
}
/**
* @When /^user "([^"]*)" uploads file "([^"]*)" to "([^"]*)" in (\d+) chunks (?:with (new|old|v1|v2) chunking and)?\s?using the WebDAV API$/
* @When /^user "([^"]*)" uploads file "([^"]*)" to "([^"]*)" in (\d+) chunks using the WebDAV API$/
*
* @param string $user
* @param string $source
* @param string $destination
* @param int $noOfChunks
* @param string|null $chunkingVersion old|v1|new|v2 null for autodetect
*
* @return void
* @throws Exception
@@ -1854,10 +1817,9 @@ trait WebDav {
string $user,
string $source,
string $destination,
int $noOfChunks = 2,
?string $chunkingVersion = null
int $noOfChunks = 2
):void {
$this->userUploadsAFileInChunk($user, $source, $destination, $noOfChunks, $chunkingVersion);
$this->userUploadsAFileInChunk($user, $source, $destination, $noOfChunks);
}
/**
@@ -3059,7 +3021,7 @@ trait WebDav {
['OC-Chunked' => '1'],
$data,
null,
"uploads",
"files",
null,
false,
null,
@@ -4430,7 +4392,6 @@ trait WebDav {
*/
public function thePublicListsTheResourcesInTheLastCreatedPublicLinkWithDepthUsingTheWebdavApi(string $depth):void {
$token = ($this->isUsingSharingNG()) ? $this->shareNgGetLastCreatedLinkShareToken() : $this->getLastCreatedPublicShareToken();
// https://drone.owncloud.com/owncloud/ocis/39693/29/6
$response = $this->listFolder(
$token,
'/',
@@ -16,17 +16,17 @@ _ocdav: double-check the webdav property parsing when custom namespaces are used
#### [file versions do not report the version author](https://github.com/owncloud/ocis/issues/2914)
- [coreApiVersions/fileVersionAuthor.feature:15](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L15)
- [coreApiVersions/fileVersionAuthor.feature:61](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L61)
- [coreApiVersions/fileVersionAuthor.feature:93](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L93)
- [coreApiVersions/fileVersionAuthor.feature:124](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L124)
- [coreApiVersions/fileVersionAuthor.feature:162](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L162)
- [coreApiVersions/fileVersionAuthor.feature:194](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L194)
- [coreApiVersions/fileVersionAuthor.feature:230](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L230)
- [coreApiVersions/fileVersionAuthor.feature:275](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L275)
- [coreApiVersions/fileVersionAuthor.feature:357](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L357)
- [coreApiVersions/fileVersionAuthor.feature:436](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L436)
- [coreApiVersions/fileVersionAuthor.feature:467](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L467)
- [coreApiVersions/fileVersionAuthor.feature:14](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L14)
- [coreApiVersions/fileVersionAuthor.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L60)
- [coreApiVersions/fileVersionAuthor.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L92)
- [coreApiVersions/fileVersionAuthor.feature:123](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L123)
- [coreApiVersions/fileVersionAuthor.feature:161](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L161)
- [coreApiVersions/fileVersionAuthor.feature:193](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L193)
- [coreApiVersions/fileVersionAuthor.feature:229](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L229)
- [coreApiVersions/fileVersionAuthor.feature:274](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L274)
- [coreApiVersions/fileVersionAuthor.feature:356](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L356)
- [coreApiVersions/fileVersionAuthor.feature:435](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L435)
- [coreApiVersions/fileVersionAuthor.feature:466](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiVersions/fileVersionAuthor.feature#L466)
### Sync
@@ -34,8 +34,9 @@ Synchronization features like etag propagation, setting mtime and locking files
#### [Uploading an old method chunked file with checksum should fail using new DAV path](https://github.com/owncloud/ocis/issues/2323)
- [coreApiMain/checksums.feature:219](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L219)
- [coreApiMain/checksums.feature:220](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L220)
- [coreApiMain/checksums.feature:233](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L233)
- [coreApiMain/checksums.feature:234](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L234)
- [coreApiMain/checksums.feature:235](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiMain/checksums.feature#L235)
### Share
@@ -50,14 +51,18 @@ Synchronization features like etag propagation, setting mtime and locking files
#### [deleting a file inside a received shared folder is moved to the trash-bin of the sharer not the receiver](https://github.com/owncloud/ocis/issues/1124)
- [coreApiTrashbin/trashbinSharingToShares.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L53)
- [coreApiTrashbin/trashbinSharingToShares.feature:54](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L54)
- [coreApiTrashbin/trashbinSharingToShares.feature:81](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L81)
- [coreApiTrashbin/trashbinSharingToShares.feature:82](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L82)
- [coreApiTrashbin/trashbinSharingToShares.feature:138](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L138)
- [coreApiTrashbin/trashbinSharingToShares.feature:139](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L139)
- [coreApiTrashbin/trashbinSharingToShares.feature:196](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L196)
- [coreApiTrashbin/trashbinSharingToShares.feature:197](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L197)
- [coreApiTrashbin/trashbinSharingToShares.feature:55](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L55)
- [coreApiTrashbin/trashbinSharingToShares.feature:56](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L56)
- [coreApiTrashbin/trashbinSharingToShares.feature:83](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L83)
- [coreApiTrashbin/trashbinSharingToShares.feature:84](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L84)
- [coreApiTrashbin/trashbinSharingToShares.feature:85](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L85)
- [coreApiTrashbin/trashbinSharingToShares.feature:142](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L142)
- [coreApiTrashbin/trashbinSharingToShares.feature:143](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L143)
- [coreApiTrashbin/trashbinSharingToShares.feature:144](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L144)
- [coreApiTrashbin/trashbinSharingToShares.feature:202](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L202)
- [coreApiTrashbin/trashbinSharingToShares.feature:203](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L203)
- [coreApiTrashbin/trashbinSharingToShares.feature:204](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L204)
### Other
@@ -101,8 +106,9 @@ _ocdav: api compatibility, return correct status code_
- [coreApiFavorites/favorites.feature:174](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L174)
- [coreApiFavorites/favorites.feature:175](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L175)
- [coreApiFavorites/favorites.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favorites.feature#L176)
- [coreApiFavorites/favoritesSharingToShares.feature:88](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L88)
- [coreApiFavorites/favoritesSharingToShares.feature:89](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L89)
- [coreApiFavorites/favoritesSharingToShares.feature:91](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L91)
- [coreApiFavorites/favoritesSharingToShares.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L92)
- [coreApiFavorites/favoritesSharingToShares.feature:93](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiFavorites/favoritesSharingToShares.feature#L93)
#### [WWW-Authenticate header for unauthenticated requests is not clear](https://github.com/owncloud/ocis/issues/2285)
@@ -132,12 +138,12 @@ _ocdav: api compatibility, return correct status code_
- [coreApiWebdavUploadTUS/checksums.feature:243](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L243)
- [coreApiWebdavUploadTUS/checksums.feature:244](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L244)
- [coreApiWebdavUploadTUS/checksums.feature:245](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/checksums.feature#L245)
- [coreApiWebdavUploadTUS/uploadToShare.feature:250](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L250)
- [coreApiWebdavUploadTUS/uploadToShare.feature:251](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L251)
- [coreApiWebdavUploadTUS/uploadToShare.feature:274](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L274)
- [coreApiWebdavUploadTUS/uploadToShare.feature:275](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L275)
- [coreApiWebdavUploadTUS/uploadToShare.feature:369](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L369)
- [coreApiWebdavUploadTUS/uploadToShare.feature:370](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L370)
- [coreApiWebdavUploadTUS/uploadToShare.feature:255](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L255)
- [coreApiWebdavUploadTUS/uploadToShare.feature:256](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L256)
- [coreApiWebdavUploadTUS/uploadToShare.feature:279](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L279)
- [coreApiWebdavUploadTUS/uploadToShare.feature:280](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L280)
- [coreApiWebdavUploadTUS/uploadToShare.feature:375](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L375)
- [coreApiWebdavUploadTUS/uploadToShare.feature:376](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUploadTUS/uploadToShare.feature#L376)
#### [Renaming resource to banned name is allowed in spaces webdav](https://github.com/owncloud/ocis/issues/3099)
@@ -148,7 +154,7 @@ _ocdav: api compatibility, return correct status code_
#### [Trying to delete other user's trashbin item returns 409 for spaces path instead of 404](https://github.com/owncloud/ocis/issues/9791)
- [coreApiTrashbin/trashbinDelete.feature:92](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinDelete.feature#L92)
- [coreApiTrashbin/trashbinDelete.feature:97](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinDelete.feature#L97)
#### [MOVE a file into same folder with same name returns 404 instead of 403](https://github.com/owncloud/ocis/issues/1976)
@@ -158,15 +164,16 @@ _ocdav: api compatibility, return correct status code_
- [coreApiWebdavMove1/moveFolder.feature:217](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L217)
- [coreApiWebdavMove1/moveFolder.feature:218](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L218)
- [coreApiWebdavMove1/moveFolder.feature:219](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L219)
- [coreApiWebdavMove2/moveShareOnOcis.feature:307](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L307)
- [coreApiWebdavMove2/moveShareOnOcis.feature:310](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L310)
- [coreApiWebdavMove2/moveShareOnOcis.feature:334](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L334)
- [coreApiWebdavMove2/moveShareOnOcis.feature:337](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L337)
- [coreApiWebdavMove2/moveShareOnOcis.feature:340](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveShareOnOcis.feature#L340)
#### [COPY file/folder to same name is possible (but 500 code error for folder with spaces path)](https://github.com/owncloud/ocis/issues/8711)
- [coreApiSharePublicLink2/copyFromPublicLink.feature:198](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L198)
- [coreApiWebdavProperties/copyFile.feature:1070](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1070)
- [coreApiWebdavProperties/copyFile.feature:1071](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1071)
- [coreApiWebdavProperties/copyFile.feature:1072](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1072)
- [coreApiWebdavProperties/copyFile.feature:1094](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1094)
- [coreApiWebdavProperties/copyFile.feature:1095](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1095)
- [coreApiWebdavProperties/copyFile.feature:1096](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1096)
#### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060)
@@ -187,7 +194,7 @@ _ocdav: api compatibility, return correct status code_
#### [Trying to restore personal file to file of share received folder returns 403 but the share file is deleted (new dav path)](https://github.com/owncloud/ocis/issues/10356)
- [coreApiTrashbin/trashbinSharingToShares.feature:271](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L271)
- [coreApiTrashbin/trashbinSharingToShares.feature:281](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L281)
### Won't fix
@@ -8,6 +8,8 @@
- [apiContract/spacesReport.feature:34](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L34)
- [apiContract/spacesReport.feature:53](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L53)
- [apiContract/spacesReport.feature:71](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesReport.feature#L71)
- [apiContract/spacesSharesReport.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesSharesReport.feature#L48)
- [apiContract/spacesSharesReport.feature:78](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiContract/spacesSharesReport.feature#L78)
- [apiSearch1/dateSearch.feature:19](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L19)
- [apiSearch1/dateSearch.feature:39](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L39)
- [apiSearch1/dateSearch.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSearch1/dateSearch.feature#L40)
@@ -18,5 +18,7 @@ Feature: upload file
| ocs-api-version | dav-path-version |
| 1 | old |
| 1 | new |
| 1 | spaces |
| 2 | old |
| 2 | new |
| 2 | spaces |
@@ -14,7 +14,7 @@ Feature: attempt to PUT files with invalid password
Scenario: send PUT requests to webDav endpoints as normal user with wrong password
When user "Alice" requests these endpoints with "PUT" including body "doesnotmatter" using password "invalid" about user "Alice"
| endpoint |
| endpoint |
| /webdav/textfile0.txt |
| /dav/files/%username%/textfile0.txt |
| /webdav/PARENT |
@@ -25,7 +25,7 @@ Feature: attempt to PUT files with invalid password
Scenario: send PUT requests to webDav endpoints as normal user with no password
When user "Alice" requests these endpoints with "PUT" including body "doesnotmatter" using password "" about user "Alice"
| endpoint |
| endpoint |
| /webdav/textfile0.txt |
| /dav/files/%username%/textfile0.txt |
| /webdav/PARENT |
@@ -89,6 +89,7 @@ Feature: antivirus
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10331
@@ -168,6 +169,8 @@ Feature: antivirus
| old | eicar_com.zip | virusFile2.zip |
| new | eicar.com | virusFile1.txt |
| new | eicar_com.zip | virusFile2.zip |
| spaces | eicar.com | virusFile1.txt |
| spaces | eicar_com.zip | virusFile2.zip |
Scenario Outline: upload a file with virus to a user share using spaces dav endpoint
@@ -220,6 +223,8 @@ Feature: antivirus
| old | eicar_com.zip | virusFile2.zip |
| new | eicar.com | virusFile1.txt |
| new | eicar_com.zip | virusFile2.zip |
| spaces | eicar.com | virusFile1.txt |
| spaces | eicar_com.zip | virusFile2.zip |
Scenario Outline: upload a file with virus to a group share using spaces dav endpoint
@@ -428,6 +433,7 @@ Feature: antivirus
| dav-path-version |
| old |
| new |
| spaces |
Scenario: try to overwrite a file with the virus content in group share using spaces dav endpoint
@@ -491,6 +497,7 @@ Feature: antivirus
| dav-path-version |
| old |
| new |
| spaces |
Scenario: try to overwrite a file with the virus content in user share using spaces dav endpoint
@@ -39,6 +39,7 @@ Feature: REPORT request to Shares space
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: check the REPORT response of the found file
@@ -62,6 +63,7 @@ Feature: REPORT request to Shares space
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: search for the shared folder when share is not accepted
@@ -83,6 +85,7 @@ Feature: REPORT request to Shares space
| dav-path-version |
| old |
| new |
| spaces |
@issue-9607 @issue-10329 @env-config
Scenario Outline: check the REPORT response of a folder shared with secure viewer role
@@ -16,11 +16,11 @@ Feature: Report test
And user "Alice" has created a space "find data" with the default quota using the Graph API
And user "Alice" has created a folder "folderMain/SubFolder1/subFOLDER2" in space "find data"
And user "Alice" has uploaded a file inside space "find data" with content "some content" to "folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt"
And using new DAV path
Scenario: check the response of the found folder
Given user "Alice" has sent the following resource share invitation:
Scenario Outline: check the response of the found folder
Given using <dav-path-version> DAV path
And user "Alice" has sent the following resource share invitation:
| resource | folderMain |
| space | find data |
| sharee | Brian |
@@ -41,10 +41,16 @@ Feature: Report test
| oc:permissions | S |
| oc:size | 12 |
| oc:remote-item-id | %file_id_pattern% |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: check the response of the found file
Given user "Alice" has sent the following resource share invitation:
Scenario Outline: check the response of the found file
Given using <dav-path-version> DAV path
And user "Alice" has sent the following resource share invitation:
| resource | folderMain |
| space | find data |
| sharee | Brian |
@@ -65,10 +71,16 @@ Feature: Report test
| oc:permissions | SD |
| d:getcontentlength | 12 |
| oc:remote-item-id | %file_id_pattern% |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: search for the shared folder when the share is not accepted
Given user "Brian" has disabled auto-accepting
Scenario Outline: search for the shared folder when the share is not accepted
Given using <dav-path-version> DAV path
And user "Brian" has disabled auto-accepting
And user "Alice" has sent the following resource share invitation:
| resource | folderMain |
| space | find data |
@@ -80,3 +92,8 @@ Feature: Report test
And the following headers should match these regular expressions
| X-Request-Id | %request_id_pattern% |
And the search result should contain "0" entries
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -83,8 +83,8 @@ Feature: CORS headers
| Access-Control-Allow-Origin | https://aphno.badal |
@issue-8231
Scenario: CORS headers should be returned when setting CORS domain sending origin header in the Webdav api
Given using spaces DAV path
Scenario Outline: CORS headers should be returned when setting CORS domain sending origin header in the Webdav api
Given using <dav-path-version> DAV path
When user "Alice" sends PROPFIND request to space "Alice Hansen" with headers using the WebDAV API
| header | value |
| Origin | https://aphno.badal |
@@ -92,6 +92,11 @@ Feature: CORS headers
And the following headers should be set
| header | value |
| Access-Control-Allow-Origin | https://aphno.badal |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: CORS headers should be returned when setting CORS domain sending origin header in the settings api
@@ -72,8 +72,7 @@ Feature: PROPFIND with depth:infinity
@issue-10331
Scenario: get the list of resources in a folder shared through public link with depth infinity
Given using new DAV path
And using SharingNG
Given using SharingNG
And the following configs have been set:
| config | value |
| OCDAV_ALLOW_PROPFIND_DEPTH_INFINITY | true |
@@ -118,16 +117,17 @@ Feature: PROPFIND with depth:infinity
| simple-folder/simple-folder1/simple-folder2/welcome.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10331
Scenario: get the list of resources in a folder shared through public link with depth infinity when depth infinity is not allowed
Scenario Outline: get the list of resources in a folder shared through public link with depth infinity when depth infinity is not allowed
Given the following configs have been set:
| config | value |
| OCDAV_ALLOW_PROPFIND_DEPTH_INFINITY | false |
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | false |
And using new DAV path
And using <dav-path-version> DAV path
And using SharingNG
And user "Alice" has created the following resource link share:
| resource | simple-folder |
@@ -135,6 +135,10 @@ Feature: PROPFIND with depth:infinity
| permissionsRole | view |
When the public lists the resources in the last created public link with depth "infinity" using the WebDAV API
Then the HTTP status code should be "400"
Examples:
| dav-path-version |
| new |
| spaces |
Scenario Outline: get the list of files in the trashbin with depth infinity when depth infinity is not allowed
@@ -149,5 +153,6 @@ Feature: PROPFIND with depth:infinity
Then the HTTP status code should be "400"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -5,7 +5,7 @@ Feature: enforce password on public link
So that the password is required to access the contents of the link
Password requirements. set by default:
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | true |
| OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD | true |
| OCIS_PASSWORD_POLICY_MIN_CHARACTERS | 8 |
| OCIS_PASSWORD_POLICY_MIN_LOWERCASE_CHARACTERS | 1 |
| OCIS_PASSWORD_POLICY_MIN_UPPERCASE_CHARACTERS | 1 |
@@ -8,7 +8,8 @@ Feature: unassign user role
Scenario Outline: admin user unassigns the role of another user
Given user "Brian" has been created with default attributes and without skeleton files
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And the administrator has assigned the role "Admin" to user "Alice" using the Graph API
And the administrator has assigned the role "<user-role>" to user "Brian" using the Graph API
When user "Alice" unassigns the role of user "Brian" using the Graph API
@@ -17,11 +18,19 @@ Feature: unassign user role
When user "Brian" uploads file with content "this step will assign the role to default" to "assign-to-default.txt" using the WebDAV API
And user "Brian" should have the role "User" assigned
Examples:
| user-role |
| Admin |
| Space Admin |
| User |
| User Light |
| user-role | dav-path-version |
| Admin | old |
| Space Admin | old |
| User | old |
| User Light | old |
| Admin | new |
| Space Admin | new |
| User | new |
| User Light | new |
| Admin | spaces |
| Space Admin | spaces |
| User | spaces |
| User Light | spaces |
@issue-6035
Scenario: admin user tries to unassign his/her own role
@@ -167,8 +167,7 @@ Feature: List a sharing permissions
Scenario: user lists permissions of a project space
Given using spaces DAV path
And user "Brian" has been created with default attributes and without skeleton files
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 Graph API
When user "Alice" lists the permissions of space "new-space" using permissions endpoint of the Graph API
@@ -290,8 +289,7 @@ Feature: List a sharing permissions
@issues-8352
Scenario Outline: sharer lists permissions of a shared project space
Given using spaces DAV path
And user "Brian" has been created with default attributes and without skeleton files
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 Graph API
And user "Alice" has sent the following space share invitation:
@@ -1042,8 +1040,7 @@ Feature: List a sharing permissions
Scenario: try to lists the permissions of a Personal drive using root endpoint
Given using spaces DAV path
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
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 Graph API
When user "Alice" tries to list the permissions of space "Personal" using root endpoint of the Graph API
Then the HTTP status code should be "200"
@@ -1164,8 +1161,7 @@ Feature: List a sharing permissions
Scenario: try to lists the permissions of a Shares drive using root endpoint
Given using spaces DAV path
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
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 Graph API
When user "Alice" tries to list the permissions of space "Shares" using root endpoint of the Graph API
Then the HTTP status code should be "200"
@@ -1188,8 +1184,7 @@ Feature: List a sharing permissions
Scenario: space admin invites to a project space with all allowed roles
Given using spaces DAV path
And the administrator has assigned the role "Admin" to user "Alice" using the Graph API
Given the administrator has assigned the role "Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "new-space" with the default quota using the Graph API
And user "Brian" has been created with default attributes and without skeleton files
When user "Alice" lists the permissions of space "new-space" using permissions endpoint of the Graph API
@@ -1216,8 +1211,7 @@ Feature: List a sharing permissions
Scenario: non-member user tries to list the permissions of a project space using permissions endpoint
Given using spaces DAV path
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created a space "new-space" with the default quota using the Graph API
When user "Brian" tries to list the permissions of space "new-space" owned by "Alice" using permissions endpoint of the Graph API
@@ -1273,8 +1267,7 @@ Feature: List a sharing permissions
Scenario: try to list the permissions of other user's personal space
Given using spaces DAV path
And user "Brian" has been created with default attributes and without skeleton files
Given user "Brian" has been created with default attributes and without skeleton files
When user "Brian" tries to list the permissions of space "Personal" owned by "Alice" using permissions endpoint of the Graph API
Then the HTTP status code should be "404"
And the JSON data of the response should match
@@ -1313,8 +1306,7 @@ Feature: List a sharing permissions
Scenario Outline: sharer lists permissions of a shared project space using root endpoint
Given using spaces DAV path
And user "Brian" has been created with default attributes and without skeleton files
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 Graph API
And user "Alice" has sent the following space share invitation:
@@ -1590,8 +1582,7 @@ Feature: List a sharing permissions
Scenario: user sends share invitation with all allowed roles for a project space using root endpoint
Given using spaces DAV path
And the administrator has assigned the role "Admin" to user "Alice" using the Graph API
Given the administrator has assigned the role "Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "new-space" with the default quota using the Graph API
And user "Brian" has been created with default attributes and without skeleton files
When user "Alice" lists the permissions of space "new-space" using root endpoint of the Graph API
@@ -1603,8 +1594,7 @@ Feature: List a sharing permissions
@issue-9151
Scenario: non-member user tries to list the permissions of a project space using root endpoint
Given using spaces DAV path
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
Given the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created a space "new-space" with the default quota using the Graph API
When user "Brian" tries to list the permissions of space "new-space" owned by "Alice" using root endpoint of the Graph API
@@ -2391,4 +2381,4 @@ Feature: List a sharing permissions
}
}
}
"""
"""
@@ -12,7 +12,6 @@ Feature: MOVE file/folder
And user "Alice" has created folder "/PARENT"
And user "Alice" has created folder "/FOLDER"
And user "Alice" has uploaded file with content "some data" to "/PARENT/parent.txt"
And using new DAV path
@smokeTest
Scenario: send MOVE requests to webDav endpoints as normal user with wrong password
@@ -27,6 +27,7 @@ Feature: favorite
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: favorite a folder inside of a received share
@@ -47,6 +48,7 @@ Feature: favorite
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: favorite a received share itself
@@ -66,6 +68,7 @@ Feature: favorite
| dav-path-version |
| old |
| new |
| spaces |
@issue-1228
Scenario Outline: moving a favorite file out of a share keeps favorite state
@@ -87,6 +90,7 @@ Feature: favorite
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharee file favorite state should not change the favorite state of sharer
@@ -107,3 +111,4 @@ Feature: favorite
| dav-path-version |
| old |
| new |
| spaces |
@@ -81,6 +81,7 @@ Feature: checksums
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-1343
@@ -95,6 +96,7 @@ Feature: checksums
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -120,6 +122,7 @@ Feature: checksums
And as user "Alice" the webdav checksum of "/myChecksumFileCopy.txt" via propfind should match "SHA1:3ee962b839762adb0ad8ba6023a4690be478de6f MD5:d70b40f177b14b470d1756a3c12b963a ADLER32:8ae90960"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -132,12 +135,13 @@ Feature: checksums
And the header checksum when user "Alice" downloads file "/myChecksumFileCopy.txt" using the WebDAV API should match "SHA1:3ee962b839762adb0ad8ba6023a4690be478de6f"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-1291 @skipOnReva
Scenario: sharing a file with checksum should return the checksum in the propfind using new DAV path
Given using new DAV path
Scenario Outline: sharing a file with checksum should return the checksum in the propfind using new DAV path
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/myChecksumFile.txt" with checksum "MD5:d70b40f177b14b470d1756a3c12b963a"
And user "Alice" has sent the following resource share invitation:
@@ -150,10 +154,15 @@ Feature: checksums
When user "Brian" requests the checksum of "/Shares/myChecksumFile.txt" via propfind
Then the HTTP status code should be "207"
And the webdav checksum should match "SHA1:3ee962b839762adb0ad8ba6023a4690be478de6f MD5:d70b40f177b14b470d1756a3c12b963a ADLER32:8ae90960"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-1291 @skipOnReva
Scenario: modifying a shared file should return correct checksum in the propfind using new DAV path
Given using new DAV path
Scenario Outline: modifying a shared file should return correct checksum in the propfind using new DAV path
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/myChecksumFile.txt" with checksum "MD5:d70b40f177b14b470d1756a3c12b963a"
And user "Alice" has sent the following resource share invitation:
@@ -166,6 +175,11 @@ Feature: checksums
When user "Brian" uploads file with checksum "SHA1:ce5582148c6f0c1282335b87df5ed4be4b781399" and content "Some Text" to "/Shares/myChecksumFile.txt" using the WebDAV API
Then the HTTP status code should be "204"
And as user "Alice" the webdav checksum of "/myChecksumFile.txt" via propfind should match "SHA1:ce5582148c6f0c1282335b87df5ed4be4b781399 MD5:56e57920c3c8c727bfe7a5288cdf61c4 ADLER32:1048035a"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-1315
Scenario Outline: upload a file where checksum does not match
@@ -216,6 +230,7 @@ Feature: checksums
| /myChecksumFile.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -505,8 +505,9 @@ Feature: sharing
| 2 | 200 |
@issue-764 @issue-7555
Scenario: share a file by multiple channels and download from sub-folder and direct file share
Given these users have been created with default attributes and without skeleton files:
Scenario Outline: share a file by multiple channels and download from sub-folder and direct file share
Given using <dav-path-version> DAV path
And these users have been created with default attributes and without skeleton files:
| username |
| Brian |
| Carol |
@@ -542,6 +543,10 @@ Feature: sharing
| /Shares/textfile0.txt |
And the content of file "/Shares/common/sub/textfile0.txt" for user "Brian" should be "BLABLABLA" plus end-of-line
And the content of file "/common/sub/textfile0.txt" for user "Alice" should be "BLABLABLA" plus end-of-line
Examples:
| dav-path-version |
| old |
| new |
@smokeTest
Scenario Outline: creating a share of a renamed file
@@ -56,8 +56,9 @@ Feature: sharing
| 2 | 200 |
Scenario: orphaned shares
Given using OCS API version "1"
Scenario Outline: orphaned shares
Given using <dav-path-version> DAV path
And using OCS API version "1"
And user "Alice" has created folder "/common"
And user "Alice" has created folder "/common/sub"
And user "Alice" has sent the following resource share invitation:
@@ -70,10 +71,16 @@ Feature: sharing
Then the HTTP status code should be "204"
And as "Brian" folder "/Shares/sub" should not exist
And as "Brian" folder "/sub" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario: deleting a file out of a share as recipient creates a backup for the owner
Given using OCS API version "1"
Scenario Outline: deleting a file out of a share as recipient creates a backup for the owner
Given using <dav-path-version> DAV path
And using OCS API version "1"
And user "Alice" has created folder "/shared"
And user "Alice" has moved file "/textfile0.txt" to "/shared/shared_file.txt"
And user "Alice" has sent the following resource share invitation:
@@ -88,10 +95,16 @@ Feature: sharing
And as "Alice" file "/shared/shared_file.txt" should not exist
And as "Alice" file "/shared_file.txt" should exist in the trashbin
And as "Brian" the file with original path "/shared_file.txt" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: deleting a folder out of a share as recipient creates a backup for the owner
Given using OCS API version "1"
Scenario Outline: deleting a folder out of a share as recipient creates a backup for the owner
Given using <dav-path-version> DAV path
And using OCS API version "1"
And user "Alice" has created folder "/shared"
And user "Alice" has created folder "/shared/sub"
And user "Alice" has moved file "/textfile0.txt" to "/shared/sub/shared_file.txt"
@@ -109,6 +122,11 @@ Feature: sharing
And as "Alice" file "/sub/shared_file.txt" should exist in the trashbin
And as "Brian" the folder with original path "/sub" should not exist in the trashbin
And as "Brian" the file with original path "/sub/shared_file.txt" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario: unshare from self
@@ -136,8 +154,9 @@ Feature: sharing
And the etag of element "/PARENT" of user "Carol" should not have changed
Scenario: sharee of a read-only share folder tries to delete the shared folder
Given using OCS API version "1"
Scenario Outline: sharee of a read-only share folder tries to delete the shared folder
Given using <dav-path-version> DAV path
And using OCS API version "1"
And user "Alice" has created folder "/shared"
And user "Alice" has moved file "/textfile0.txt" to "/shared/shared_file.txt"
And user "Alice" has sent the following resource share invitation:
@@ -150,10 +169,16 @@ Feature: sharing
Then the HTTP status code should be "403"
And as "Alice" file "/shared/shared_file.txt" should exist
And as "Brian" file "/Shares/shared/shared_file.txt" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: sharee of a upload-only shared folder tries to delete a file in the shared folder
Given using OCS API version "1"
Scenario Outline: sharee of a upload-only shared folder tries to delete a file in the shared folder
Given using <dav-path-version> DAV path
And using OCS API version "1"
And user "Alice" has created folder "/shared"
And user "Alice" has moved file "/textfile0.txt" to "/shared/shared_file.txt"
And user "Alice" has sent the following resource share invitation:
@@ -166,10 +191,16 @@ Feature: sharing
Then the HTTP status code should be "403"
And as "Alice" file "/shared/shared_file.txt" should exist
And as "Brian" file "/Shares/shared/shared_file.txt" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: sharee of an upload-only shared folder tries to delete their file in the folder
Given using OCS API version "1"
Scenario Outline: sharee of an upload-only shared folder tries to delete their file in the folder
Given using <dav-path-version> DAV path
And using OCS API version "1"
And user "Alice" has created folder "/shared"
And user "Alice" has sent the following resource share invitation:
| resource | shared |
@@ -182,6 +213,11 @@ Feature: sharing
Then the HTTP status code should be "403"
And as "Alice" file "/shared/textfile.txt" should exist
And as "Brian" file "/Shares/shared/textfile.txt" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: group share recipient tries to delete the share
@@ -213,8 +213,9 @@ Feature: accept/decline shares coming from internal users
| /textfile0.txt |
Scenario: deleting shares in pending state
Given user "Brian" has disabled auto-accepting
Scenario Outline: deleting shares in pending state
Given using <dav-path-version> DAV path
And user "Brian" has disabled auto-accepting
And user "Alice" has sent the following resource share invitation:
| resource | PARENT |
| space | Personal |
@@ -231,6 +232,11 @@ Feature: accept/decline shares coming from internal users
And user "Alice" deletes file "/textfile0.txt" using the WebDAV API
Then the HTTP status code of responses on all endpoints should be "204"
And the sharing API should report that no shares are shared with user "Brian"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-2540
Scenario: only one user in a group accepts a share
@@ -533,8 +539,9 @@ Feature: accept/decline shares coming from internal users
And the content of file "/Shares/PARENT/abc.txt" for user "David" should be "uploaded content"
@issue-1123 @issue-2540
Scenario: deleting a share accepted file and folder
Given user "Brian" has disabled auto-accepting
Scenario Outline: deleting a share accepted file and folder
Given using <dav-path-version> DAV path
And user "Brian" has disabled auto-accepting
And user "Alice" has sent the following resource share invitation:
| resource | PARENT |
| space | Personal |
@@ -547,10 +554,15 @@ Feature: accept/decline shares coming from internal users
And the sharing API should report to user "Brian" that these shares are in the declined state
| path |
| /PARENT |
Examples:
| dav-path-version |
| old |
| new |
@issue-765 @issue-2131
Scenario: shares exist after restoring already shared file to a previous version
Given user "Brian" has disabled auto-accepting
Scenario Outline: shares exist after restoring already shared file to a previous version
Given using <dav-path-version> DAV path
And user "Brian" has disabled auto-accepting
And user "Alice" has uploaded file with content "Test Content." to "/toShareFile.txt"
And user "Alice" has uploaded file with content "Content Test Updated." to "/toShareFile.txt"
And user "Alice" has sent the following resource share invitation:
@@ -564,6 +576,11 @@ Feature: accept/decline shares coming from internal users
Then the HTTP status code should be "204"
And the content of file "/toShareFile.txt" for user "Alice" should be "Test Content."
And the content of file "/Shares/toShareFile.txt" for user "Brian" should be "Test Content."
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-2131
Scenario: user receives multiple group shares for matching file and folder name
@@ -109,8 +109,9 @@ Feature: sharing
And as "Brian" folder "/Shares/merge-test-inside-twogroups-perms (2)" should not exist
Scenario: merging shares for recipient when shared from outside with group then user and recipient renames in between
Given user "Alice" has created folder "/merge-test-outside-groups-renamebeforesecondshare"
Scenario Outline: merging shares for recipient when shared from outside with group then user and recipient renames in between
Given using <dav-path-version> DAV path
And user "Alice" has created folder "/merge-test-outside-groups-renamebeforesecondshare"
# Section 1: Brian receives and accepts the group share from Alice and moves and renames it out of the "Shares" folder
When user "Alice" shares folder "/merge-test-outside-groups-renamebeforesecondshare" with group "grp1" using the sharing API
And user "Brian" accepts share "/merge-test-outside-groups-renamebeforesecondshare" offered by user "Alice" using the sharing API
@@ -126,10 +127,16 @@ Feature: sharing
And the HTTP status code of responses on all endpoints should be "200"
And as "Brian" folder "/Shares/merge-test-outside-groups-renamebeforesecondshare" should exist
But as "Brian" folder "/merge-test-outside-groups-renamebeforesecondshare-renamed" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: merging shares for recipient when shared from outside with user then group and recipient renames in between
Given user "Alice" has created folder "/merge-test-outside-groups-renamebeforesecondshare"
Scenario Outline: merging shares for recipient when shared from outside with user then group and recipient renames in between
Given using <dav-path-version> DAV path
And user "Alice" has created folder "/merge-test-outside-groups-renamebeforesecondshare"
# Section 1: Brian receives and accepts the user share from Alice and moves and renames it out of the "Shares" folder
When user "Alice" shares folder "/merge-test-outside-groups-renamebeforesecondshare" with user "Brian" using the sharing API
And user "Brian" accepts share "/merge-test-outside-groups-renamebeforesecondshare" offered by user "Alice" using the sharing API
@@ -146,3 +153,8 @@ Feature: sharing
And the HTTP status code of responses on all endpoints should be "200"
And as "Brian" folder "/Shares/merge-test-outside-groups-renamebeforesecondshare" should exist
But as "Brian" folder "/merge-test-outside-groups-renamebeforesecondshare-renamed" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -173,8 +173,9 @@ Feature: sharing
| /dav/spaces/%shares_drive_id% | /dav/spaces/%spaceid% | Secure Viewer |
Scenario: keep group share when the one user renames the share and the user is deleted
Given group "grp1" has been created
Scenario Outline: keep group share when the one user renames the share and the user is deleted
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Brian" has been added to group "grp1"
And user "Carol" has been added to group "grp1"
And user "Alice" has created folder "/TMP"
@@ -189,10 +190,16 @@ Feature: sharing
And the administrator deletes user "Carol" using the provisioning API
Then the HTTP status code of responses on each endpoint should be "201, 204" respectively
And as "Alice" file "Shares/TMP" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received share with read, change permissions inside the Shares folder
Given user "Alice" has created folder "folderToShare"
Scenario Outline: receiver renames a received share with read, change permissions inside the Shares folder
Given using <dav-path-version> DAV path
And user "Alice" has created folder "folderToShare"
And user "Alice" has uploaded file with content "thisIsAFileInsideTheSharedFolder" to "/folderToShare/fileInside"
And user "Alice" has sent the following resource share invitation:
| resource | folderToShare |
@@ -210,10 +217,16 @@ Feature: sharing
And as "Brian" file "/Shares/myFolder/renamedFile" should exist
And as "Alice" file "/folderToShare/renamedFile" should exist
But as "Alice" file "/folderToShare/fileInside" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@env-config
Scenario Outline: receiver tries to rename a received share with read permissions inside the Shares folder
Given user "Alice" has created folder "folderToShare"
Given using <dav-path-version> DAV path
And user "Alice" has created folder "folderToShare"
And the administrator has enabled the permissions role "Secure Viewer"
And user "Alice" has created folder "folderToShare/folderInside"
And user "Alice" has uploaded file with content "thisIsAFileInsideTheSharedFolder" to "/folderToShare/fileInside"
@@ -237,13 +250,18 @@ Feature: sharing
And as "Brian" folder "/Shares/myFolder/renamedFolder" should not exist
But as "Brian" folder "Shares/myFolder/folderInside" should exist
Examples:
| permissions-role |
| Viewer |
| Secure Viewer |
| permissions-role | dav-path-version |
| Viewer | old |
| Secure Viewer | old |
| Viewer | new |
| Secure Viewer | new |
| Viewer | spaces |
| Secure Viewer | spaces |
Scenario: receiver renames a received folder share to a different name on the same folder
Given user "Alice" has created folder "PARENT"
Scenario Outline: receiver renames a received folder share to a different name on the same folder
Given using <dav-path-version> DAV path
And user "Alice" has created folder "PARENT"
And user "Alice" has sent the following resource share invitation:
| resource | PARENT |
| space | Personal |
@@ -255,10 +273,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" folder "/Shares/myFolder" should exist
But as "Alice" folder "myFolder" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received file share to different name on the same folder
Given user "Alice" has uploaded file "filesForUpload/textfile.txt" to "fileToShare.txt"
Scenario Outline: receiver renames a received file share to different name on the same folder
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "fileToShare.txt"
And user "Alice" has sent the following resource share invitation:
| resource | fileToShare.txt |
| space | Personal |
@@ -270,10 +294,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" file "/Shares/newFile.txt" should exist
But as "Alice" file "newFile.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received file share to different name on the same folder for group sharing
Given group "grp1" has been created
Scenario Outline: receiver renames a received file share to different name on the same folder for group sharing
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Brian" has been added to group "grp1"
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "fileToShare.txt"
And user "Alice" has sent the following resource share invitation:
@@ -287,10 +317,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" file "/Shares/newFile.txt" should exist
But as "Alice" file "newFile.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received folder share to different name on the same folder for group sharing
Given group "grp1" has been created
Scenario Outline: receiver renames a received folder share to different name on the same folder for group sharing
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Alice" has created folder "PARENT"
And user "Brian" has been added to group "grp1"
And user "Alice" has sent the following resource share invitation:
@@ -304,10 +340,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" folder "/Shares/myFolder" should exist
But as "Alice" folder "myFolder" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received file share with read,update permissions inside the Shares folder in group sharing
Given group "grp1" has been created
Scenario Outline: receiver renames a received file share with read,update permissions inside the Shares folder in group sharing
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Brian" has been added to group "grp1"
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "fileToShare.txt"
And user "Alice" has sent the following resource share invitation:
@@ -321,10 +363,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" file "/Shares/newFile.txt" should exist
But as "Alice" file "/Shares/newFile.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received folder share with read, change permissions inside the Shares folder in group sharing
Given group "grp1" has been created
Scenario Outline: receiver renames a received folder share with read, change permissions inside the Shares folder in group sharing
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Alice" has created folder "PARENT"
And user "Brian" has been added to group "grp1"
And user "Alice" has sent the following resource share invitation:
@@ -338,10 +386,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" folder "/Shares/myFolder" should exist
But as "Alice" folder "/Shares/myFolder" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received file share with share, read permissions inside the Shares folder in group sharing)
Given group "grp1" has been created
Scenario Outline: receiver renames a received file share with share, read permissions inside the Shares folder in group sharing)
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Brian" has been added to group "grp1"
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "fileToShare.txt"
And user "Alice" has sent the following resource share invitation:
@@ -355,10 +409,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" file "/Shares/newFile.txt" should exist
But as "Alice" file "/Shares/newFile.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: receiver renames a received folder share with read permissions inside the Shares folder in group sharing
Given group "grp1" has been created
Scenario Outline: receiver renames a received folder share with read permissions inside the Shares folder in group sharing
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Alice" has created folder "PARENT"
And user "Brian" has been added to group "grp1"
And user "Alice" has sent the following resource share invitation:
@@ -372,10 +432,16 @@ Feature: sharing
Then the HTTP status code should be "201"
And as "Brian" folder "/Shares/myFolder" should exist
But as "Alice" folder "/Shares/myFolder" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-2141
Scenario Outline: receiver renames a received folder share to name with special characters in group sharing
Given group "grp1" has been created
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Carol" has been added to group "grp1"
And user "Alice" has created folder "<sharer-folder>"
And user "Alice" has created folder "<group-folder>"
@@ -396,13 +462,18 @@ Feature: sharing
And as "Alice" folder "<receiver-folder>" should not exist
But as "Carol" folder "/Shares/<receiver-folder>" should exist
Examples:
| sharer-folder | group-folder | receiver-folder |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d |
| sharer-folder | group-folder | receiver-folder | dav-path-version |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a | old |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d | old |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a | new |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d | new |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a | spaces |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d | spaces |
@issue-2141
Scenario Outline: receiver renames a received file share to name with special characters with read, change permissions in group sharing
Given group "grp1" has been created
Given using <dav-path-version> DAV path
And group "grp1" has been created
And user "Carol" has been added to group "grp1"
And user "Alice" has created folder "<sharer-folder>"
And user "Alice" has created folder "<group-folder>"
@@ -425,6 +496,10 @@ Feature: sharing
And as "Alice" file "<group-folder>/<receiver_file>" should exist
And as "Carol" file "/Shares/<group-folder>/<receiver_file>" should exist
Examples:
| sharer-folder | group-folder | receiver_file |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d |
| sharer-folder | group-folder | receiver_file | dav-path-version |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a | old |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d | old |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a | new |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d | new |
| ?abc=oc # | ?abc=oc g%rp# | # oc?test=oc&a | spaces |
| @a#8a=b?c=d | @a#8a=b?c=d grp | ?a#8 a=b?c=d | spaces |
@@ -30,16 +30,23 @@ Feature: moving a share inside another share
And user "Brian" has a share "folderB" synced
Scenario: share receiver cannot move a whole share inside another share
Scenario Outline: share receiver cannot move a whole share inside another share
Given using <dav-path-version> DAV path
When user "Brian" moves folder "Shares/folderB" to "Shares/folderA/folderB" using the WebDAV API
Then the HTTP status code should be "502"
And as "Alice" folder "/folderB" should exist
And as "Brian" folder "/Shares/folderB" should exist
And as "Alice" file "/folderB/fileB.txt" should exist
And as "Brian" file "/Shares/folderB/fileB.txt" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: share owner moves a whole share inside another share
Scenario Outline: share owner moves a whole share inside another share
Given using <dav-path-version> DAV path
When user "Alice" moves folder "folderB" to "folderA/folderB" using the WebDAV API
Then the HTTP status code should be "201"
And as "Alice" folder "/folderB" should not exist
@@ -48,10 +55,16 @@ Feature: moving a share inside another share
And as "Alice" file "/folderA/folderB/fileB.txt" should exist
And as "Brian" file "/Shares/folderA/folderB/fileB.txt" should exist
And as "Brian" file "/Shares/folderB/fileB.txt" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: share receiver moves a local folder inside a received share (local folder does not have a share in it)
Given user "Brian" has created folder "localFolder"
Scenario Outline: share receiver moves a local folder inside a received share (local folder does not have a share in it)
Given using <dav-path-version> DAV path
And user "Brian" has created folder "localFolder"
And user "Brian" has created folder "localFolder/subFolder"
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt"
When user "Brian" moves folder "localFolder" to "Shares/folderA/localFolder" using the WebDAV API
@@ -59,12 +72,23 @@ Feature: moving a share inside another share
And as "Brian" folder "/Shares/folderA/localFolder" should not exist
And as "Alice" folder "/folderA/localFolder" should not exist
And as "Brian" folder "/localFolder" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: share receiver tries to move a whole share inside a local folder
Given user "Brian" has created folder "localFolder"
Scenario Outline: share receiver tries to move a whole share inside a local folder
Given using <dav-path-version> DAV path
And user "Brian" has created folder "localFolder"
And user "Brian" has uploaded file with content "local text" to "/localFolder/localFile.txt"
When user "Brian" moves folder "Shares/folderB" to "localFolder/folderB" using the WebDAV API
Then the HTTP status code should be "502"
And as "Alice" file "/folderB/fileB.txt" should exist
And as "Brian" file "/Shares/folderB/fileB.txt" should exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -41,6 +41,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: overwrite a received file share
@@ -62,4 +63,5 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@@ -46,6 +46,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: check webdav share-permissions for received group shared file with edit
@@ -69,6 +70,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva @issue-2213
Scenario Outline: check webdav share-permissions for received file without edit permissions
@@ -90,6 +92,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: check webdav share-permissions for owned folder
@@ -126,6 +129,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: check webdav share-permissions for received group shared folder with all permissions
@@ -149,11 +153,11 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva @issue-2213
Scenario Outline: check webdav share-permissions for received folder with all permissions but edit
Given using <dav-path-version> DAV path
And user "Alice" has created folder "/tmp"
Scenario: check webdav share-permissions for received folder with all permissions but edit
Given user "Alice" has created folder "/tmp"
And user "Alice" has sent the following resource share invitation:
| resource | tmp |
| space | Personal |
@@ -166,15 +170,10 @@ Feature: sharing
| permissions | delete,create,read |
Then the HTTP status code should be "200"
And as user "Brian" folder "/Shares/tmp" should contain a property "ocs:share-permissions" with value "13"
Examples:
| dav-path-version |
| old |
| new |
Scenario Outline: check webdav share-permissions for received group shared folder with all permissions but edit
Given using <dav-path-version> DAV path
And group "grp1" has been created
Scenario: check 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 using SharingNG
@@ -189,15 +188,10 @@ Feature: sharing
| permissions | delete,create,read |
Then the HTTP status code should be "200"
And as user "Brian" folder "/Shares/tmp" should contain a property "ocs:share-permissions" with value "13"
Examples:
| dav-path-version |
| old |
| new |
@skipOnReva
Scenario Outline: check webdav share-permissions for received folder with all permissions but create
Given using <dav-path-version> DAV path
And user "Alice" has created folder "/tmp"
Scenario: check webdav share-permissions for received folder with all permissions but create
Given user "Alice" has created folder "/tmp"
And user "Alice" has sent the following resource share invitation:
| resource | tmp |
| space | Personal |
@@ -210,15 +204,10 @@ Feature: sharing
| permissions | delete,update,read |
Then the HTTP status code should be "200"
And as user "Brian" folder "/Shares/tmp" should contain a property "ocs:share-permissions" with value "11"
Examples:
| dav-path-version |
| old |
| new |
Scenario Outline: check webdav share-permissions for received group shared folder with all permissions but create
Given using <dav-path-version> DAV path
And group "grp1" has been created
Scenario: check 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 using SharingNG
@@ -233,15 +222,10 @@ Feature: sharing
| permissions | delete,update,read |
Then the HTTP status code should be "200"
And as user "Brian" folder "/Shares/tmp" should contain a property "ocs:share-permissions" with value "11"
Examples:
| dav-path-version |
| old |
| new |
@skipOnReva
Scenario Outline: check webdav share-permissions for received folder with all permissions but delete
Given using <dav-path-version> DAV path
And user "Alice" has created folder "/tmp"
Scenario: check webdav share-permissions for received folder with all permissions but delete
Given user "Alice" has created folder "/tmp"
And user "Alice" has sent the following resource share invitation:
| resource | tmp |
| space | Personal |
@@ -254,15 +238,10 @@ Feature: sharing
| permissions | create,update,read |
Then the HTTP status code should be "200"
And as user "Brian" folder "/Shares/tmp" should contain a property "ocs:share-permissions" with value "7"
Examples:
| dav-path-version |
| old |
| new |
Scenario Outline: check webdav share-permissions for received group shared folder with all permissions but delete
Given using <dav-path-version> DAV path
And group "grp1" has been created
Scenario: check 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 using SharingNG
@@ -277,7 +256,3 @@ Feature: sharing
| permissions | create,update,read |
Then the HTTP status code should be "200"
And as user "Brian" folder "/Shares/tmp" should contain a property "ocs:share-permissions" with value "7"
Examples:
| dav-path-version |
| old |
| new |
@@ -8,8 +8,9 @@ Feature: sharing
Given user "Alice" has been created with default attributes and without skeleton files
Scenario: uploading file to a user read-only share folder does not work
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: uploading file to a user read-only share folder does not work
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created folder "FOLDER"
And user "Alice" has sent the following resource share invitation:
| resource | FOLDER |
@@ -20,6 +21,11 @@ Feature: sharing
When user "Brian" uploads file "filesForUpload/textfile.txt" to "/Shares/FOLDER/textfile.txt" using the WebDAV API
Then the HTTP status code should be "403"
And as "Alice" file "/FOLDER/textfile.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading file to a group read-only share folder does not work
@@ -43,6 +49,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading file to a user upload-only share folder works
@@ -70,6 +77,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading file to a group upload-only share folder works
@@ -99,6 +107,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario Outline: uploading file to a user read/write share folder works
@@ -124,6 +133,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading file to a group read/write share folder works
@@ -151,6 +161,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario Outline: check quota of owners parent directory of a shared file
@@ -179,6 +190,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading to a user shared folder with read/write permission when the sharer has insufficient quota does not work
@@ -200,6 +212,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading to a group shared folder with read/write permission when the sharer has insufficient quota does not work
@@ -223,6 +236,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading to a user shared folder with upload-only permission when the sharer has insufficient quota does not work
@@ -244,6 +258,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: uploading to a group shared folder with upload-only permission when the sharer has insufficient quota does not work
@@ -267,6 +282,7 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharer can download file uploaded with different permission by sharee to a shared folder
@@ -287,7 +303,11 @@ Feature: sharing
Examples:
| dav-path-version | permissions-role |
| old | Editor |
| old | Uploader |
| new | Editor |
| new | Uploader |
| spaces | Editor |
| spaces | Uploader |
Scenario Outline: upload an empty file (size zero byte) to a shared folder
@@ -309,3 +329,4 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@@ -68,7 +68,8 @@ Feature: accessing a public link share
Then the HTTP status code of responses on all endpoints should be "200"
@issue-web-10473
Scenario: user tries to download public link file using own basic auth
Scenario Outline: user tries to download public link file using own basic auth
Given using <dav-path-version> DAV path
And user "Alice" has created folder "FOLDER"
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "FOLDER/textfile.txt"
And using SharingNG
@@ -79,3 +80,7 @@ Feature: accessing a public link share
| 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
Then the HTTP status code should be "401"
Examples:
| dav-path-version |
| new |
| spaces |
@@ -127,8 +127,9 @@ Feature: sharing
| 2 | 400 | create,delete |
@issue-2442
Scenario: share ownership change after moving a shared file to another share
Given these users have been created with default attributes and without skeleton files:
Scenario Outline: share ownership change after moving a shared file to another share
Given using <dav-path-version> DAV path
And these users have been created with default attributes and without skeleton files:
| username |
| Brian |
| Carol |
@@ -151,6 +152,11 @@ Feature: sharing
And user "Brian" has a share "Carol-folder" synced
When user "Brian" moves folder "/Shares/Alice-folder/folder2" to "/Shares/Carol-folder/folder2" using the WebDAV API
Then the HTTP status code should be "502"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-1253 @issue-1224 @issue-1225
Scenario Outline: change the permission of the share and check the API response
@@ -252,3 +258,4 @@ Feature: sharing
| dav-path-version |
| old |
| new |
| spaces |
@@ -26,6 +26,8 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "<file-name-2>" should not exist in the trashbin
Examples:
| dav-path-version | file-name | file-name-2 |
| old | textfile0.txt | textfile1.txt |
| old | sample,0.txt | sample,1.txt |
| new | textfile0.txt | textfile1.txt |
| new | sample,0.txt | sample,1.txt |
| spaces | textfile0.txt | textfile1.txt |
@@ -46,6 +48,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/PARENT/CHILD/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -69,6 +72,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/PARENT/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -88,6 +92,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/PARENT/CHILD/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -107,6 +112,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/PARENT/CHILD/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -126,6 +132,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/PARENT/CHILD/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -147,6 +154,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/FOLDER/CHILD/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -168,6 +176,7 @@ Feature: files and folders can be deleted from the trashbin
And as "Alice" the file with original path "/FOLDER/CHILD/child.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -201,6 +210,7 @@ Feature: files and folders can be deleted from the trashbin
| # %ab ab?=ed.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -234,6 +244,7 @@ Feature: files and folders can be deleted from the trashbin
| # %ab ab?=ed |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -279,5 +290,6 @@ Feature: files and folders can be deleted from the trashbin
| /fo.exe |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -17,6 +17,7 @@ Feature: files and folders exist in the trashbin after being deleted
But as "Alice" file "/textfile0.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -29,6 +30,7 @@ Feature: files and folders exist in the trashbin after being deleted
And as "Alice" folder "/tmp" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -44,6 +46,7 @@ Feature: files and folders exist in the trashbin after being deleted
But as "Alice" file "/new-folder/new-file.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -67,6 +70,7 @@ Feature: files and folders exist in the trashbin after being deleted
But as "Alice" file "/shared/shared_file.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -88,6 +92,7 @@ Feature: files and folders exist in the trashbin after being deleted
And as "Alice" the folder with original path "/shared" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -119,6 +124,7 @@ Feature: files and folders exist in the trashbin after being deleted
And as "Alice" the folder with original path "/textfile0.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -138,6 +144,7 @@ Feature: files and folders exist in the trashbin after being deleted
And as "Alice" the folder with original path "/textfile0.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -155,6 +162,7 @@ Feature: files and folders exist in the trashbin after being deleted
| textfile1.txt | testtrashbin100 |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -175,6 +183,7 @@ Feature: files and folders exist in the trashbin after being deleted
| textfile2.txt | testtrashbin101 |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -200,6 +209,7 @@ Feature: files and folders exist in the trashbin after being deleted
| textfile3.txt | testtrashbin102 |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -212,6 +222,7 @@ Feature: files and folders exist in the trashbin after being deleted
Then the HTTP status code should be "404"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -222,6 +233,7 @@ Feature: files and folders exist in the trashbin after being deleted
Then the HTTP status code should be "404"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -237,6 +249,7 @@ Feature: files and folders exist in the trashbin after being deleted
| /textfile0.txt | Alice |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -252,6 +265,7 @@ Feature: files and folders exist in the trashbin after being deleted
| /textfile0.txt | Alice |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -266,6 +280,9 @@ Feature: files and folders exist in the trashbin after being deleted
But as "<user>" file "/textfile0.txt" should not exist
Examples:
| dav-path-version | user |
| old | dash-123 |
| old | null |
| old | nil |
| new | dash-123 |
| new | null |
| new | nil |
@@ -283,6 +300,7 @@ Feature: files and folders exist in the trashbin after being deleted
But as "Alice" file "sample,1.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -299,6 +317,7 @@ Feature: files and folders exist in the trashbin after being deleted
But as "Alice" file "/new-folder/new-file.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -312,6 +331,7 @@ Feature: files and folders exist in the trashbin after being deleted
And the deleted file "file.txt" should have the correct deletion mtime in the response
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -369,6 +389,7 @@ Feature: files and folders exist in the trashbin after being deleted
| fo.xyz |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -426,5 +447,6 @@ Feature: files and folders exist in the trashbin after being deleted
| fo.xyz |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -27,6 +27,7 @@ Feature: using trashbin together with sharing
And as "Brian" the folder with original path "/Shares/renamed_shared" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -50,6 +51,7 @@ Feature: using trashbin together with sharing
And as "Alice" the file with original path "/shared/shared_file.txt" should exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -78,6 +80,7 @@ Feature: using trashbin together with sharing
And as "Carol" the file with original path "/Shares/shared/shared_file.txt" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -106,6 +109,7 @@ Feature: using trashbin together with sharing
And as "Carol" the file with original path "/Shares/shared/shared_file.txt" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -135,6 +139,7 @@ Feature: using trashbin together with sharing
And as "Carol" the file with original path "/Shares/shared/sub/shared_file.txt" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -164,6 +169,7 @@ Feature: using trashbin together with sharing
And as "Carol" the file with original path "/Shares/shared/sub/shared_file.txt" should not exist in the trashbin
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -193,6 +199,7 @@ Feature: using trashbin together with sharing
And the content of file "/Shares/renamed_shared/shared_file.txt" for user "Brian" should be "file to delete"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -218,6 +225,7 @@ Feature: using trashbin together with sharing
And as "Brian" file "/shareFolderParent/textfile0.txt" should exist
Examples:
| dav-path-version | http-status-code |
| old | 400 |
| new | 403 |
| spaces | 400 |
@@ -243,6 +251,7 @@ Feature: using trashbin together with sharing
And as "Brian" file "/shareFolderParent/shareFolderChild/textfile0.txt" should not exist
Examples:
| dav-path-version | http-status-code |
| old | 400 |
| new | 403 |
| spaces | 400 |
@@ -268,5 +277,6 @@ Feature: using trashbin together with sharing
And as "Alice" file "/Shares/shareFolderParent/textfile0.txt" should exist
Examples:
| dav-path-version | http-status-code |
| old | 400 |
| new | 403 |
| spaces | 400 |
@@ -142,6 +142,7 @@ Feature: restore deleted files/folders
| /textfile0.txt |
Examples:
| dav-path-version | http-status-code |
| old | 404 |
| new | 404 |
| spaces | 400 |
@@ -157,6 +158,7 @@ Feature: restore deleted files/folders
| /textfile0.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -172,6 +174,7 @@ Feature: restore deleted files/folders
| /textfile0.txt |
Examples:
| dav-path-version |
| old |
| spaces |
| new |
@@ -464,6 +467,7 @@ Feature: restore deleted files/folders
| /parent_folder/sub/parent.txt |
Examples:
| dav-path-version |
| old |
| spaces |
| new |
@@ -479,6 +483,7 @@ Feature: restore deleted files/folders
| /parent.txt |
Examples:
| dav-path-version |
| old |
| spaces |
| new |
@@ -9,20 +9,26 @@ Feature: checking file versions
| username |
| Alice |
| Brian |
And using spaces DAV path
Scenario: check version number of a file when versioning is disabled
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
Scenario Outline: check version number of a file when versioning is disabled
Given using <dav-path-version> DAV path
And the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 2" to "/testfile.txt"
When user "Alice" gets the number of versions of file "/testfile.txt"
Then the HTTP status code should be "207"
And the number of versions should be "0"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: file version number should not be added after disabling versioning
Given user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
Scenario Outline: file version number should not be added after disabling versioning
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 2" to "/testfile.txt"
And the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 3" to "/testfile.txt"
@@ -30,10 +36,16 @@ Feature: checking file versions
When user "Alice" gets the number of versions of file "/testfile.txt"
Then the HTTP status code should be "207"
And the number of versions should be "1"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharee tries to check version number of a file shared from project space when versioning is disabled
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
Given using spaces DAV path
And the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And the administrator has assigned the role "Space Admin" to user "Alice" using the Graph API
And user "Alice" has created a space "Project1" with the default quota using the Graph API
And user "Alice" has uploaded a file inside space "Project1" with content "hello world version 1" to "text.txt"
@@ -54,7 +66,8 @@ Feature: checking file versions
Scenario Outline: sharee tries to check version number of a file shared from personal space when versioning is disabled
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
Given using <dav-path-version> DAV path
And the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 2" to "/text.txt"
And user "Alice" has sent the following resource share invitation:
| resource | text.txt |
@@ -66,13 +79,18 @@ Feature: checking file versions
When user "Brian" tries to get the number of versions of file "/text.txt" from space "Shares"
Then the HTTP status code should be "403"
Examples:
| permissionsRole |
| File Editor |
| Viewer |
| permissionsRole | dav-path-version |
| File Editor | old |
| Viewer | old |
| File Editor | new |
| Viewer | new |
| File Editor | spaces |
| Viewer | spaces |
Scenario: check file version number after disabling versioning, creating versions and then enabling versioning
Given the config "OCIS_DISABLE_VERSIONING" has been set to "true"
Scenario Outline: check file version number after disabling versioning, creating versions and then enabling versioning
Given using <dav-path-version> DAV path
And the config "OCIS_DISABLE_VERSIONING" has been set to "true"
And user "Alice" has uploaded file with content "test file version 1" to "/testfile.txt"
And user "Alice" has uploaded file with content "test file version 2" to "/testfile.txt"
And the config "OCIS_DISABLE_VERSIONING" has been set to "false"
@@ -81,3 +99,8 @@ Feature: checking file versions
When user "Alice" gets the number of versions of file "/testfile.txt"
Then the HTTP status code should be "207"
And the number of versions should be "2"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -6,7 +6,6 @@ Feature: file versions remember the author of each version
Background:
Given using OCS API version "2"
And using new DAV path
And user "Alice" has been created with default attributes and without skeleton files
And user "Brian" has been created with default attributes and without skeleton files
And user "Carol" has been created with default attributes and without skeleton files
@@ -5,129 +5,208 @@ Feature: dav-versions
Background:
Given using OCS API version "2"
And using new DAV path
And user "Alice" has been created with default attributes and without skeleton files
Scenario: upload file and no version is available
Scenario Outline: upload file and no version is available
Given using <dav-path-version> DAV path
When user "Alice" uploads file "filesForUpload/davtest.txt" to "/davtest.txt" using the WebDAV API
Then the HTTP status code should be "201"
And the version folder of file "/davtest.txt" for user "Alice" should contain "0" elements
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: upload file and no version is available using various chunking methods (except new chunking)
Scenario Outline: upload file and no version is available using various chunking methods (except new chunking)
Given using <dav-path-version> DAV path
When user "Alice" uploads file "filesForUpload/davtest.txt" to filenames based on "/davtest.txt" with all mechanisms except new chunking using the WebDAV API
Then the HTTP status code of all upload responses should be "201"
And the version folder of file "/davtest.txt-olddav-regular" for user "Alice" should contain "0" elements
And the version folder of file "/davtest.txt-newdav-regular" for user "Alice" should contain "0" elements
And the version folder of file "/davtest.txt-olddav-oldchunking" for user "Alice" should contain "0" elements
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario: upload a file twice and versions are available
Scenario Outline: upload a file twice and versions are available
Given using <dav-path-version> DAV path
When user "Alice" uploads file "filesForUpload/davtest.txt" to "/davtest.txt" using the WebDAV API
And user "Alice" uploads file "filesForUpload/davtest.txt" to "/davtest.txt" using the WebDAV API
Then the HTTP status code of responses on each endpoint should be "201, 204" respectively
And the version folder of file "/davtest.txt" for user "Alice" should contain "1" element
And the content length of file "/davtest.txt" with version index "1" for user "Alice" in versions folder should be "8"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: upload a file twice and versions are available using various chunking methods (except new chunking)
Scenario Outline: upload a file twice and versions are available using various chunking methods (except new chunking)
Given using <dav-path-version> DAV path
When user "Alice" uploads file "filesForUpload/davtest.txt" to filenames based on "/davtest.txt" with all mechanisms except new chunking using the WebDAV API
And user "Alice" uploads file "filesForUpload/davtest.txt" to filenames based on "/davtest.txt" with all mechanisms except new chunking using the WebDAV API
Then the HTTP status code of all upload responses should be between "201" and "204"
And the version folder of file "/davtest.txt-olddav-regular" for user "Alice" should contain "1" element
And the version folder of file "/davtest.txt-newdav-regular" for user "Alice" should contain "1" element
And the version folder of file "/davtest.txt-olddav-oldchunking" for user "Alice" should contain "1" element
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario: remove a file
Given user "Alice" has uploaded file "filesForUpload/davtest.txt" to "/davtest.txt"
Scenario Outline: remove a file
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/davtest.txt" to "/davtest.txt"
And user "Alice" has uploaded file "filesForUpload/davtest.txt" to "/davtest.txt"
And the version folder of file "/davtest.txt" for user "Alice" should contain "1" element
And user "Alice" has deleted file "/davtest.txt"
When user "Alice" uploads file "filesForUpload/davtest.txt" to "/davtest.txt" using the WebDAV API
Then the HTTP status code should be "201"
And the version folder of file "/davtest.txt" for user "Alice" should contain "0" elements
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
Scenario: restore a file and check its content
Given user "Alice" has uploaded file with content "Test Content." to "/davtest.txt"
Scenario Outline: restore a file and check its content
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "Test Content." to "/davtest.txt"
And user "Alice" has uploaded file with content "Content Test Updated." to "/davtest.txt"
And the version folder of file "/davtest.txt" for user "Alice" should contain "1" element
When user "Alice" restores version index "1" of file "/davtest.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the content of file "/davtest.txt" for user "Alice" should be "Test Content."
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest @skipOnStorage:ceph @skipOnStorage:scality
Scenario: restore a file back to bigger content and check its content
Given user "Alice" has uploaded file with content "Back To The Future." to "/davtest.txt"
Scenario Outline: restore a file back to bigger content and check its content
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "Back To The Future." to "/davtest.txt"
And user "Alice" has uploaded file with content "Update Content." to "/davtest.txt"
And the version folder of file "/davtest.txt" for user "Alice" should contain "1" element
When user "Alice" restores version index "1" of file "/davtest.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the content of file "/davtest.txt" for user "Alice" should be "Back To The Future."
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest @skipOnStorage:ceph
Scenario: uploading a chunked file does create the correct version that can be restored
Given using old DAV path
Scenario Outline: uploading a chunked file does create the correct version that can be restored
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "textfile0" to "textfile0.txt"
When user "Alice" uploads file "filesForUpload/davtest.txt" to "/textfile0.txt" in 2 chunks using the WebDAV API
And user "Alice" uploads file "filesForUpload/lorem.txt" to "/textfile0.txt" in 3 chunks using the WebDAV API
# HTTP status code is different for old (201) and new (204) WebDav API when uploading in chunks
Then the HTTP status code of responses on all endpoints should be "201"
And the version folder of file "/textfile0.txt" for user "Alice" should contain "2" elements
When user "Alice" restores version index "1" of file "/textfile0.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the content of file "/textfile0.txt" for user "Alice" should be "Dav-Test"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnStorage:ceph @skipOnStorage:scality
Scenario: restore a file and check the content and checksum
Given user "Alice" has uploaded file with content "AAAAABBBBBCCCCC" and checksum "MD5:45a72715acdd5019c5be30bdbb75233e" to "/davtest.txt"
Scenario Outline: restore a file and check the content and checksum
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "AAAAABBBBBCCCCC" and checksum "MD5:45a72715acdd5019c5be30bdbb75233e" to "/davtest.txt"
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "/davtest.txt" with checksum "MD5:d70b40f177b14b470d1756a3c12b963a"
And the version folder of file "/davtest.txt" for user "Alice" should contain "1" element
When user "Alice" restores version index "1" of file "/davtest.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the content of file "/davtest.txt" for user "Alice" should be "AAAAABBBBBCCCCC"
And as user "Alice" the webdav checksum of "/davtest.txt" via propfind should match "SHA1:acfa6b1565f9710d4d497c6035d5c069bd35a8e8 MD5:45a72715acdd5019c5be30bdbb75233e ADLER32:1ecd03df"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: user cannot access meta folder of a file which is owned by somebody else
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: user cannot access meta folder of a file which is owned by somebody else
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "123" to "/davtest.txt"
And we save it into "FILEID"
When user "Brian" sends HTTP method "PROPFIND" to URL "/dav/meta/<<FILEID>>"
Then the HTTP status code should be "400" or "404"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: user cannot access meta folder of a file which does not exist
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: user cannot access meta folder of a file which does not exist
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
When user "Brian" sends HTTP method "PROPFIND" to URL "/dav/meta/MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA=="
Then the HTTP status code should be "400" or "404"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: user cannot access meta folder of a file with invalid fileid
Given user "Brian" has been created with default attributes and without skeleton files
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
When user "Brian" sends HTTP method "PROPFIND" to URL "/dav/meta/<file-id>/v"
Then the HTTP status code should be "400" or "404"
Examples:
| file-id | decoded-value | comment |
| MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| MTI4NGQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
| dav-path-version | file-id | decoded-value | comment |
| old | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| old | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| old | c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| old | MTI4NGQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
| new | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| new | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| new | c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| new | MTI4NGQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
| spaces | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| spaces | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| spaces | c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| spaces | MTI4NGQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
Scenario: version history is preserved when a file is renamed
Given user "Alice" has uploaded file with content "old content" to "/textfile.txt"
Scenario Outline: version history is preserved when a file is renamed
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "old content" to "/textfile.txt"
And user "Alice" has uploaded file with content "new content" to "/textfile.txt"
And user "Alice" has moved file "/textfile.txt" to "/renamedfile.txt"
When user "Alice" restores version index "1" of file "/renamedfile.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the content of file "/renamedfile.txt" for user "Alice" should be "old content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: user can access version number after moving a file
Given user "Alice" has created folder "testFolder"
Scenario Outline: user can access version number after moving a file
Given using <dav-path-version> DAV path
And user "Alice" has created folder "testFolder"
And user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"
@@ -136,27 +215,45 @@ Feature: dav-versions
And user "Alice" gets the number of versions of file "/testFolder/textfile0.txt"
Then the HTTP status code should be "207"
And the number of versions should be "3"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: original file has version number 0
Given user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
Scenario Outline: original file has version number 0
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
When user "Alice" gets the number of versions of file "textfile0.txt"
Then the HTTP status code should be "207"
And the number of versions should be "0"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: number of etag elements in response changes according to version of the file
Given user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
Scenario Outline: number of etag elements in response changes according to version of the file
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"
When user "Alice" gets the number of versions of file "textfile0.txt"
Then the HTTP status code should be "207"
And the number of etag elements in the response should be "2"
And the number of versions should be "2"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: download old versions of a file
Given user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
Scenario Outline: download old versions of a file
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"
When user "Alice" downloads the version of file "textfile0.txt" with the index "1"
@@ -171,10 +268,16 @@ Feature: dav-versions
| header | value |
| Content-Disposition | attachment; filename*=UTF-8''textfile0.txt; filename="textfile0.txt" |
And the downloaded content should be "uploaded content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnStorage:ceph @skipOnStorage:scality
Scenario: download an old version of a restored file
Given user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
Scenario Outline: download an old version of a restored file
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "uploaded content" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"
And user "Alice" has restored version index "1" of file "textfile0.txt"
@@ -190,6 +293,11 @@ Feature: dav-versions
| header | value |
| Content-Disposition | attachment; filename*=UTF-8''textfile0.txt; filename="textfile0.txt" |
And the downloaded content should be "uploaded content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: user can retrieve meta information of a root folder
@@ -213,27 +321,43 @@ Feature: dav-versions
And the single response should contain a property "oc:meta-path-for-user" with value "/testFolder/davtest.txt"
Scenario: user cannot retrieve meta information of a file which is owned by somebody else
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: user cannot retrieve meta information of a file which is owned by somebody else
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "123" to "/davtest.txt "
And we save it into "FILEID"
When user "Brian" retrieves the meta information of fileId "<<FILEID>>" using the meta API
Then the HTTP status code should be "404"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: user cannot retrieve meta information of a file that does not exist
Given using <dav-path-version> DAV path
When user "Alice" retrieves the meta information of fileId "<file-id>" using the meta API
Then the HTTP status code should be "400" or "404"
Examples:
| file-id | decoded-value | comment |
| MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| MTI4NGQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
| dav-path-version | file-id | decoded-value | comment |
| old | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| old | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| old | c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| old | GQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
| new | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| new | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| new | c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| new | GQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
| spaces | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3PThjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bdc4-0b0000009157=8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with = sign |
| spaces | MTI4NGQyMzgtYWE5Mi00MmNlLWJkYzQtMGIwMDAwMDA5MTU3OGNjZDI3NTEtOTBhNC00MGYyLWI5ZjMtNjFlZGY4NDQyMWY0 | 1284d238-aa92-42ce-bdc4-0b00000091578ccd2751-90a4-40f2-b9f3-61edf84421f4 | no = sign |
| spaces | c29tZS1yYW5kb20tZmlsZUlkPWFub3RoZXItcmFuZG9tLWZpbGVJZA== | some-random-fileId=another-random-fileId | some random string |
| spaces | GQyMzgtYWE5Mi00MmNlLWJkxzQtMGIwMDAwMDA5MTU2OjhjY2QyNzUxLTkwYTQtNDBmMi1iOWYzLTYxZWRmODQ0MjFmNA== | 1284d238-aa92-42ce-bd4-0b0000009156:8ccd2751-90a4-40f2-b9f3-61edf84421f4 | with : and sign |
Scenario: file versions sets back after getting deleted and restored from trashbin
Given user "Alice" has uploaded file with content "Old Test Content." to "/davtest.txt"
Scenario Outline: file versions sets back after getting deleted and restored from trashbin
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "Old Test Content." to "/davtest.txt"
And user "Alice" has uploaded file with content "New Test Content." to "/davtest.txt"
And the version folder of file "/davtest.txt" for user "Alice" should contain "1" element
And user "Alice" has deleted file "/davtest.txt"
@@ -246,33 +370,56 @@ Feature: dav-versions
When user "Alice" restores version index "1" of file "/davtest.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the content of file "/davtest.txt" for user "Alice" should be "Old Test Content."
Examples:
| dav-path-version |
| new |
| spaces |
Scenario: upload the same file twice with the same mtime and a version is available
Given user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
When user "Alice" uploads file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
Then the HTTP status code should be "204"
And the version folder of file "/file.txt" for user "Alice" should contain "1" element
Scenario: upload the same file more than twice with the same mtime and only one version is available
Given user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
Scenario Outline: upload the same file twice with the same mtime and a version is available
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
When user "Alice" uploads file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
Then the HTTP status code should be "204"
And the version folder of file "/file.txt" for user "Alice" should contain "1" element
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: upload the same file twice with the same mtime and no version after restoring
Given user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
Scenario Outline: upload the same file more than twice with the same mtime and only one version is available
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
When user "Alice" uploads file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
Then the HTTP status code should be "204"
And the version folder of file "/file.txt" for user "Alice" should contain "1" element
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: upload the same file twice with the same mtime and no version after restoring
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "file.txt" with mtime "Thu, 08 Aug 2019 04:18:13 GMT" using the WebDAV API
When user "Alice" restores version index "1" of file "/file.txt" using the WebDAV API
Then the HTTP status code should be "204"
And the version folder of file "/file.txt" for user "Alice" should contain "0" element
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharer of a file can see the old version information when the sharee changes the content of the file
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharer of a file can see the old version information when the sharee changes the content of the file
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "First content" to "sharefile.txt"
And user "Alice" has sent the following resource share invitation:
| resource | sharefile.txt |
@@ -286,10 +433,16 @@ Feature: dav-versions
And the version folder of file "/sharefile.txt" for user "Alice" should contain "1" element
When user "Brian" gets the number of versions of file "/Shares/sharefile.txt"
Then the HTTP status code should be "403"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharer of a file can restore the original content of a shared file after the file has been modified by the sharee
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharer of a file can restore the original content of a shared file after the file has been modified by the sharee
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "First content" to "sharefile.txt"
And user "Alice" has sent the following resource share invitation:
| resource | sharefile.txt |
@@ -303,10 +456,16 @@ Feature: dav-versions
Then the HTTP status code should be "204"
And the content of file "/sharefile.txt" for user "Alice" should be "First content"
And the content of file "/Shares/sharefile.txt" for user "Brian" should be "First content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharer can restore a file inside a shared folder modified by sharee
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharer can restore a file inside a shared folder modified by sharee
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created folder "/sharingfolder"
And user "Alice" has sent the following resource share invitation:
| resource | sharingfolder |
@@ -321,10 +480,16 @@ Feature: dav-versions
Then the HTTP status code should be "204"
And the content of file "/sharingfolder/sharefile.txt" for user "Alice" should be "First content"
And the content of file "/Shares/sharingfolder/sharefile.txt" for user "Brian" should be "First content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharee cannot see a version of a file inside a shared folder when modified by sharee
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharee cannot see a version of a file inside a shared folder when modified by sharee
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created folder "/sharingfolder"
And user "Alice" has sent the following resource share invitation:
| resource | sharingfolder |
@@ -339,10 +504,16 @@ Feature: dav-versions
Then the HTTP status code should be "403"
And the content of file "/Shares/sharingfolder/sharefile.txt" for user "Brian" should be "Second content"
And the content of file "/sharingfolder/sharefile.txt" for user "Alice" should be "Second content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharer can restore a file inside a shared folder created by sharee and modified by sharer
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharer can restore a file inside a shared folder created by sharee and modified by sharer
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created folder "/sharingfolder"
And user "Alice" has sent the following resource share invitation:
| resource | sharingfolder |
@@ -357,10 +528,16 @@ Feature: dav-versions
Then the HTTP status code should be "204"
And the content of file "/sharingfolder/sharefile.txt" for user "Alice" should be "First content"
And the content of file "/Shares/sharingfolder/sharefile.txt" for user "Brian" should be "First content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharer can restore a file inside a shared folder created by sharee and modified by sharee
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharer can restore a file inside a shared folder created by sharee and modified by sharee
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has created folder "/sharingfolder"
And user "Alice" has sent the following resource share invitation:
| resource | sharingfolder |
@@ -375,10 +552,16 @@ Feature: dav-versions
Then the HTTP status code should be "204"
And the content of file "/sharingfolder/sharefile.txt" for user "Alice" should be "old content"
And the content of file "/Shares/sharingfolder/sharefile.txt" for user "Brian" should be "old content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: sharer can restore a file inside a group shared folder modified by sharee
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharer can restore a file inside a group shared folder modified by sharee
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Carol" has been created with default attributes and without skeleton files
And group "grp1" has been created
And user "Brian" has been added to group "grp1"
@@ -400,6 +583,11 @@ Feature: dav-versions
And the content of file "/sharingfolder/sharefile.txt" for user "Alice" should be "First content"
And the content of file "/Shares/sharingfolder/sharefile.txt" for user "Brian" should be "First content"
And the content of file "/Shares/sharingfolder/sharefile.txt" for user "Carol" should be "First content"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: moving a file (with versions) into a shared folder as the sharer
@@ -431,10 +619,14 @@ Feature: dav-versions
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
@skipOnReva
Scenario: sharee tries to get file versions of file not shared by the sharer
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: sharee tries to get file versions of file not shared by the sharer
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "textfile0" to "textfile0.txt"
And user "Alice" has uploaded file with content "textfile1" to "textfile1.txt"
And user "Alice" has sent the following resource share invitation:
@@ -447,10 +639,16 @@ Feature: dav-versions
When user "Brian" tries to get versions of file "textfile1.txt" from "Alice"
Then the HTTP status code should be "404"
And the value of the item "//s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\NotFound"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnStorage:ceph @skipOnReva
Scenario: receiver tries get file versions of shared file from the sharer
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: receiver tries get file versions of shared file from the sharer
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "textfile0" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"
@@ -464,10 +662,16 @@ Feature: dav-versions
And user "Brian" has a share "textfile0.txt" synced
When user "Brian" tries to get versions of file "textfile0.txt" from "Alice"
Then the HTTP status code should be "403"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario: receiver tries get file versions of shared file before receiving it
Given user "Brian" has been created with default attributes and without skeleton files
Scenario Outline: receiver tries get file versions of shared file before receiving it
Given using <dav-path-version> DAV path
And user "Brian" has been created with default attributes and without skeleton files
And user "Alice" has uploaded file with content "textfile0" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 1" to "textfile0.txt"
And user "Alice" has uploaded file with content "version 2" to "textfile0.txt"
@@ -481,10 +685,16 @@ Feature: dav-versions
When user "Brian" tries to get versions of file "textfile0.txt" from "Alice"
Then the HTTP status code should be "403"
And the value of the item "//s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\Forbidden"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-enterprise-6249
Scenario: upload empty content file and check versions after multiple restores
Given user "Alice" has uploaded file with content "" to "textfile.txt"
Scenario Outline: upload empty content file and check versions after multiple restores
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "" to "textfile.txt"
And user "Alice" has uploaded file with content "test content" to "textfile.txt"
And the version folder of file "textfile.txt" for user "Alice" should contain "1" element
When user "Alice" restores version index "1" of file "textfile.txt" using the WebDAV API
@@ -495,10 +705,16 @@ Feature: dav-versions
Then the HTTP status code should be "204"
And the content of file "textfile.txt" for user "Alice" should be "test content"
And the version folder of file "textfile.txt" for user "Alice" should contain "1" elements
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: update with empty content and check versions after multiple restores
Given user "Alice" has uploaded file with content "test content" to "textfile.txt"
Scenario Outline: update with empty content and check versions after multiple restores
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "test content" to "textfile.txt"
And user "Alice" has uploaded file with content "" to "textfile.txt"
And the version folder of file "textfile.txt" for user "Alice" should contain "1" element
When user "Alice" restores version index "1" of file "textfile.txt" using the WebDAV API
@@ -509,3 +725,8 @@ Feature: dav-versions
Then the HTTP status code should be "204"
And the content of file "textfile.txt" for user "Alice" should be ""
And the version folder of file "textfile.txt" for user "Alice" should contain "1" elements
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -132,11 +132,17 @@ Feature: delete file
| spaces |
Scenario: delete a file of size zero byte
Given user "Alice" has uploaded file "filesForUpload/zerobyte.txt" to "/zerobyte.txt"
Scenario Outline: delete a file of size zero byte
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/zerobyte.txt" to "/zerobyte.txt"
When user "Alice" deletes file "/zerobyte.txt" using the WebDAV API
Then the HTTP status code should be "204"
And as "Alice" file "/zerobyte.txt" should not exist
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-9619
Scenario: delete a file using file-id
@@ -108,9 +108,8 @@ Feature: propagation of etags when creating folders
| new |
@env-config @issue-4251 @issue-10331
Scenario Outline: creating a folder in a publicly shared folder changes its etag for the sharer
Scenario: creating a folder in a publicly shared folder changes its etag for the sharer
Given the config "OCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD" has been set to "false"
And using <dav-path-version> DAV path
And user "Alice" has created folder "/folder"
And using SharingNG
And user "Alice" has created the following resource link share:
@@ -125,7 +124,3 @@ Feature: propagation of etags when creating folders
| user | path |
| Alice | / |
| Alice | /folder |
Examples:
| dav-path-version |
| new |
| spaces |
@@ -6,12 +6,12 @@ Feature: propagation of etags when restoring a version of a file
Background:
Given using OCS API version "2"
And using new DAV path
And user "Alice" has been created with default attributes and without skeleton files
@skipOnStorage:ceph @skipOnStorage:scality
Scenario: restoring a file changes the etags of all parents
Given user "Alice" has created folder "/upload"
Scenario Outline: restoring a file changes the etags of all parents
Given using <dav-path-version> DAV path
And user "Alice" has created folder "/upload"
And user "Alice" has created folder "/upload/sub"
And user "Alice" has uploaded file with content "uploaded content" to "/upload/sub/file.txt"
And user "Alice" has uploaded file with content "changed content" to "/upload/sub/file.txt"
@@ -25,3 +25,8 @@ Feature: propagation of etags when restoring a version of a file
| Alice | / |
| Alice | /upload |
| Alice | /upload/sub |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -34,6 +34,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: sharee tries to move a file into a shared folder
@@ -61,6 +64,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: moving a file out of a shared folder as the sharer
@@ -88,6 +94,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: moving a file out of a shared folder as the sharee
@@ -114,6 +123,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: moving a folder into a shared folder the sharer
@@ -142,6 +154,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: moving a folder into a shared folder as the sharee
@@ -170,6 +185,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: moving a folder out of a shared folder as the sharer
@@ -200,6 +218,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: moving a folder out of a shared folder as the sharee
@@ -229,6 +250,9 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: sharee moves a file within a shared folder (change/all permissions)
@@ -256,6 +280,8 @@ Feature: move (rename) file
| old | Editor |
| new | Uploader |
| new | Editor |
| spaces | Uploader |
| spaces | Editor |
Scenario Outline: sharee tries to move a file within a shared folder (read permissions)
@@ -281,6 +307,7 @@ Feature: move (rename) file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1976
Scenario Outline: sharee tries to move a file into same shared folder with same name
@@ -308,3 +335,6 @@ Feature: move (rename) file
| new | Viewer |
| new | Uploader |
| new | Editor |
| spaces | Viewer |
| spaces | Uploader |
| spaces | Editor |
@@ -239,7 +239,7 @@ Feature: download file
| spaces | 'quote'single'.txt | %27quote%27single%27.txt |
@smokeTest @issue-8361 @skipOnReva
Scenario Outline: downloading a file should serve security headers (file with doubel quotes)
Scenario Outline: downloading a file should serve security headers (file with double quotes)
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "test file" to '/"quote"double".txt'
When user "Alice" downloads file '/"quote"double".txt' using the WebDAV API
@@ -261,15 +261,27 @@ Feature: download file
| spaces |
Scenario: download a zero byte size file
Given user "Alice" has uploaded file "filesForUpload/zerobyte.txt" to "/zerobyte.txt"
Scenario Outline: download a zero byte size file
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/zerobyte.txt" to "/zerobyte.txt"
When user "Alice" downloads file "/zerobyte.txt" using the WebDAV API
Then the HTTP status code should be "200"
And the size of the downloaded file should be 0 bytes
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario: try to download recently deleted file
Scenario Outline: try to download recently deleted file
Given using <dav-path-version> DAV path
When user "Alice" deletes file "textfile0.txt" using the WebDAV API
Then the HTTP status code should be "204"
When user "Alice" tries to download file "textfile0.txt" using the WebDAV API
Then the HTTP status code should be "404"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -169,6 +169,7 @@ Feature: previews of files downloaded through the webdav API
And the value of the item "/d:error/s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\NotFound"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -12,14 +12,25 @@ Feature: sizing of previews of files downloaded through the webdav API
Scenario Outline: download different sizes of previews of file
Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt"
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt"
When user "Alice" downloads the preview of "/parent.txt" with width <request-width> and height <request-height> using the WebDAV API
Then the HTTP status code should be "200"
And the downloaded image should be <return-width> pixels wide and <return-height> pixels high
Examples:
| request-width | request-height | return-width | return-height |
| 1 | 1 | 16 | 16 |
| 32 | 32 | 32 | 32 |
| 1024 | 1024 | 640 | 480 |
| 1 | 1024 | 16 | 16 |
| 1024 | 1 | 640 | 480 |
| request-width | request-height | return-width | return-height | dav-path-version |
| 1 | 1 | 16 | 16 | old |
| 32 | 32 | 32 | 32 | old |
| 1024 | 1024 | 640 | 480 | old |
| 1 | 1024 | 16 | 16 | old |
| 1024 | 1 | 640 | 480 | old |
| 1 | 1 | 16 | 16 | new |
| 32 | 32 | 32 | 32 | new |
| 1024 | 1024 | 640 | 480 | new |
| 1 | 1024 | 16 | 16 | new |
| 1024 | 1 | 640 | 480 | new |
| 1 | 1 | 16 | 16 | spaces |
| 32 | 32 | 32 | 32 | spaces |
| 1024 | 1024 | 640 | 480 | spaces |
| 1 | 1024 | 16 | 16 | spaces |
| 1024 | 1 | 640 | 480 | spaces |
@@ -68,8 +68,10 @@ Feature: copy file
| dav-path-version | permissions-role |
| old | Viewer |
| new | Viewer |
| spaces | Viewer |
| old | Secure Viewer |
| new | Secure Viewer |
| spaces | Secure Viewer |
@skipOnReva
Scenario Outline: copying a file to overwrite a file into a folder with no permissions
@@ -92,6 +94,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1345 @issue-2177
Scenario Outline: copying file to a path with extension .part should not be possible
@@ -341,6 +344,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @skipOnReva
Scenario Outline: copy a file into a folder at different level received as a user share
@@ -372,6 +376,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @skipOnReva
Scenario Outline: copy a file into a file at different level received as a user share
@@ -402,6 +407,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @skipOnReva
Scenario Outline: copy a folder into a file at different level received as a user share
@@ -432,6 +438,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @issue-9753 @skipOnReva
Scenario Outline: copy a file over the top of an existing folder received as a group share
@@ -520,6 +527,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @skipOnReva
Scenario Outline: copy a file into a folder at different level received as a group share
@@ -554,6 +562,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @skipOnReva
Scenario Outline: copy a file into a file at different level received as a group share
@@ -587,6 +596,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@issue-1239 @skipOnReva
Scenario Outline: copy a folder into a file at different level received as a group share
@@ -620,6 +630,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: copy a file of size zero byte
@@ -695,6 +706,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: copying a file into a shared folder as the sharer
@@ -717,6 +729,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: copying a file out of a shared folder as the sharee
@@ -740,6 +753,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: sharee copies a file from a shared folder, shared with viewer permission
@@ -761,6 +775,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva @env-config
Scenario Outline: sharee copies a file from a shared folder, shared with secure viewer permission
@@ -783,6 +798,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: copying a file out of a shared folder as the sharer
@@ -806,6 +822,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: copying a hidden file
@@ -862,6 +879,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva @env-config
Scenario Outline: copying a file between shares received from different users when one share is shared via Viewer and Secure viewer permission
@@ -898,12 +916,16 @@ Feature: copy file
| dav-path-version | permissions-role-1 | permissions-role-2 |
| old | Secure Viewer | Secure Viewer |
| new | Secure Viewer | Secure Viewer |
| spaces | Secure Viewer | Secure Viewer |
| old | Secure Viewer | Viewer |
| new | Secure Viewer | Viewer |
| spaces | Secure Viewer | Viewer |
| old | Editor | Secure Viewer |
| new | Editor | Secure Viewer |
| spaces | Editor | Secure Viewer |
| old | Viewer | Secure Viewer |
| new | Viewer | Secure Viewer |
| spaces | Viewer | Secure Viewer |
@skipOnReva
Scenario Outline: copying a folder between shares received from different users
@@ -938,6 +960,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: copying a file to a folder that is shared with multiple users
@@ -969,6 +992,7 @@ Feature: copy file
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: copy a folder into another one
@@ -24,6 +24,7 @@ Feature: upload file using old chunking
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -40,6 +41,7 @@ Feature: upload file using old chunking
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -56,6 +58,7 @@ Feature: upload file using old chunking
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -64,7 +67,7 @@ Feature: upload file using old chunking
And user "Alice" has uploaded file "filesForUpload/textfile.txt" to "textfile0.txt"
And user "Alice" has copied file "/textfile0.txt" to "/existingFile.txt"
And user "Alice" has stored id of file "/existingFile.txt"
When user "Alice" uploads file "filesForUpload/textfile.txt" to "/existingFile.txt" in 3 chunks with old chunking and using the WebDAV API
When user "Alice" uploads file "filesForUpload/textfile.txt" to "/existingFile.txt" in 3 chunks using the WebDAV API
Then the HTTP status code should be "201"
And user "Alice" file "/existingFile.txt" should have the previously stored id
And the content of file "/existingFile.txt" for user "Alice" should be:
@@ -76,6 +79,7 @@ Feature: upload file using old chunking
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@smokeTest
@@ -97,6 +101,8 @@ Feature: upload file using old chunking
| dav-path-version | file-name |
| old | &#? TIÄFÜ @a#8a=b?c=d ?abc=oc # |
| old | 0 |
| new | &#? TIÄFÜ @a#8a=b?c=d ?abc=oc # |
| new | 0 |
| spaces | &#? TIÄFÜ @a#8a=b?c=d ?abc=oc # |
| spaces | 0 |
@@ -116,4 +122,5 @@ Feature: upload file using old chunking
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -132,6 +132,7 @@ Feature: upload file
| dav-path-version |
| old |
| new |
| spaces |
@issue-10346
Scenario Outline: upload a twice file in chunks with TUS and versions are available
@@ -47,6 +47,7 @@ Feature: upload file
| dav-path-version |
| old |
| new |
| spaces |
@issue-10346
Scenario Outline: overwriting a file with mtime in a received share
@@ -87,3 +88,4 @@ Feature: upload file
| dav-path-version |
| old |
| new |
| spaces |
@@ -17,6 +17,7 @@ Feature: upload file
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: attempt to upload a file into a nonexistent folder
@@ -49,6 +50,7 @@ Feature: upload file
| dav-path-version |
| old |
| new |
| spaces |
@skipOnReva
Scenario Outline: attempt to upload a file into a nonexistent folder within correctly received read only share
@@ -69,3 +71,4 @@ Feature: upload file
| dav-path-version |
| old |
| new |
| spaces |
@@ -106,6 +106,7 @@ Feature: upload file to shared folder
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: upload a file to shared folder with checksum should return the checksum in the propfind for sharee
@@ -130,6 +131,7 @@ Feature: upload file to shared folder
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: upload a file to shared folder with checksum should return the checksum in the download header for sharee
@@ -154,6 +156,7 @@ Feature: upload file to shared folder
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharer shares a file with correct checksum should return the checksum in the propfind for sharee
@@ -177,6 +180,7 @@ Feature: upload file to shared folder
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharer shares a file with correct checksum should return the checksum in the download header for sharee
@@ -200,6 +204,7 @@ Feature: upload file to shared folder
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharee uploads a file to a received share folder with correct checksum
@@ -290,6 +295,7 @@ Feature: upload file to shared folder
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: sharee uploads a chunked file with correct checksum to a received share folder should work