Merge pull request #200 from opencloud-eu/enableSearchTests

enable search tests
This commit is contained in:
Viktor Scharf
2025-02-21 15:00:01 +01:00
committed by GitHub
14 changed files with 309 additions and 530 deletions

View File

@@ -182,7 +182,11 @@ class SearchContext implements Context {
$property['value'],
$user
);
$fileResultProperty = $fileResult->xpath("d:propstat//" . $property['name']);
if (is_object($fileResult)) {
$fileResultProperty = $fileResult->xpath("d:propstat//" . $property['name']);
} else {
throw new Exception("Expected fileResult to be an object, but found " . gettype($fileResult));
}
if ($fileResultProperty) {
Assert::assertMatchesRegularExpression(
"/" . $property['value'] . "/",

View File

@@ -4594,11 +4594,7 @@ trait WebDav {
// do not try to parse the resource path
// if the item to search is space itself
if (!GraphHelper::isSpaceId($entryNameToSearch ?? '')) {
$resourcePath = \substr($resourcePath, \strpos($resourcePath, '/') + 1);
}
if (\count($shareRootXml)) {
$shareroot = \trim((string)$shareRootXml[0], "/");
$resourcePath = $shareroot . "/" . $resourcePath;
$resourcePath = basename($resourcePath);
}
$resourcePath = \rawurldecode($resourcePath);
if ($entryNameToSearch === $resourcePath) {

View File

@@ -63,15 +63,6 @@ _ocdav: api compatibility, return correct status code_
- [coreApiAuth/webDavLOCKAuth.feature:46](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiAuth/webDavLOCKAuth.feature#L46)
- [coreApiAuth/webDavLOCKAuth.feature:58](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiAuth/webDavLOCKAuth.feature#L58)
#### [Missing properties in REPORT response](https://github.com/owncloud/ocis/issues/9780), [d:getetag property has empty value in REPORT response](https://github.com/opencloud-eu/opencloud/issues/9783)
- [coreApiWebdavOperations/search.feature:180](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L180)
- [coreApiWebdavOperations/search.feature:181](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L181)
- [coreApiWebdavOperations/search.feature:182](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L182)
- [coreApiWebdavOperations/search.feature:208](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L208)
- [coreApiWebdavOperations/search.feature:209](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L209)
- [coreApiWebdavOperations/search.feature:210](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L210)
#### [Support for favorites](https://github.com/owncloud/ocis/issues/1228)
- [coreApiFavorites/favorites.feature:101](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiFavorites/favorites.feature#L101)
@@ -158,23 +149,6 @@ _ocdav: api compatibility, return correct status code_
- [coreApiWebdavProperties/copyFile.feature:1095](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1095)
- [coreApiWebdavProperties/copyFile.feature:1096](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavProperties/copyFile.feature#L1096)
#### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060)
- [coreApiWebdavOperations/search.feature:42](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L42)
- [coreApiWebdavOperations/search.feature:43](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L43)
- [coreApiWebdavOperations/search.feature:60](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L60)
- [coreApiWebdavOperations/search.feature:61](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L61)
- [coreApiWebdavOperations/search.feature:79](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L79)
- [coreApiWebdavOperations/search.feature:80](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L80)
- [coreApiWebdavOperations/search.feature:110](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L110)
- [coreApiWebdavOperations/search.feature:111](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L111)
- [coreApiWebdavOperations/search.feature:130](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L130)
- [coreApiWebdavOperations/search.feature:131](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L131)
- [coreApiWebdavOperations/search.feature:151](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L151)
- [coreApiWebdavOperations/search.feature:152](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L152)
- [coreApiWebdavOperations/search.feature:229](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L229)
- [coreApiWebdavOperations/search.feature:230](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L230)
#### [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:277](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiTrashbin/trashbinSharingToShares.feature#L277)

View File

@@ -184,67 +184,6 @@
- [apiOcm/deleteFederatedConnections.feature:102](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiOcm/deleteFederatedConnections.feature#L102)
#### [same href in REPORT request for all dav-path-version](https://github.com/owncloud/ocis/issues/7060)
- [apiSearch1/dateSearch.feature:17](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/dateSearch.feature#L17)
- [apiSearch1/dateSearch.feature:18](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/dateSearch.feature#L18)
- [apiSearch1/search.feature:41](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L41)
- [apiSearch1/search.feature:42](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L42)
- [apiSearch1/search.feature:69](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L69)
- [apiSearch1/search.feature:70](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L70)
- [apiSearch1/search.feature:111](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L111)
- [apiSearch1/search.feature:112](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L112)
- [apiSearch1/search.feature:197](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L197)
- [apiSearch1/search.feature:198](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L198)
- [apiSearch1/search.feature:221](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L221)
- [apiSearch1/search.feature:222](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L222)
- [apiSearch1/search.feature:242](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L242)
- [apiSearch1/search.feature:243](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L243)
- [apiSearch1/search.feature:260](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L260)
- [apiSearch1/search.feature:261](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L261)
- [apiSearch1/search.feature:278](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L278)
- [apiSearch1/search.feature:279](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L279)
- [apiSearch1/search.feature:302](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L302)
- [apiSearch1/search.feature:303](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L303)
- [apiSearch1/search.feature:354](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L354)
- [apiSearch1/search.feature:355](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L355)
- [apiSearch2/tagSearch.feature:34](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L34)
- [apiSearch2/tagSearch.feature:35](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L35)
- [apiSearch2/tagSearch.feature:62](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L62)
- [apiSearch2/tagSearch.feature:63](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L63)
- [apiSearch2/tagSearch.feature:87](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L87)
- [apiSearch2/tagSearch.feature:88](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L88)
- [apiSearch2/tagSearch.feature:110](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L110)
- [apiSearch2/tagSearch.feature:111](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L111)
- [apiSearch2/tagSearch.feature:144](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L144)
- [apiSearch2/tagSearch.feature:145](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L145)
- [apiSearch2/tagSearch.feature:182](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L182)
- [apiSearch2/tagSearch.feature:183](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L183)
- [apiSearch2/tagSearch.feature:222](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L222)
- [apiSearch2/tagSearch.feature:223](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L223)
- [apiSearch2/tagSearch.feature:241](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L241)
- [apiSearch2/tagSearch.feature:242](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L242)
- [apiSearchContent/contentSearch.feature:25](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L25)
- [apiSearchContent/contentSearch.feature:26](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L26)
- [apiSearchContent/contentSearch.feature:49](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L49)
- [apiSearchContent/contentSearch.feature:50](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L50)
- [apiSearchContent/contentSearch.feature:82](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L82)
- [apiSearchContent/contentSearch.feature:83](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L83)
- [apiSearchContent/contentSearch.feature:110](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L110)
- [apiSearchContent/contentSearch.feature:111](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L111)
- [apiSearchContent/contentSearch.feature:129](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L129)
- [apiSearchContent/contentSearch.feature:130](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L130)
- [apiSearchContent/contentSearch.feature:146](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L146)
- [apiSearchContent/contentSearch.feature:147](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L147)
- [apiSearchContent/contentSearch.feature:162](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L162)
- [apiSearchContent/contentSearch.feature:163](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L163)
- [apiSearchContent/contentSearch.feature:185](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L185)
- [apiSearchContent/contentSearch.feature:186](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L186)
- [apiSearchContent/contentSearch.feature:214](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L214)
- [apiSearchContent/contentSearch.feature:215](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L215)
- [apiSearchContent/contentSearch.feature:266](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L266)
- [apiSearchContent/contentSearch.feature:267](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L267)
#### [Shares Jail PROPFIND returns different File IDs for the same item](https://github.com/owncloud/ocis/issues/9933)
- [apiSharingNg1/propfindShares.feature:149](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSharingNg1/propfindShares.feature#L149)
@@ -257,11 +196,21 @@
- [apiAntivirus/antivirus.feature:309](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiAntivirus/antivirus.feature#L309)
- [apiAntivirus/antivirus.feature:310](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiAntivirus/antivirus.feature#L310)
- [apiAntivirus/antivirus.feature:311](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiAntivirus/antivirus.feature#L310)
- [apiNotification/deprovisioningNotification.feature:128](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiNotification/deprovisioningNotification.feature#L128)
- [apiNotification/deprovisioningNotification.feature:127](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiNotification/deprovisioningNotification.feature#L127)
- [apiNotification/notification.feature:284](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiNotification/notification.feature#L284)
- [apiNotification/notification.feature:285](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiNotification/notification.feature#L285)
- [apiNotification/spaceNotification.feature:435](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiNotification/spaceNotification.feature#435)
#### [Missing properties in REPORT response](https://github.com/owncloud/ocis/issues/9780), [d:getetag property has empty value in REPORT response](https://github.com/owncloud/ocis/issues/9783)
- [apiSearch1/search.feature:437](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L437)
- [apiSearch1/search.feature:438](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L438)
- [apiSearch1/search.feature:439](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L439)
- [apiSearch1/search.feature:465](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L465)
- [apiSearch1/search.feature:466](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L466)
- [apiSearch1/search.feature:467](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L467)
Note: always have an empty line at the end of this file.
The bash script that processes this file requires that the last line has a newline on the end.

View File

@@ -25,14 +25,8 @@
- [apiSearch1/dateSearch.feature:48](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/dateSearch.feature#L48)
- [apiSearch1/dateSearch.feature:50](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/dateSearch.feature#L50)
- [apiSearch1/dateSearch.feature:53](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/dateSearch.feature#L53)
- [apiSearch1/search.feature:43](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L43)
- [apiSearch1/search.feature:71](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L71)
- [apiSearch1/search.feature:113](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L113)
- [apiSearch1/search.feature:176](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L176)
- [apiSearch1/search.feature:199](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L199)
- [apiSearch1/search.feature:223](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L223)
- [apiSearch1/search.feature:244](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L244)
- [apiSearch1/search.feature:262](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L262)
- [apiSearch1/search.feature:280](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L280)
- [apiSearch1/search.feature:304](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L304)
- [apiSearch1/search.feature:317](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L317)
@@ -42,6 +36,14 @@
- [apiSearch1/search.feature:321](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L321)
- [apiSearch1/search.feature:324](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L324)
- [apiSearch1/search.feature:356](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L356)
- [apiSearch1/search.feature:396](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L396)
- [apiSearch1/search.feature:410](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L410)
- [apiSearch1/search.feature:437](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L437)
- [apiSearch1/search.feature:438](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L438)
- [apiSearch1/search.feature:439](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L439)
- [apiSearch1/search.feature:465](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L465)
- [apiSearch1/search.feature:466](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L466)
- [apiSearch1/search.feature:467](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch1/search.feature#L467)
- [apiSearch2/mediaTypeSearch.feature:31](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L31)
- [apiSearch2/mediaTypeSearch.feature:32](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L32)
- [apiSearch2/mediaTypeSearch.feature:33](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L33)
@@ -89,48 +91,41 @@
- [apiSearch2/mediaTypeSearch.feature:169](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L169)
- [apiSearch2/mediaTypeSearch.feature:172](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/mediaTypeSearch.feature#L172)
- [apiSearch2/tagSearch.feature:36](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L36)
- [apiSearch2/tagSearch.feature:68](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L68)
- [apiSearch2/tagSearch.feature:89](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L89)
- [apiSearch2/tagSearch.feature:116](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L116)
- [apiSearch2/tagSearch.feature:150](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L150)
- [apiSearch2/tagSearch.feature:188](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L188)
- [apiSearch2/tagSearch.feature:224](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L224)
- [apiSearch2/tagSearch.feature:243](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L243)
- [apiSearch2/tagSearch.feature:271](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L271)
- [apiSearch2/tagSearch.feature:272](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L272)
- [apiSearch2/tagSearch.feature:273](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L273)
- [apiSearch2/tagSearch.feature:274](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L274)
- [apiSearch2/tagSearch.feature:275](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L275)
- [apiSearch2/tagSearch.feature:276](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L276)
- [apiSearch2/tagSearch.feature:277](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L277)
- [apiSearch2/tagSearch.feature:278](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L278)
- [apiSearch2/tagSearch.feature:279](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L279)
- [apiSearch2/tagSearch.feature:280](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L280)
- [apiSearch2/tagSearch.feature:282](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L282)
- [apiSearch2/tagSearch.feature:64](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L64)
- [apiSearch2/tagSearch.feature:85](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L85)
- [apiSearch2/tagSearch.feature:108](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L108)
- [apiSearch2/tagSearch.feature:138](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L138)
- [apiSearch2/tagSearch.feature:172](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L172)
- [apiSearch2/tagSearch.feature:207](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L207)
- [apiSearch2/tagSearch.feature:226](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L226)
- [apiSearch2/tagSearch.feature:254](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L254)
- [apiSearch2/tagSearch.feature:255](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L255)
- [apiSearch2/tagSearch.feature:256](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L256)
- [apiSearch2/tagSearch.feature:257](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L257)
- [apiSearch2/tagSearch.feature:258](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L258)
- [apiSearch2/tagSearch.feature:259](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L259)
- [apiSearch2/tagSearch.feature:260](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L260)
- [apiSearch2/tagSearch.feature:261](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L261)
- [apiSearch2/tagSearch.feature:262](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L262)
- [apiSearch2/tagSearch.feature:263](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L263)
- [apiSearch2/tagSearch.feature:265](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearch2/tagSearch.feature#L265)
- [apiSearchContent/contentSearch.feature:27](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L27)
- [apiSearchContent/contentSearch.feature:51](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L51)
- [apiSearchContent/contentSearch.feature:84](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L84)
- [apiSearchContent/contentSearch.feature:112](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L112)
- [apiSearchContent/contentSearch.feature:131](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L131)
- [apiSearchContent/contentSearch.feature:148](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L148)
- [apiSearchContent/contentSearch.feature:164](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L164)
- [apiSearchContent/contentSearch.feature:187](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L187)
- [apiSearchContent/contentSearch.feature:216](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L216)
- [apiSearchContent/contentSearch.feature:147](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L147)
- [apiSearchContent/contentSearch.feature:163](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L163)
- [apiSearchContent/contentSearch.feature:186](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L186)
- [apiSearchContent/contentSearch.feature:215](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L215)
- [apiSearchContent/contentSearch.feature:233](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L233)
- [apiSearchContent/contentSearch.feature:234](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L234)
- [apiSearchContent/contentSearch.feature:235](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L235)
- [apiSearchContent/contentSearch.feature:236](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L236)
- [apiSearchContent/contentSearch.feature:237](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L237)
- [apiSearchContent/contentSearch.feature:238](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L238)
- [apiSearchContent/contentSearch.feature:239](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L239)
- [apiSearchContent/contentSearch.feature:268](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L268)
- [apiSearchContent/contentSearch.feature:267](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/apiSearchContent/contentSearch.feature#L267)
- [cliCommands/searchReIndex.feature:15](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/cliCommands/searchReIndex.feature#L15)
- [coreApiWebdavOperations/search.feature:44](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L44)
- [coreApiWebdavOperations/search.feature:62](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L62)
- [coreApiWebdavOperations/search.feature:81](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L81)
- [coreApiWebdavOperations/search.feature:112](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L112)
- [coreApiWebdavOperations/search.feature:132](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L132)
- [coreApiWebdavOperations/search.feature:153](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L153)
- [coreApiWebdavOperations/search.feature:231](https://github.com/opencloud-eu/opencloud/blob/main/tests/acceptance/features/coreApiWebdavOperations/search.feature#L231)
#### [Downloading public files without remote.php returns 401 unauthorized error](https://github.com/owncloud/ocis/issues/9724)

View File

@@ -18,7 +18,7 @@ Feature: REPORT request to project space
When user "Alice" searches for "testFile.txt" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /testFile.txt |
| testFile.txt |
And the following headers should match these regular expressions
| X-Request-Id | %request_id_pattern% |
And as user "Alice" the REPORT response should contain a resource "testFile.txt" with these key and value pairs:
@@ -37,7 +37,7 @@ Feature: REPORT request to project space
When user "Alice" searches for "insideTheFolder.txt" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| insideTheFolder.txt |
And the following headers should match these regular expressions
| X-Request-Id | %request_id_pattern% |
And as user "Alice" the REPORT response should contain a resource "insideTheFolder.txt" with these key and value pairs:
@@ -55,7 +55,7 @@ Feature: REPORT request to project space
When user "Alice" searches for "folderMain" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /folderMain |
| folderMain |
And the following headers should match these regular expressions
| X-Request-Id | %request_id_pattern% |
And as user "Alice" the REPORT response should contain a resource "folderMain" with these key and value pairs:
@@ -73,7 +73,7 @@ Feature: REPORT request to project space
When user "Alice" searches for "*sub*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /folderMain/sub-folder |
| sub-folder |
And the following headers should match these regular expressions
| X-Request-Id | %request_id_pattern% |
And the HTTP status code should be "207"

View File

@@ -1,4 +1,3 @@
@skipOnStable3.0
Feature: Deprovisioning notification
As a user admin
I want to inform users about shutting down and deprovisioning the instance

View File

@@ -36,18 +36,18 @@ Feature: date search
| <search-result-4> |
Examples:
| pattern | search-result-1 | search-result-2 | search-result-3 | search-result-4 |
| Mtime:today | /today.txt | | /yesterday.txt | /lastWeek.txt |
| Mtime:yesterday | /yesterday.txt | | /today.txt | |
| Mtime:"this week" | /today.txt | | /lastWeek.txt | /lastMonth.txt |
| Mtime:"this month" | /today.txt | | /lastMonth.txt | |
| Mtime:"last month" | /lastMonth.txt | | /today.txt | |
| Mtime:"this year" | /today.txt | | /lastYear.txt | |
| Mtime:"last year" | /lastYear.txt | | /today.txt | |
| Mtime>=$today | /today.txt | | /yesterday.txt | |
| Mtime>$yesterday | /today.txt | | | |
| Mtime>=$yesterday | /today.txt | /yesterday.txt | | |
| Mtime:today | today.txt | | yesterday.txt | lastWeek.txt |
| Mtime:yesterday | yesterday.txt | | today.txt | |
| Mtime:"this week" | today.txt | | lastWeek.txt | lastMonth.txt |
| Mtime:"this month" | today.txt | | lastMonth.txt | |
| Mtime:"last month" | lastMonth.txt | | today.txt | |
| Mtime:"this year" | today.txt | | lastYear.txt | |
| Mtime:"last year" | lastYear.txt | | today.txt | |
| Mtime>=$today | today.txt | | yesterday.txt | |
| Mtime>$yesterday | today.txt | | | |
| Mtime>=$yesterday | today.txt | yesterday.txt | | |
# Mtime<$today. "<" has to be escaped
| Mtime&lt;$today | /yesterday.txt | /lastYear.txt | /today.txt | |
| Mtime&lt;$today | yesterday.txt | lastYear.txt | today.txt | |
@issue-10329
Scenario: search resources using different search patterns (KQL feature) in the shares folder
@@ -65,6 +65,6 @@ Feature: date search
When user "Brian" searches for "Mtime:yesterday" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Brian" should contain these entries:
| sharedFolder/yesterday.txt |
| yesterday.txt |
But the search result of user "Alice" should not contain these entries:
| sharedFolder |

View File

@@ -32,10 +32,10 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "1" entries
And the search result of user "Alice" should contain these entries:
| folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| insideTheFolder.txt |
But the search result of user "Alice" should not contain these entries:
| /AlicePersonal/insideAlicePersonal.txt |
| /BrianPersonal/insideBrianPersonal.txt |
| insideAlicePersonal.txt |
| insideBrianPersonal.txt |
Examples:
| dav-path-version |
| old |
@@ -60,10 +60,10 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "1" entries
And the search result of user "Alice" should contain only these entries:
| AlicePersonal/insideAlicePersonal.txt |
| insideAlicePersonal.txt |
But the search result of user "Alice" should not contain these entries:
| BrianPersonal/insideBrianPersonal.txt |
| folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| insideBrianPersonal.txt |
| insideTheFolder.txt |
Examples:
| dav-path-version |
| old |
@@ -88,9 +88,9 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "0" entries
And the search result of user "Alice" should not contain these entries:
| BrianPersonal/insideBrianPersonal.txt |
| AlicePersonal/insideAlicePersonal.txt |
| folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| insideBrianPersonal.txt |
| insideAlicePersonal.txt |
| insideTheFolder.txt |
Examples:
| dav-path-version |
| old |
@@ -126,9 +126,9 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "0" entries
And the search result of user "Brian" should not contain these entries:
| /SubFolder1 |
| /SubFolder1/subFOLDER2 |
| /SubFolder1/subFOLDER2/insideTheFolder.txt |
| SubFolder1 |
| subFOLDER2 |
| insideTheFolder.txt |
Examples:
| dav-path-version |
| old |
@@ -150,9 +150,9 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "0" entries
And the search result of user "Brian" should not contain these entries:
| /SubFolder1 |
| /SubFolder1/subFOLDER2 |
| /SubFolder1/subFOLDER2/insideTheFolder.txt |
| SubFolder1 |
| subFOLDER2 |
| insideTheFolder.txt |
Examples:
| dav-path-version |
| old |
@@ -187,11 +187,11 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "3" entries
And the search result of user "Alice" should contain only these entries:
| folderMain/SubFolder1 |
| folderMain/SubFolder1/subFOLDER2 |
| folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| SubFolder1 |
| subFOLDER2 |
| insideTheFolder.txt |
But the search result of user "Alice" should not contain these entries:
| /folderMain |
| folderMain |
Examples:
| dav-path-version |
| old |
@@ -211,9 +211,9 @@ Feature: Search
When user "Brian" searches for "*folder*" inside folder "/folderMain" in space "Shares" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Brian" should contain only these entries:
| folderMain/SubFolder1 |
| folderMain/SubFolder1/subFOLDER2 |
| folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| SubFolder1 |
| subFOLDER2 |
| insideTheFolder.txt |
But the search result of user "Brian" should not contain these entries:
| /folderMain |
Examples:
@@ -233,8 +233,8 @@ Feature: Search
When user "Alice" searches for "*file*" inside folder "/Folder" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /Folder/file2.txt |
| /Folder/SubFolder/file3.txt |
| file2.txt |
| file3.txt |
But the search result of user "Alice" should not contain these entries:
| file1.txt |
Examples:
@@ -253,8 +253,8 @@ Feature: Search
When user "Alice" searches for "*file*" inside folder "/New Folder" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /New Folder/file.txt |
| /New Folder/Sub Folder/file1.txt |
| file.txt |
| file1.txt |
Examples:
| dav-path-version |
| old |
@@ -270,9 +270,9 @@ Feature: Search
When user "Alice" searches for "*new*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /New Folder |
| /New Folder/New Sub Folder |
| /new file.txt |
| New Folder |
| New Sub Folder |
| new file.txt |
Examples:
| dav-path-version |
| old |
@@ -294,9 +294,9 @@ Feature: Search
When user "Brian" searches for "shared*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Brian" should contain these entries:
| foo/sharedToBrian |
| sharedToBrian |
But the search result of user "Brian" should not contain these entries:
| /sharedToCarol |
| sharedToCarol |
Examples:
| dav-path-version |
| old |
@@ -313,12 +313,12 @@ Feature: Search
And the search result of user "Alice" should contain these entries:
| <search-result> |
Examples:
| pattern | search-result | description |
| fold* | /folderMain | starts with |
| *der1 | /folderMain/SubFolder1 | ends with |
| subfolder | /subfolder | exact search |
| name:*der2 | /folderMain/SubFolder1/subFOLDER2 | patern 'name:'' |
| name:"*der2" | /folderMain/SubFolder1/subFOLDER2 | pattern 'name:""' (with quotes) |
| pattern | search-result | description |
| fold* | folderMain | starts with |
| *der1 | SubFolder1 | ends with |
| subfolder | subfolder | exact search |
| name:*der2 | subFOLDER2 | patern 'name:'' |
| name:"*der2" | subFOLDER2 | pattern 'name:""' (with quotes) |
@issue-7812 @issue-8442 @issue-10329
Scenario: try to search with invalid patterns
@@ -346,9 +346,120 @@ Feature: Search
Then the HTTP status code should be "207"
And the search result should contain "3" entries
And the search result of user "Alice" should contain these entries:
| AlicePersonal/insideAlicePersonal.txt |
| folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt |
| BrianPersonal/insideBrianPersonal.txt |
| insideAlicePersonal.txt |
| insideTheFolder.txt |
| insideBrianPersonal.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: search for files by extension
Given using <dav-path-version> DAV path
When user "Alice" searches for "*txt*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain these entries:
| insideTheFolder.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: search with empty field
Given using <dav-path-version> DAV path
When user "Alice" searches for "" using the WebDAV API
Then the HTTP status code should be "400"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: limit returned search entries to only 1 entry
Given using <dav-path-version> DAV path
When user "Alice" searches for "*folder*" and limits the results to "1" items using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain any "1" of these entries:
| insideTheFolder.txt |
| folderMain |
| SubFolder1 |
| subFOLDER2 |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: search for entry with emoji by pattern
Given using <dav-path-version> DAV path
And user "Alice" has uploaded file with content "hello world" to "upload😀 😁.txt"
When user "Alice" searches for '"*😀 😁*"' using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain these entries:
| upload😀 😁.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-4712 @issue-9780 @issue-9781 @issue-9783 @issue-10329
Scenario Outline: report extra properties in search entries for a file
Given using <dav-path-version> DAV path
When user "Alice" searches for "*insideTheFo*" using the WebDAV API requesting these properties:
| oc:fileid |
| oc:permissions |
| d:getlastmodified |
| d:getetag |
| d:getcontenttype |
| oc:size |
| oc:owner-id |
| oc:owner-display-name |
Then the HTTP status code should be "207"
And file "insideTheFolder.txt" in the search result of user "Alice" should contain these properties:
| name | value |
| oc:fileid | \d* |
| oc:permissions | ^(RDNVW\|RMDNVW)$ |
| d:getlastmodified | ^[MTWFS][uedhfriatno]{2},\s(\d){2}\s[JFMAJSOND][anebrpyulgctov]{2}\s\d{4}\s\d{2}:\d{2}:\d{2} GMT$ |
| d:getetag | ^\"[a-f0-9:\.]{1,32}\"$ |
| d:getcontenttype | text\/plain |
| oc:size | 15 |
| oc:owner-id | %username% |
| oc:owner-display-name | %displayname% |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-4712 @issue-9780 @issue-9781 @issue-9783 @issue-10329
Scenario Outline: report extra properties in search entries for a folder
Given using <dav-path-version> DAV path
When user "Alice" searches for "*folderMain*" using the WebDAV API requesting these properties:
| oc:fileid |
| oc:permissions |
| d:getlastmodified |
| d:getetag |
| d:getcontenttype |
| oc:size |
| oc:owner-id |
| oc:owner-display-name |
Then the HTTP status code should be "207"
And folder "folderMain" in the search result of user "Alice" should contain these properties:
| name | value |
| oc:fileid | \d* |
| oc:permissions | ^(RDNVCK\|RMDNVCK)$ |
| d:getlastmodified | ^[MTWFS][uedhfriatno]{2},\s(\d){2}\s[JFMAJSOND][anebrpyulgctov]{2}\s\d{4}\s\d{2}:\d{2}:\d{2} GMT$ |
| d:getetag | ^\"[a-f0-9:\.]{1,32}\"$ |
| oc:size | 0 |
| oc:owner-id | %username% |
| oc:owner-display-name | %displayname% |
Examples:
| dav-path-version |
| old |

View File

@@ -28,15 +28,15 @@ Feature: media type search
| <search-result> |
Examples:
| pattern | search-result |
| *text* | /lorem.txt |
| *pdf* | /simple.pdf |
| *jpeg* | /testavatar.jpg |
| *png* | /testavatar.png |
| *gzip* | /data.tar.gz |
| *tar* | /data.tar |
| *7z* | /data.7z |
| *rar* | /data.rar |
| *bzip2* | /data.tar.bz2 |
| *text* | lorem.txt |
| *pdf* | simple.pdf |
| *jpeg* | testavatar.jpg |
| *png* | testavatar.png |
| *gzip* | data.tar.gz |
| *tar* | data.tar |
| *7z* | data.7z |
| *rar* | data.rar |
| *bzip2* | data.tar.bz2 |
@issue-10329
Scenario Outline: search for files inside sub folders using media type
@@ -56,16 +56,16 @@ Feature: media type search
And the search result of user "Alice" should contain these entries:
| <search-result> |
Examples:
| pattern | search-result |
| *text* | /uploadFolder/lorem.txt |
| *pdf* | /uploadFolder/simple.pdf |
| *jpeg* | /uploadFolder/testavatar.jpg |
| *png* | /uploadFolder/testavatar.png |
| *gzip* | /uploadFolder/data.tar.gz |
| *tar* | /uploadFolder/data.tar |
| *7z* | /uploadFolder/data.7z |
| *rar* | /uploadFolder/data.rar |
| *bzip2* | /uploadFolder/data.tar.bz2 |
| pattern | search-result |
| *text* | lorem.txt |
| *pdf* | simple.pdf |
| *jpeg* | testavatar.jpg |
| *png* | testavatar.png |
| *gzip* | data.tar.gz |
| *tar* | data.tar |
| *7z* | data.7z |
| *rar* | data.rar |
| *bzip2* | data.tar.bz2 |
@issue-10329
Scenario Outline: search for file inside project space using media type
@@ -87,15 +87,15 @@ Feature: media type search
| <search-result> |
Examples:
| pattern | search-result |
| *text* | /lorem.txt |
| *pdf* | /simple.pdf |
| *jpeg* | /testavatar.jpg |
| *png* | /testavatar.png |
| *gzip* | /data.tar.gz |
| *tar* | /data.tar |
| *7z* | /data.7z |
| *rar* | /data.rar |
| *bzip2* | /data.tar.bz2 |
| *text* | lorem.txt |
| *pdf* | simple.pdf |
| *jpeg* | testavatar.jpg |
| *png* | testavatar.png |
| *gzip* | data.tar.gz |
| *tar* | data.tar |
| *7z* | data.7z |
| *rar* | data.rar |
| *bzip2* | data.tar.bz2 |
@issue-10329
Scenario Outline: sharee searches for shared files using media type
@@ -122,16 +122,16 @@ Feature: media type search
And the search result of user "Alice" should contain these entries:
| <search-result> |
Examples:
| pattern | search-result |
| *text* | /uploadFolder/lorem.txt |
| *pdf* | /uploadFolder/simple.pdf |
| *jpeg* | /uploadFolder/testavatar.jpg |
| *png* | /uploadFolder/testavatar.png |
| *gzip* | /uploadFolder/data.tar.gz |
| *tar* | /uploadFolder/data.tar |
| *7z* | /uploadFolder/data.7z |
| *rar* | /uploadFolder/data.rar |
| *bzip2* | /uploadFolder/data.tar.bz2 |
| pattern | search-result |
| *text* | lorem.txt |
| *pdf* | simple.pdf |
| *jpeg* | testavatar.jpg |
| *png* | testavatar.png |
| *gzip* | data.tar.gz |
| *tar* | data.tar |
| *7z* | data.7z |
| *rar* | data.rar |
| *bzip2* | data.tar.bz2 |
@issue-10329
Scenario Outline: space viewer searches for files using mediatype filter
@@ -158,15 +158,15 @@ Feature: media type search
| <search-result> |
Examples:
| pattern | search-result |
| *text* | /lorem.txt |
| *pdf* | /simple.pdf |
| *jpeg* | /testavatar.jpg |
| *png* | /testavatar.png |
| *gzip* | /data.tar.gz |
| *tar* | /data.tar |
| *7z* | /data.7z |
| *rar* | /data.rar |
| *bzip2* | /data.tar.bz2 |
| *text* | lorem.txt |
| *pdf* | simple.pdf |
| *jpeg* | testavatar.jpg |
| *png* | testavatar.png |
| *gzip* | data.tar.gz |
| *tar* | data.tar |
| *7z* | data.7z |
| *rar* | data.rar |
| *bzip2* | data.tar.bz2 |
@issue-10329
Scenario: search files with different mediatype filter

View File

@@ -26,9 +26,9 @@ Feature: tag search
When user "Alice" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| fileInRootLevel.txt |
| folderWithFile/fileInsideFolder.txt |
| folderWithFile/subFolder/fileInsideSubFolder.txt |
| fileInRootLevel.txt |
| fileInsideFolder.txt |
| fileInsideSubFolder.txt |
Examples:
| dav-path-version |
| old |
@@ -54,17 +54,13 @@ Feature: tag search
When user "Alice" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| spacesFile.txt |
| spacesFolderWithFile/spacesFileInsideFolder.txt |
| spacesFolderWithFile/spacesSubFolder/spacesFileInsideSubFolder.txt |
| spacesFile.txt |
| spacesFileInsideFolder.txt |
| spacesFileInsideSubFolder.txt |
Examples:
| dav-path-version |
| old |
| new |
@skipOnStable3.0
Examples:
| dav-path-version |
| spaces |
@issue-10329
@@ -103,16 +99,12 @@ Feature: tag search
When user "Alice" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| spacesFolder |
| spacesFolder/spacesSubFolder |
| spacesFolder |
| spacesSubFolder |
Examples:
| dav-path-version |
| old |
| new |
@skipOnStable3.0
Examples:
| dav-path-version |
| spaces |
@issue-10329
@@ -137,16 +129,12 @@ Feature: tag search
When user "Brian" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Brian" should contain only these files:
| uploadFolder/file1.txt |
| uploadFolder/file2.txt |
| file1.txt |
| file2.txt |
Examples:
| dav-path-version |
| old |
| new |
@skipOnStable3.0
Examples:
| dav-path-version |
| spaces |
@issue-10329
@@ -174,17 +162,13 @@ Feature: tag search
When user "Brian" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| spacesFile.txt |
| spacesFolderWithFile/spacesFileInsideFolder.txt |
| spacesFolderWithFile/spacesSubFolder/spacesFileInsideSubFolder.txt |
| spacesFile.txt |
| spacesFileInsideFolder.txt |
| spacesFileInsideSubFolder.txt |
Examples:
| dav-path-version |
| old |
| new |
@skipOnStable3.0
Examples:
| dav-path-version |
| spaces |
@@ -216,10 +200,9 @@ Feature: tag search
When user "Alice" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /file1.txt |
| file1.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -234,7 +217,7 @@ Feature: tag search
When user "Alice" searches for "Tags:tag1" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /file.txt |
| file.txt |
And the content of file "file.txt" for user "Alice" should be "version one file"
Examples:
| dav-path-version |
@@ -267,16 +250,16 @@ Feature: tag search
| <search-result-1> |
| <search-result-2> |
Examples:
| pattern | result-count | search-result-1 | search-result-2 |
| Tags:mathe | 2 | /exercises | /answers |
| tag:mathe | 2 | /exercises | /answers |
| tag:(mathe klass10) | 2 | /exercises | /answers |
| tag:klass10 AND tag:chemi | 1 | /answers | |
| tag:chemi OR tag:physik | 2 | /exercises | /answers |
| (tag:klass10) NOT tag:physik | 2 | /answers | verification work |
| (tag:(mathe klass10)) NOT tag:chemi | 1 | /exercises | |
| (tag:mathe OR tag:klass10) NOT tag:physik | 2 | /answers | /verification work |
| tag:mathe NOT name:exercises | 1 | /answers | |
| tag:mathe AND NOT name:exercises | 1 | /answers | |
| pattern | result-count | search-result-1 | search-result-2 |
| Tags:mathe | 2 | exercises | answers |
| tag:mathe | 2 | exercises | answers |
| tag:(mathe klass10) | 2 | exercises | answers |
| tag:klass10 AND tag:chemi | 1 | answers | |
| tag:chemi OR tag:physik | 2 | exercises | answers |
| (tag:klass10) NOT tag:physik | 2 | answers | verification work |
| (tag:(mathe klass10)) NOT tag:chemi | 1 | exercises | |
| (tag:mathe OR tag:klass10) NOT tag:physik | 2 | answers | verification work |
| tag:mathe NOT name:exercises | 1 | answers | |
| tag:mathe AND NOT name:exercises | 1 | answers | |
# The third finding is the personal space itself
| NOT tag:mathe | 3 | /verification work | /withoutTagFolder |
| NOT tag:mathe | 3 | verification work | withoutTagFolder |

View File

@@ -102,9 +102,9 @@ Feature: content search
When user "Brian" searches for "Content:hello" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Brian" should contain only these files:
| uploadFolder/keywordAtStart.txt |
| uploadFolder/keywordAtMiddle.txt |
| uploadFolder/keywordAtLast.txt |
| keywordAtStart.txt |
| keywordAtMiddle.txt |
| keywordAtLast.txt |
Examples:
| dav-path-version |
| old |
@@ -122,8 +122,8 @@ Feature: content search
When user "Alice" searches for "Content:hello" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| uploadFolder/keywordAtStart.txt |
| keywordAtMiddle.txt |
| keywordAtStart.txt |
| keywordAtMiddle.txt |
Examples:
| dav-path-version |
| old |
@@ -143,7 +143,6 @@ Feature: content search
| keywordAtStart.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@@ -177,9 +176,9 @@ Feature: content search
When user "Alice" searches for "Content:hello" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| keywordAtStart.txt |
| spacesFolderWithFile/keywordAtMiddle.txt |
| spacesFolderWithFile/spacesSubFolder/keywordAtLast.txt |
| keywordAtStart.txt |
| keywordAtMiddle.txt |
| keywordAtLast.txt |
Examples:
| dav-path-version |
| old |
@@ -206,9 +205,9 @@ Feature: content search
When user "Brian" searches for "Content:hello" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these files:
| keywordAtStart.txt |
| spacesFolderWithFile/keywordAtMiddle.txt |
| spacesFolderWithFile/spacesSubFolder/keywordAtLast.txt |
| keywordAtStart.txt |
| keywordAtMiddle.txt |
| keywordAtLast.txt |
Examples:
| dav-path-version |
| old |
@@ -230,13 +229,13 @@ Feature: content search
| <search-result-1> |
| <search-result-2> |
Examples:
| pattern | result-count | search-result-1 | search-result-2 |
| Content:hello | 1 | /technical task.txt | |
| content:hello | 1 | /technical task.txt | |
| content:"hello" | 1 | /technical task.txt | |
| content:hel* | 2 | /technical task.txt | /task comments.txt |
| content:hel* AND tag:test | 1 | /technical task.txt | |
| (name:*task* AND content:hel*) NOT tag:test | 1 | /task comments.txt | |
| pattern | result-count | search-result-1 | search-result-2 |
| Content:hello | 1 | technical task.txt | |
| content:hello | 1 | technical task.txt | |
| content:"hello" | 1 | technical task.txt | |
| content:hel* | 2 | technical task.txt | task comments.txt |
| content:hel* AND tag:test | 1 | technical task.txt | |
| (name:*task* AND content:hel*) NOT tag:test | 1 | task comments.txt | |
@issue-10329
Scenario Outline: search across files with different format with search text highlight

View File

@@ -18,7 +18,7 @@ Feature: reindex space via CLI command
When user "Alice" searches for "textfile.txt" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain only these entries:
| /textfile.txt |
| textfile.txt |
Scenario: reindex a space

View File

@@ -1,231 +0,0 @@
@issue-1330
Feature: Search
As a user
I would like to be able to search for files
So that I can find needed files quickly
Background:
Given user "Alice" has been created with default attributes
And user "Alice" has created folder "/just-a-folder"
And user "Alice" has created folder "/ näme"
And user "Alice" has created folder "/upload folder"
And user "Alice" has created folder "/upload😀 😁"
And user "Alice" has uploaded file with content "does-not-matter" to "/upload.txt"
And user "Alice" has uploaded file with content "does-not-matter" to "/a-image.png"
And user "Alice" has uploaded file with content "does-not-matter" to "/just-a-folder/upload.txt"
And user "Alice" has uploaded file with content "does-not-matter" to "/just-a-folder/lolol.txt"
And user "Alice" has uploaded file with content "does-not-matter" to "/just-a-folder/a-image.png"
And user "Alice" has uploaded file with content "does-not-matter" to "/just-a-folder/uploadÜिF.txt"
And user "Alice" has uploaded file with content "does-not-matter" to "/ näme/upload.txt"
And user "Alice" has uploaded file with content "does-not-matter" to "/ näme/a-image.png"
And user "Alice" has uploaded file with content "does-not-matter" to "/upload😀 😁/upload😀 😁.txt"
And user "Alice" has uploaded file with content "file with comma in filename" to "/upload😀 😁/upload,1.txt"
@smokeTest @issue-10329
Scenario Outline: search for entry by pattern
Given using <dav-path-version> DAV path
When user "Alice" searches for "*upload*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain these entries:
| /upload.txt |
| /just-a-folder/upload.txt |
| /upload folder |
| /just-a-folder/uploadÜिF.txt |
| / näme/upload.txt |
| /upload😀 😁 |
| /upload😀 😁/upload😀 😁.txt |
| /upload😀 😁/upload,1.txt |
But the search result of user "Alice" should not contain these entries:
| /a-image.png |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: search for entries by only some letters from the middle of the entry name
Given using <dav-path-version> DAV path
And user "Alice" has created folder "FOLDER"
When user "Alice" searches for "*ol*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result should contain "4" entries
And the search result of user "Alice" should contain these entries:
| /just-a-folder |
| /upload folder |
| /FOLDER |
| /just-a-folder/lolol.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: search for files by extension
Given using <dav-path-version> DAV path
When user "Alice" searches for "*png*" using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain these entries:
| /a-image.png |
| /just-a-folder/a-image.png |
| / näme/a-image.png |
But the search result of user "Alice" should not contain these entries:
| /upload.txt |
| /just-a-folder/upload.txt |
| /just-a-folder/uploadÜिF.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
Scenario Outline: search with empty field
Given using <dav-path-version> DAV path
When user "Alice" searches for "" using the WebDAV API
Then the HTTP status code should be "400"
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: limit returned search entries
Given using <dav-path-version> DAV path
When user "Alice" searches for "*upload*" and limits the results to "3" items using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain any "3" of these entries:
| /just-a-folder/upload.txt |
| /just-a-folder/uploadÜिF.txt |
| /upload folder |
| /upload.txt |
| / näme/upload.txt |
| /upload😀 😁 |
| /upload😀 😁/upload😀 😁.txt |
| /upload😀 😁/upload,1.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: limit returned search entries to only 1 entry
Given using <dav-path-version> DAV path
When user "Alice" searches for "*upload*" and limits the results to "1" items using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain any "1" of these entries:
| /just-a-folder/upload.txt |
| /just-a-folder/uploadÜिF.txt |
| /upload folder |
| /upload.txt |
| / näme/upload.txt |
| /upload😀 😁 |
| /upload😀 😁/upload😀 😁.txt |
| /upload😀 😁/upload,1.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: limit returned search entries to more entries than there are
Given using <dav-path-version> DAV path
When user "Alice" searches for "*upload*" and limits the results to "100" items using the WebDAV API
Then the HTTP status code should be "207"
And the search result should contain "8" entries
And the search result of user "Alice" should contain these entries:
| /upload.txt |
| /just-a-folder/upload.txt |
| /upload folder |
| /just-a-folder/uploadÜिF.txt |
| / näme/upload.txt |
| /upload😀 😁 |
| /upload😀 😁/upload😀 😁.txt |
| /upload😀 😁/upload,1.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-4712 @issue-9780 @issue-9781 @issue-9783 @issue-10329
Scenario Outline: report extra properties in search entries for a file
Given using <dav-path-version> DAV path
When user "Alice" searches for "*upload*" using the WebDAV API requesting these properties:
| oc:fileid |
| oc:permissions |
| d:getlastmodified |
| d:getetag |
| d:getcontenttype |
| oc:size |
| oc:owner-id |
| oc:owner-display-name |
Then the HTTP status code should be "207"
And file "/upload.txt" in the search result of user "Alice" should contain these properties:
| name | value |
| oc:fileid | \d* |
| oc:permissions | ^(RDNVW\|RMDNVW)$ |
| d:getlastmodified | ^[MTWFS][uedhfriatno]{2},\s(\d){2}\s[JFMAJSOND][anebrpyulgctov]{2}\s\d{4}\s\d{2}:\d{2}:\d{2} GMT$ |
| d:getetag | ^\"[a-f0-9:\.]{1,32}\"$ |
| d:getcontenttype | text\/plain |
| oc:size | 15 |
| oc:owner-id | %username% |
| oc:owner-display-name | %displayname% |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-4712 @issue-9780 @issue-9781 @issue-9783 @issue-10329
Scenario Outline: report extra properties in search entries for a folder
Given using <dav-path-version> DAV path
When user "Alice" searches for "*upload*" using the WebDAV API requesting these properties:
| oc:fileid |
| oc:permissions |
| d:getlastmodified |
| d:getetag |
| d:getcontenttype |
| oc:size |
| oc:owner-id |
| oc:owner-display-name |
Then the HTTP status code should be "207"
And folder "/upload folder" in the search result of user "Alice" should contain these properties:
| name | value |
| oc:fileid | \d* |
| oc:permissions | ^(RDNVCK\|RMDNVCK)$ |
| d:getlastmodified | ^[MTWFS][uedhfriatno]{2},\s(\d){2}\s[JFMAJSOND][anebrpyulgctov]{2}\s\d{4}\s\d{2}:\d{2}:\d{2} GMT$ |
| d:getetag | ^\"[a-f0-9:\.]{1,32}\"$ |
| oc:size | 0 |
| oc:owner-id | %username% |
| oc:owner-display-name | %displayname% |
Examples:
| dav-path-version |
| old |
| new |
| spaces |
@issue-10329
Scenario Outline: search for entry with emoji by pattern
Given using <dav-path-version> DAV path
When user "Alice" searches for '"*😀 😁*"' using the WebDAV API
Then the HTTP status code should be "207"
And the search result of user "Alice" should contain these entries:
| /upload😀 😁 |
| /upload😀 😁/upload😀 😁.txt |
But the search result of user "Alice" should not contain these entries:
| /a-image.png |
| /upload.txt |
| /just-a-folder/upload.txt |
| /upload folder |
| /just-a-folder/uploadÜिF.txt |
| / näme/upload.txt |
Examples:
| dav-path-version |
| old |
| new |
| spaces |