From c05e1b2809ebd4693e5def1bcbe2856284ce74c3 Mon Sep 17 00:00:00 2001 From: pradip Date: Fri, 20 Sep 2024 12:18:21 +0545 Subject: [PATCH 1/3] test: search file globally or in a specific location --- .../features/apiSearch1/search.feature | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/tests/acceptance/features/apiSearch1/search.feature b/tests/acceptance/features/apiSearch1/search.feature index f3762b6636..2d46cb3e5c 100644 --- a/tests/acceptance/features/apiSearch1/search.feature +++ b/tests/acceptance/features/apiSearch1/search.feature @@ -291,3 +291,114 @@ Feature: Search When user "Alice" searches for 'AND mediatype:document' using the WebDAV API Then the HTTP status code should be "400" And the value of the item "/d:error/s:message" in the response should be "error: bad request: the expression can't begin from a binary operator: 'AND'" + + + Scenario Outline: search a file globally (in all drives) + Given using DAV path + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" using the WebDAV API + 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 | + Examples: + | dav-path-version | + | old | + | new | + | spaces | + + + Scenario Outline: search a file within Personal drive + Given using DAV path + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" inside folder "AlicePersonal" in space "Personal" using the WebDAV API + 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 | + But the search result of user "Alice" should not contain these entries: + | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | + | BrianPersonal/insideBrianPersonal.txt | + Examples: + | dav-path-version | + | old | + | new | + | spaces | + + + Scenario Outline: search a file within Project drive + Given using DAV path + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" inside folder "folderMain" in space "project101" using the WebDAV API + 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: + | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | + But the search result of user "Alice" should not contain these entries: + | AlicePersonal/insideAlicePersonal.txt | + | BrianPersonal/insideBrianPersonal.txt | + Examples: + | dav-path-version | + | old | + | new | + | spaces | + + + Scenario Outline: search a file within Shares drive + Given using DAV path + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" inside folder "BrianPersonal" in space "Shares" using the WebDAV API + 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: + | BrianPersonal/insideBrianPersonal.txt | + But the search result of user "Alice" should not contain these entries: + | AlicePersonal/insideAlicePersonal.txt | + | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | + Examples: + | dav-path-version | + | old | + | new | + | spaces | From 97f6fa045aee66ef1b4510cc797e7955e53f90b6 Mon Sep 17 00:00:00 2001 From: pradip Date: Mon, 30 Sep 2024 14:15:09 +0545 Subject: [PATCH 2/3] test(refactor): search files in specific spaces and globally --- tests/acceptance/bootstrap/SearchContext.php | 9 +- .../features/apiSearch1/search.feature | 169 +++++++----------- 2 files changed, 69 insertions(+), 109 deletions(-) diff --git a/tests/acceptance/bootstrap/SearchContext.php b/tests/acceptance/bootstrap/SearchContext.php index 7c5dc83b6d..05fb75dc16 100644 --- a/tests/acceptance/bootstrap/SearchContext.php +++ b/tests/acceptance/bootstrap/SearchContext.php @@ -43,6 +43,7 @@ class SearchContext implements Context { * @When user :user searches for :pattern and limits the results to :limit items using the WebDAV API requesting these properties: * @When user :user searches for :pattern inside folder :scope using the WebDAV API * @When user :user searches for :pattern inside folder :scope in space :spaceName using the WebDAV API + * @When user :user searches for :pattern within space :spaceName using the WebDAV API * * @param string $user * @param string $pattern @@ -84,9 +85,11 @@ class SearchContext implements Context { = "\n" . " \n" . " \n"; - if ($scope !== null) { - $scope = \trim($scope, "/"); - $resourceID = $this->featureContext->spacesContext->getResourceId($user, $spaceName ?? "Personal", $scope); + if ($spaceName !== null) { + $resourceID = $this->featureContext->spacesContext->getResourceId($user, $spaceName, $scope ?? ""); + $pattern .= " scope:$resourceID"; + } elseif ($scope !== null) { + $resourceID = $this->featureContext->spacesContext->getResourceId($user, "Personal", $scope); $pattern .= " scope:$resourceID"; } $body .= "$pattern\n"; diff --git a/tests/acceptance/features/apiSearch1/search.feature b/tests/acceptance/features/apiSearch1/search.feature index 2d46cb3e5c..38c30c9421 100644 --- a/tests/acceptance/features/apiSearch1/search.feature +++ b/tests/acceptance/features/apiSearch1/search.feature @@ -15,17 +15,27 @@ Feature: Search And user "Alice" has uploaded a file inside space "project101" with content "some content" to "folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt" - Scenario Outline: user can search items from the project space + Scenario Outline: user can search items within project space Given using DAV path - When user "Alice" searches for "*SUB*" using the WebDAV API + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" within space "project101" using the WebDAV API Then the HTTP status code should be "207" - And the search result should contain "2" entries + And the search result should contain "1" entries And the search result of user "Alice" should contain these entries: - | /folderMain/SubFolder1 | - | /folderMain/SubFolder1/subFOLDER2 | + | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | But the search result of user "Alice" should not contain these entries: - | /folderMain | - | /folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | + | /AlicePersonal/insideAlicePersonal.txt | + | /BrianPersonal/insideBrianPersonal.txt | Examples: | dav-path-version | | old | @@ -33,23 +43,54 @@ Feature: Search | spaces | - Scenario Outline: user can search items from the shares + Scenario Outline: user can search items within personal space Given using DAV path - And user "Alice" has sent the following resource share invitation: - | resource | folderMain | - | space | project101 | - | sharee | Brian | - | shareType | user | - | permissionsRole | Viewer | - And user "Brian" has a share "folderMain" synced - When user "Brian" searches for "*folder*" using the WebDAV API + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" within space "Personal" 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 "Brian" should contain these entries: - | folderMain/SubFolder1 | - | folderMain/SubFolder1/subFOLDER2 | + And the search result should contain "1" entries + And the search result of user "Alice" should contain only these entries: + | AlicePersonal/insideAlicePersonal.txt | + But the search result of user "Alice" should not contain these entries: + | BrianPersonal/insideBrianPersonal.txt | + | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | + Examples: + | dav-path-version | + | old | + | new | + | spaces | + + + Scenario Outline: user cannot search items within shares space + Given using DAV path + And user "Alice" has created a folder "AlicePersonal" in space "Personal" + And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" + And user "Brian" has created a folder "BrianPersonal" in space "Personal" + And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" + And user "Brian" has sent the following resource share invitation: + | resource | BrianPersonal | + | space | Personal | + | sharee | Alice | + | shareType | user | + | permissionsRole | Viewer | + And user "Alice" has a share "BrianPersonal" synced + When user "Alice" searches for "*inside*" within space "Shares" using the WebDAV API + 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 | - And for user "Brian" the search result should contain space "mountpoint/folderMain" Examples: | dav-path-version | | old | @@ -293,7 +334,7 @@ Feature: Search And the value of the item "/d:error/s:message" in the response should be "error: bad request: the expression can't begin from a binary operator: 'AND'" - Scenario Outline: search a file globally (in all drives) + Scenario Outline: search a file globally (in all spaces) Given using DAV path And user "Alice" has created a folder "AlicePersonal" in space "Personal" And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" @@ -318,87 +359,3 @@ Feature: Search | old | | new | | spaces | - - - Scenario Outline: search a file within Personal drive - Given using DAV path - And user "Alice" has created a folder "AlicePersonal" in space "Personal" - And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" - And user "Brian" has created a folder "BrianPersonal" in space "Personal" - And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" - And user "Brian" has sent the following resource share invitation: - | resource | BrianPersonal | - | space | Personal | - | sharee | Alice | - | shareType | user | - | permissionsRole | Viewer | - And user "Alice" has a share "BrianPersonal" synced - When user "Alice" searches for "*inside*" inside folder "AlicePersonal" in space "Personal" using the WebDAV API - 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 | - But the search result of user "Alice" should not contain these entries: - | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | - | BrianPersonal/insideBrianPersonal.txt | - Examples: - | dav-path-version | - | old | - | new | - | spaces | - - - Scenario Outline: search a file within Project drive - Given using DAV path - And user "Alice" has created a folder "AlicePersonal" in space "Personal" - And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" - And user "Brian" has created a folder "BrianPersonal" in space "Personal" - And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" - And user "Brian" has sent the following resource share invitation: - | resource | BrianPersonal | - | space | Personal | - | sharee | Alice | - | shareType | user | - | permissionsRole | Viewer | - And user "Alice" has a share "BrianPersonal" synced - When user "Alice" searches for "*inside*" inside folder "folderMain" in space "project101" using the WebDAV API - 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: - | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | - But the search result of user "Alice" should not contain these entries: - | AlicePersonal/insideAlicePersonal.txt | - | BrianPersonal/insideBrianPersonal.txt | - Examples: - | dav-path-version | - | old | - | new | - | spaces | - - - Scenario Outline: search a file within Shares drive - Given using DAV path - And user "Alice" has created a folder "AlicePersonal" in space "Personal" - And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" - And user "Brian" has created a folder "BrianPersonal" in space "Personal" - And user "Brian" has uploaded file with content "inside Brian personal space" to "BrianPersonal/insideBrianPersonal.txt" - And user "Brian" has sent the following resource share invitation: - | resource | BrianPersonal | - | space | Personal | - | sharee | Alice | - | shareType | user | - | permissionsRole | Viewer | - And user "Alice" has a share "BrianPersonal" synced - When user "Alice" searches for "*inside*" inside folder "BrianPersonal" in space "Shares" using the WebDAV API - 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: - | BrianPersonal/insideBrianPersonal.txt | - But the search result of user "Alice" should not contain these entries: - | AlicePersonal/insideAlicePersonal.txt | - | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | - Examples: - | dav-path-version | - | old | - | new | - | spaces | From 8de25ddc9700f57fe03a22d2d5f77a40b35a5176 Mon Sep 17 00:00:00 2001 From: pradip Date: Thu, 3 Oct 2024 14:32:17 +0545 Subject: [PATCH 3/3] test(refactor): combined searching inside folder and space scenarios into one --- tests/acceptance/bootstrap/SearchContext.php | 103 +++++++++++++----- .../features/apiSearch1/search.feature | 16 +-- 2 files changed, 84 insertions(+), 35 deletions(-) diff --git a/tests/acceptance/bootstrap/SearchContext.php b/tests/acceptance/bootstrap/SearchContext.php index 05fb75dc16..dcec6458d8 100644 --- a/tests/acceptance/bootstrap/SearchContext.php +++ b/tests/acceptance/bootstrap/SearchContext.php @@ -23,7 +23,9 @@ use Behat\Behat\Context\Context; use Behat\Behat\Hook\Scope\BeforeScenarioScope; use Behat\Gherkin\Node\TableNode; +use GuzzleHttp\Exception\GuzzleException; use PHPUnit\Framework\Assert; +use Psr\Http\Message\ResponseInterface; use TestHelpers\WebDavHelper; use TestHelpers\HttpRequestHelper; use TestHelpers\BehatHelper; @@ -37,34 +39,26 @@ class SearchContext implements Context { private FeatureContext $featureContext; /** - * @When user :user searches for :pattern using the WebDAV API - * @When user :user searches for :pattern and limits the results to :limit items using the WebDAV API - * @When user :user searches for :pattern using the WebDAV API requesting these properties: - * @When user :user searches for :pattern and limits the results to :limit items using the WebDAV API requesting these properties: - * @When user :user searches for :pattern inside folder :scope using the WebDAV API - * @When user :user searches for :pattern inside folder :scope in space :spaceName using the WebDAV API - * @When user :user searches for :pattern within space :spaceName using the WebDAV API - * * @param string $user * @param string $pattern * @param string|null $limit + * @param string|null $scopeType * @param string|null $scope * @param string|null $spaceName * @param TableNode|null $properties * - * @return void + * @return ResponseInterface + * @throws GuzzleException|JsonException */ - public function userSearchesUsingWebDavAPI( - string $user, - string $pattern, - ?string $limit = null, - ?string $scope = null, - ?string $spaceName = null, - TableNode $properties = null - ): void { - // NOTE: because indexing of newly uploaded files or directories with ocis is decoupled and occurs asynchronously - // short wait is necessary before searching - sleep(5); + private function searchFiles( + string $user, + string $pattern, + ?string $limit = null, + ?string $scopeType = null, + ?string $scope = null, + ?string $spaceName = null, + ?TableNode $properties = null + ): ResponseInterface { $user = $this->featureContext->getActualUsername($user); $baseUrl = $this->featureContext->getBaseUrl(); $password = $this->featureContext->getPasswordForUser($user); @@ -85,12 +79,14 @@ class SearchContext implements Context { = "\n" . " \n" . " \n"; - if ($spaceName !== null) { - $resourceID = $this->featureContext->spacesContext->getResourceId($user, $spaceName, $scope ?? ""); - $pattern .= " scope:$resourceID"; - } elseif ($scope !== null) { - $resourceID = $this->featureContext->spacesContext->getResourceId($user, "Personal", $scope); - $pattern .= " scope:$resourceID"; + if ($scope !== null) { + if ($scopeType === "space") { + $spaceId = $this->featureContext->spacesContext->getSpaceIdByName($user, $scope); + $pattern .= " scope:$spaceId"; + } else { + $resourceID = $this->featureContext->spacesContext->getResourceId($user, $spaceName ?? "Personal", $scope); + $pattern .= " scope:$resourceID"; + } } $body .= "$pattern\n"; if ($limit !== null) { @@ -117,7 +113,7 @@ class SearchContext implements Context { } $fullUrl = WebDavHelper::sanitizeUrl("$baseUrl/$davPath"); - $response = HttpRequestHelper::sendRequest( + return HttpRequestHelper::sendRequest( $fullUrl, $this->featureContext->getStepLineRef(), 'REPORT', @@ -126,6 +122,32 @@ class SearchContext implements Context { null, $body ); + } + + /** + * @When user :user searches for :pattern using the WebDAV API + * @When user :user searches for :pattern and limits the results to :limit items using the WebDAV API + * @When user :user searches for :pattern using the WebDAV API requesting these properties: + * @When user :user searches for :pattern and limits the results to :limit items using the WebDAV API requesting these properties: + * + * @param string $user + * @param string $pattern + * @param string|null $limit + * @param TableNode|null $properties + * + * @return void + * @throws Exception|GuzzleException + */ + public function userSearchesUsingWebDavAPI( + string $user, + string $pattern, + ?string $limit = null, + ?TableNode $properties = null + ): void { + // NOTE: because indexing of newly uploaded files or directories with ocis is decoupled and occurs asynchronously + // short wait is necessary before searching + sleep(5); + $response = $this->searchFiles($user, $pattern, $limit, null, null, null, $properties); $this->featureContext->setResponse($response); } @@ -224,4 +246,31 @@ class SearchContext implements Context { ); } } + + /** + * @When /^user "([^"]*)" searches for "([^"]*)" inside (folder|space) "([^"]*)" using the WebDAV API$/ + * @When /^user "([^"]*)" searches for "([^"]*)" inside (folder) "([^"]*)" in space "([^"]*)" using the WebDAV API$/ + * + * @param string $user + * @param string $pattern + * @param string $scopeType + * @param string $scope + * @param string|null $spaceName + * + * @return void + * @throws Exception|GuzzleException + */ + public function userSearchesInsideFolderOrSpaceUsingWebDavAPI( + string $user, + string $pattern, + string $scopeType, + string $scope, + ?string $spaceName = null, + ): void { + // NOTE: since indexing of newly uploaded files or directories with ocis is decoupled and occurs asynchronously, + // a short wait is necessary before searching + sleep(5); + $response = $this-> searchFiles($user, $pattern, null, $scopeType, $scope, $spaceName); + $this->featureContext->setResponse($response); + } } diff --git a/tests/acceptance/features/apiSearch1/search.feature b/tests/acceptance/features/apiSearch1/search.feature index 38c30c9421..19b2225592 100644 --- a/tests/acceptance/features/apiSearch1/search.feature +++ b/tests/acceptance/features/apiSearch1/search.feature @@ -15,7 +15,7 @@ Feature: Search And user "Alice" has uploaded a file inside space "project101" with content "some content" to "folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt" - Scenario Outline: user can search items within project space + Scenario Outline: user can search items inside project space Given using DAV path And user "Alice" has created a folder "AlicePersonal" in space "Personal" And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" @@ -28,11 +28,11 @@ Feature: Search | shareType | user | | permissionsRole | Viewer | And user "Alice" has a share "BrianPersonal" synced - When user "Alice" searches for "*inside*" within space "project101" using the WebDAV API + When user "Alice" searches for "*inside*" inside space "project101" using the WebDAV API 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 | + | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | But the search result of user "Alice" should not contain these entries: | /AlicePersonal/insideAlicePersonal.txt | | /BrianPersonal/insideBrianPersonal.txt | @@ -43,7 +43,7 @@ Feature: Search | spaces | - Scenario Outline: user can search items within personal space + Scenario Outline: user can search items inside personal space Given using DAV path And user "Alice" has created a folder "AlicePersonal" in space "Personal" And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" @@ -56,7 +56,7 @@ Feature: Search | shareType | user | | permissionsRole | Viewer | And user "Alice" has a share "BrianPersonal" synced - When user "Alice" searches for "*inside*" within space "Personal" using the WebDAV API + When user "Alice" searches for "*inside*" inside space "Personal" using the WebDAV API 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: @@ -71,7 +71,7 @@ Feature: Search | spaces | - Scenario Outline: user cannot search items within shares space + Scenario Outline: user cannot search items inside shares space Given using DAV path And user "Alice" has created a folder "AlicePersonal" in space "Personal" And user "Alice" has uploaded a file inside space "Personal" with content "inside Alice personal space" to "AlicePersonal/insideAlicePersonal.txt" @@ -84,11 +84,11 @@ Feature: Search | shareType | user | | permissionsRole | Viewer | And user "Alice" has a share "BrianPersonal" synced - When user "Alice" searches for "*inside*" within space "Shares" using the WebDAV API + When user "Alice" searches for "*inside*" inside space "Shares" using the WebDAV API 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 | + | BrianPersonal/insideBrianPersonal.txt | | AlicePersonal/insideAlicePersonal.txt | | folderMain/SubFolder1/subFOLDER2/insideTheFolder.txt | Examples: