diff --git a/tests/acceptance/expected-failures-API-on-OCIS-storage.md b/tests/acceptance/expected-failures-API-on-OCIS-storage.md index db0a123427..b13ef6f01d 100644 --- a/tests/acceptance/expected-failures-API-on-OCIS-storage.md +++ b/tests/acceptance/expected-failures-API-on-OCIS-storage.md @@ -232,19 +232,6 @@ cannot share a folder with create permission - [coreApiWebdavPreviews/previews.feature:101](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L101) -#### [Requesting a file preview when it is disabled by the administrator](https://github.com/owncloud/ocis/issues/192) - -- [coreApiWebdavPreviews/previews.feature:116](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L116) - -#### [Cannot set/unset maximum and minimum preview dimensions](https://github.com/owncloud/ocis/issues/2070) - -- [coreApiWebdavPreviews/previews.feature:124](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L124) -- [coreApiWebdavPreviews/previews.feature:152](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L152) -- [coreApiWebdavPreviews/previews.feature:153](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L153) -- [coreApiWebdavPreviews/previews.feature:154](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L154) -- [coreApiWebdavPreviews/previews.feature:166](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L166) -- [coreApiWebdavPreviews/previews.feature:167](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L167) - #### [copying a folder within a public link folder to folder with same name as an already existing file overwrites the parent file](https://github.com/owncloud/ocis/issues/1232) - [coreApiSharePublicLink2/copyFromPublicLink.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiSharePublicLink2/copyFromPublicLink.feature#L63) @@ -618,18 +605,6 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - _The `OC-LazyOps` header is [no longer supported by the client](https://github.com/owncloud/client/pull/8398), implementing this is not necessary for a first production release. We plan to have an upload state machine to visualize the state of a file, see https://github.com/owncloud/ocis/issues/214_ - _Blacklisted ignored files are no longer required because ocis can handle `.htaccess` files without security implications introduced by serving user provided files with apache._ -#### [uploading with old-chunking does not work](https://github.com/owncloud/ocis/issues/1343) - -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L20) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L21) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L26) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:39](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L39) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L40) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:45](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L45) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:80](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L80) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:81](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L81) -- [coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature:86](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature#L86) - #### [Blacklist files extensions](https://github.com/owncloud/ocis/issues/2177) - [coreApiWebdavProperties1/copyFile.feature:119](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavProperties1/copyFile.feature#L119) @@ -641,15 +616,6 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - [coreApiWebdavUpload1/uploadFile.feature:181](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFile.feature#L181) - [coreApiWebdavUpload1/uploadFile.feature:182](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFile.feature#L182) - [coreApiWebdavUpload1/uploadFile.feature:187](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFile.feature#L187) -- [coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:13](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature#L13) -- [coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:29](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature#L29) -- [coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:30](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature#L30) -- [coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature:31](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature#L31) -- [coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:13](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature#L13) -- [coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature#L20) -- [coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:38](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature#L38) -- [coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:39](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature#L39) -- [coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature#L40) - [coreApiWebdavMove2/moveFile.feature:176](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L176) - [coreApiWebdavMove2/moveFile.feature:177](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L177) - [coreApiWebdavMove2/moveFile.feature:182](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L182) @@ -659,49 +625,12 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L21) - [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:22](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L22) - [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:27](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L27) -- [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:40](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L40) -- [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:41](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L41) -- [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:46](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L46) -- [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:81](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L81) -- [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:82](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L82) -- [coreApiWebdavMove1/moveFolderToBlacklistedName.feature:87](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature#L87) - [coreApiWebdavMove2/moveFileToBlacklistedName.feature:19](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L19) - [coreApiWebdavMove2/moveFileToBlacklistedName.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L20) -- [coreApiWebdavMove2/moveFileToBlacklistedName.feature:35](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L35) -- [coreApiWebdavMove2/moveFileToBlacklistedName.feature:36](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L36) -- [coreApiWebdavMove2/moveFileToBlacklistedName.feature:74](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L74) -- [coreApiWebdavMove2/moveFileToBlacklistedName.feature:75](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L75) - -#### [cannot set excluded directories](https://github.com/owncloud/product/issues/261) - -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:22](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L22) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:23](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L23) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:28](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L28) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:42](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L42) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L43) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:48](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L48) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:84](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L84) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:85](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L85) -- [coreApiWebdavMove1/moveFolderToExcludedDirectory.feature:90](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature#L90) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L20) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L21) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:37](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L37) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:38](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L38) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:78](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L78) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:79](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L79) - -#### [system configuration options missing](https://github.com/owncloud/ocis/issues/1323) - -- [coreApiWebdavUpload1/uploadFileToBlacklistedName.feature:20](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature#L20) -- [coreApiWebdavUpload1/uploadFileToBlacklistedName.feature:21](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature#L21) -- [coreApiWebdavUpload1/uploadFileToBlacklistedName.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature#L26) -- [coreApiWebdavUpload1/uploadFileToBlacklistedName.feature:60](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature#L60) -- [coreApiWebdavUpload1/uploadFileToBlacklistedName.feature:59](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature#L59) -- [coreApiWebdavUpload1/uploadFileToBlacklistedName.feature:65](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature#L65) #### [Preview of text file with UTF content does not render correctly](https://github.com/owncloud/ocis/issues/2570) -- [coreApiWebdavPreviews/previews.feature:190](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L190) +- [coreApiWebdavPreviews/previews.feature:136](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavPreviews/previews.feature#L136) #### [Share path in the response is different between share states](https://github.com/owncloud/ocis/issues/2540) @@ -742,8 +671,6 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - [coreApiWebdavMove1/moveFolder.feature:63](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove1/moveFolder.feature#L63) - [coreApiWebdavMove2/moveFile.feature:138](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFile.feature#L138) - [coreApiWebdavMove2/moveFileToBlacklistedName.feature:25](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L25) -- [coreApiWebdavMove2/moveFileToBlacklistedName.feature:41](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L41) -- [coreApiWebdavMove2/moveFileToBlacklistedName.feature:80](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature#L80) #### [REPORT method on spaces returns an incorrect d:href response](https://github.com/owncloud/ocis/issues/3111) @@ -762,12 +689,6 @@ Not everything needs to be implemented for ocis. While the oc10 testsuite covers - [coreApiWebdavOperations/listFiles.feature:408](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/listFiles.feature#L408) - [coreApiWebdavOperations/listFiles.feature:413](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/listFiles.feature#L413) -#### [Renaming resource to excluded directory name is allowed in spaces webdav](https://github.com/owncloud/ocis/issues/3102) - -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:26](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L26) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:43](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L43) -- [coreApiWebdavMove2/moveFileToExcludedDirectory.feature:84](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature#L84) - ### [graph/users: enable/disable users](https://github.com/owncloud/ocis/issues/3064) - [coreApiWebdavOperations/refuseAccess.feature:35](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/coreApiWebdavOperations/refuseAccess.feature#L35) diff --git a/tests/acceptance/features/bootstrap/OccContext.php b/tests/acceptance/features/bootstrap/OccContext.php index 0e5bf659c7..07a4cf74e3 100644 --- a/tests/acceptance/features/bootstrap/OccContext.php +++ b/tests/acceptance/features/bootstrap/OccContext.php @@ -2504,65 +2504,6 @@ class OccContext implements Context { $this->deleteConfigKeyOfAppUsingTheOccCommand($key, $app); } - /** - * @When the administrator adds/updates system config key :key with value :value using the occ command - * @When the administrator adds/updates system config key :key with value :value and type :type using the occ command - * - * @param string $key - * @param string $value - * @param string $type - * - * @return void - * @throws Exception - */ - public function theAdministratorAddsSystemConfigKeyWithValueUsingTheOccCommand( - string $key, - string $value, - string $type = "string" - ):void { - $this->addSystemConfigKeyUsingTheOccCommand( - $key, - $value, - $type - ); - } - - /** - * @Given the administrator has added/updated system config key :key with value :value - * @Given the administrator has added/updated system config key :key with value :value and type :type - * - * @param string $key - * @param string $value - * @param string $type - * - * @return void - * @throws Exception - */ - public function theAdministratorHasAddedSystemConfigKeyWithValueUsingTheOccCommand( - string $key, - string $value, - string $type = "string" - ):void { - $this->addSystemConfigKeyUsingTheOccCommand( - $key, - $value, - $type - ); - $this->theCommandShouldHaveBeenSuccessful(); - } - - /** - * @When the administrator deletes system config key :key using the occ command - * - * @param string $key - * - * @return void - * @throws Exception - */ - public function theAdministratorDeletesSystemConfigKeyUsingTheOccCommand(string $key):void { - $this->deleteSystemConfigKeyUsingTheOccCommand($key); - } - /** * @When the administrator empties the trashbin of user :user using the occ command * @@ -2752,29 +2693,6 @@ class OccContext implements Context { } } - /** - * @Then system config key :key should have value :value - * - * @param string $key - * @param string $value - * - * @return void - * @throws Exception - */ - public function systemConfigKeyShouldHaveValue(string $key, string $value):void { - $config = \trim( - SetupHelper::getSystemConfigValue( - $key, - $this->featureContext->getStepLineRef() - ) - ); - Assert::assertSame( - $value, - $config, - "The system config key '$key' was expected to have value '$value', but got '$config'" - ); - } - /** * @Then the command output table should contain the following text: * @@ -2798,24 +2716,6 @@ class OccContext implements Context { } } - /** - * @Then system config key :key should not exist - * - * @param string $key - * - * @return void - * @throws Exception - */ - public function systemConfigKeyShouldNotExist(string $key):void { - Assert::assertEmpty( - SetupHelper::getSystemConfig( - $key, - $this->featureContext->getStepLineRef() - )['stdOut'], - "The system config key '$key' was not expected to exist" - ); - } - /** * @When the administrator lists the config keys * @@ -2923,59 +2823,6 @@ class OccContext implements Context { return false; } - /** - * @Then the system config key :key from the last command output should match value :value of type :type - * - * @param string $key - * @param string $value - * @param string $type - * - * @return void - */ - public function theSystemConfigKeyFromLastCommandOutputShouldContainValue( - string $key, - string $value, - string $type - ):void { - $configList = \json_decode( - $this->featureContext->getStdOutOfOccCommand(), - true - ); - $systemConfig = $configList['system']; - - // convert the value to it's respective type based on type given in the type column - if ($type === 'boolean') { - $value = $value === 'true' ? true : false; - } elseif ($type === 'integer') { - $value = (int) $value; - } elseif ($type === 'json') { - // if the expected value of the key is a json - // match the value with the regular expression - $actualKeyValuePair = \json_encode( - $systemConfig[$key], - JSON_UNESCAPED_SLASHES - ); - - Assert::assertThat( - $actualKeyValuePair, - Assert::matchesRegularExpression($value) - ); - return; - } - - if (!\array_key_exists($key, $systemConfig)) { - Assert::fail( - "system config doesn't contain key: " . $key - ); - } - - Assert::assertEquals( - $value, - $systemConfig[$key], - "config: $key doesn't contain value: $value" - ); - } - /** * @Given the administrator has enabled the external storage * diff --git a/tests/acceptance/features/coreApiSharees/sharees.feature b/tests/acceptance/features/coreApiSharees/sharees.feature index 9972b75e67..f60714c4b8 100644 --- a/tests/acceptance/features/coreApiSharees/sharees.feature +++ b/tests/acceptance/features/coreApiSharees/sharees.feature @@ -245,53 +245,3 @@ Feature: sharees | ocs-api-version | ocs-status | http-status | | 1 | 100 | 200 | | 2 | 200 | 200 | - - - Scenario Outline: search for sharees when search min length is set to 2 - Given the administrator has updated system config key "user.search_min_length" with value "2" - And user "sharee2" has been created with default attributes and without skeleton files - And using OCS API version "" - When user "sharee1" gets the sharees using the sharing API with parameters - | search | sh | - | itemType | file | - Then the OCS status code should be "" - And the HTTP status code should be "" - And the "exact users" sharees returned should be empty - And the "users" sharees returned should include - | Sharee One | 0 | sharee1 | - | Sharee Two | 0 | sharee2 | - And the "exact groups" sharees returned should be empty - And the "groups" sharees returned should include - | ShareeGroup | 1 | ShareeGroup | - | ShareeGroup2 | 1 | ShareeGroup2 | - And the "exact remotes" sharees returned should be empty - And the "remotes" sharees returned should be empty - Examples: - | ocs-api-version | ocs-status | http-status | - | 1 | 100 | 200 | - | 2 | 200 | 200 | - - - Scenario Outline: search for sharees with long name when search min length is set to 2 - Given the administrator has updated system config key "user.search_min_length" with value "2" - And user "sharee2" has been created with default attributes and without skeleton files - And using OCS API version "" - When user "sharee1" gets the sharees using the sharing API with parameters - | search | sharee | - | itemType | file | - Then the OCS status code should be "" - And the HTTP status code should be "" - And the "exact users" sharees returned should be empty - And the "users" sharees returned should include - | Sharee One | 0 | sharee1 | - | Sharee Two | 0 | sharee2 | - And the "exact groups" sharees returned should be empty - And the "groups" sharees returned should include - | ShareeGroup | 1 | ShareeGroup | - | ShareeGroup2 | 1 | ShareeGroup2 | - And the "exact remotes" sharees returned should be empty - And the "remotes" sharees returned should be empty - Examples: - | ocs-api-version | ocs-status | http-status | - | 1 | 100 | 200 | - | 2 | 200 | 200 | diff --git a/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature b/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature index e412b6444d..327a5aef44 100644 --- a/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature +++ b/tests/acceptance/features/coreApiWebdavMove1/moveFolderToBlacklistedName.feature @@ -25,63 +25,3 @@ Feature: users cannot move (rename) a folder to a blacklisted name Examples: | dav_version | | spaces | - - - Scenario Outline: Rename a folder to a banned name - Given using DAV path - And user "Alice" has created folder "/testshare" - And the administrator has updated system config key "blacklisted_files" with value '["blacklisted-file.txt",".htaccess"]' and type "json" - When user "Alice" moves folder "/testshare" to "/blacklisted-file.txt" using the WebDAV API - Then the HTTP status code should be "403" - And user "Alice" should see the following elements - | /testshare/ | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - - Scenario Outline: rename a folder to a folder name that matches (or not) blacklisted_files_regex - Given using DAV path - And user "Brian" has been created with default attributes and without skeleton files - And user "Brian" has created folder "/testshare" - And user "Brian" has created folder "/FOLDER" - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being .*\.ext$ and ^bannedfilename\..+ - And the administrator has updated system config key "blacklisted_files_regex" with value '[".*\\.ext$","^bannedfilename\\..+","containsbannedstring"]' and type "json" - When user "Brian" moves folder "/testshare" to these foldernames using the webDAV API then the results should be as listed - | foldername | http-code | exists | - | .ext | 403 | no | - | filename.ext | 403 | no | - | bannedfilename.txt | 403 | no | - | containsbannedstring | 403 | no | - | this-ContainsBannedString.txt | 403 | no | - | /FOLDER/.ext | 403 | no | - | /FOLDER/filename.ext | 403 | no | - | /FOLDER/bannedfilename.txt | 403 | no | - | /FOLDER/containsbannedstring | 403 | no | - | /FOLDER/this-ContainsBannedString.txt | 403 | no | - | .extension | 201 | yes | - | filename.txt | 201 | yes | - | bannedfilename | 201 | yes | - | bannedfilenamewithoutdot | 201 | yes | - | not-contains-banned-string.txt | 201 | yes | - | /FOLDER/.extension | 201 | yes | - | /FOLDER/filename.txt | 201 | yes | - | /FOLDER/bannedfilename | 201 | yes | - | /FOLDER/bannedfilenamewithoutdot | 201 | yes | - | /FOLDER/not-contains-banned-string.txt | 201 | yes | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | diff --git a/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature b/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature deleted file mode 100644 index 84c846a16a..0000000000 --- a/tests/acceptance/features/coreApiWebdavMove1/moveFolderToExcludedDirectory.feature +++ /dev/null @@ -1,90 +0,0 @@ -@api @issue-ocis-reva-14 -Feature: users cannot move (rename) a folder to or into an excluded directory - As an administrator - I want to be able to exclude directories (folders) from being processed. Any attempt to rename an existing folder to one of those names should be refused. - So that I can have directories on my cloud server storage that are not available for syncing. - - Background: - Given using OCS API version "1" - And user "Alice" has been created with default attributes and without skeleton files - - - Scenario Outline: Rename a folder to an excluded directory name - Given using DAV path - And user "Alice" has created folder "/testshare" - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" moves folder "/testshare" to "/.github" using the WebDAV API - Then the HTTP status code should be "403" - And user "Alice" should see the following elements - | /testshare/ | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - - Scenario Outline: Rename a folder to an excluded directory name inside a parent directory - Given using DAV path - And user "Alice" has created folder "/testshare" - And user "Alice" has created folder "/FOLDER" - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" moves folder "/testshare" to "/FOLDER/.github" using the WebDAV API - Then the HTTP status code should be "403" - And user "Alice" should see the following elements - | /testshare/ | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - - Scenario Outline: rename a folder to a folder name that matches (or not) excluded_directories_regex - Given using DAV path - And user "Alice" has created folder "/testshare" - And user "Alice" has created folder "/FOLDER" - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being endswith\.bad$ and ^\.git - And the administrator has updated system config key "excluded_directories_regex" with value '["endswith\\.bad$","^\\.git","containsvirusinthename"]' and type "json" - When user "Alice" moves folder "/testshare" to these foldernames using the webDAV API then the results should be as listed - | foldername | http-code | exists | - | endswith.bad | 403 | no | - | thisendswith.bad | 403 | no | - | .git | 403 | no | - | .github | 403 | no | - | containsvirusinthename | 403 | no | - | this-containsvirusinthename.txt | 403 | no | - | /FOLDER/endswith.bad | 403 | no | - | /FOLDER/thisendswith.bad | 403 | no | - | /FOLDER/.git | 403 | no | - | /FOLDER/.github | 403 | no | - | /FOLDER/containsvirusinthename | 403 | no | - | /FOLDER/this-containsvirusinthename.txt | 403 | no | - | endswith.badandotherstuff | 201 | yes | - | thisendswith.badandotherstuff | 201 | yes | - | name.git | 201 | yes | - | name.github | 201 | yes | - | not-contains-virus-in-the-name.txt | 201 | yes | - | /FOLDER/endswith.badandotherstuff | 201 | yes | - | /FOLDER/thisendswith.badandotherstuff | 201 | yes | - | /FOLDER/name.git | 201 | yes | - | /FOLDER/name.github | 201 | yes | - | /FOLDER/not-contains-virus-in-the-name.txt | 201 | yes | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | diff --git a/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature b/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature index 6aaea8d757..7232e7b429 100644 --- a/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature +++ b/tests/acceptance/features/coreApiWebdavMove2/moveFileToBlacklistedName.feature @@ -23,58 +23,3 @@ Feature: users cannot move (rename) a file to a blacklisted name Examples: | dav_version | | spaces | - - - Scenario Outline: rename a file to a banned filename - Given using DAV path - And the administrator has updated system config key "blacklisted_files" with value '["blacklisted-file.txt",".htaccess"]' and type "json" - When user "Alice" moves file "/textfile0.txt" to "/blacklisted-file.txt" using the WebDAV API - Then the HTTP status code should be "403" - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - - Scenario Outline: rename a file to a filename that matches (or not) blacklisted_files_regex - Given using DAV path - And user "Alice" has created folder "FOLDER" - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being .*\.ext$ and ^bannedfilename\..+ - And the administrator has updated system config key "blacklisted_files_regex" with value '[".*\\.ext$","^bannedfilename\\..+","containsbannedstring"]' and type "json" - When user "Alice" moves file "/textfile0.txt" to these filenames using the webDAV API then the results should be as listed - | filename | http-code | exists | - | .ext | 403 | no | - | filename.ext | 403 | no | - | bannedfilename.txt | 403 | no | - | containsbannedstring | 403 | no | - | this-ContainsBannedString.txt | 403 | no | - | /FOLDER/.ext | 403 | no | - | /FOLDER/filename.ext | 403 | no | - | /FOLDER/bannedfilename.txt | 403 | no | - | /FOLDER/containsbannedstring | 403 | no | - | /FOLDER/this-ContainsBannedString.txt | 403 | no | - | .extension | 201 | yes | - | filename.txt | 201 | yes | - | bannedfilename | 201 | yes | - | bannedfilenamewithoutdot | 201 | yes | - | not-contains-banned-string.txt | 201 | yes | - | /FOLDER/.extension | 201 | yes | - | /FOLDER/filename.txt | 201 | yes | - | /FOLDER/bannedfilename | 201 | yes | - | /FOLDER/bannedfilenamewithoutdot | 201 | yes | - | /FOLDER/not-contains-banned-string.txt | 201 | yes | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | \ No newline at end of file diff --git a/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature b/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature deleted file mode 100644 index 05e848f39e..0000000000 --- a/tests/acceptance/features/coreApiWebdavMove2/moveFileToExcludedDirectory.feature +++ /dev/null @@ -1,84 +0,0 @@ -@api @issue-ocis-reva-14 -Feature: users cannot move (rename) a file to or into an excluded directory - As an administrator - I want to be able to exclude directories (folders) from being processed. Any attempt to rename an existing file to one of those names should be refused. - So that I can have directories on my cloud server storage that are not available for syncing. - - Background: - Given using OCS API version "1" - And user "Alice" has been created with default attributes and without skeleton files - And user "Alice" has uploaded file with content "ownCloud test text file 0" to "textfile0.txt" - - - Scenario Outline: rename a file to an excluded directory name - Given using DAV path - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" moves file "/textfile0.txt" to "/.github" using the WebDAV API - Then the HTTP status code should be "403" - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - - Scenario Outline: rename a file to an excluded directory name inside a parent directory - Given using DAV path - And user "Alice" has created folder "FOLDER" - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" moves file "/textfile0.txt" to "/FOLDER/.github" using the WebDAV API - Then the HTTP status code should be "403" - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - - Scenario Outline: rename a file to a filename that matches (or not) excluded_directories_regex - Given using DAV path - And user "Alice" has created folder "FOLDER" - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being endswith\.bad$ and ^\.git - And the administrator has updated system config key "excluded_directories_regex" with value '["endswith\\.bad$","^\\.git","containsvirusinthename"]' and type "json" - When user "Alice" moves file "/textfile0.txt" to these filenames using the webDAV API then the results should be as listed - | filename | http-code | exists | - | endswith.bad | 403 | no | - | thisendswith.bad | 403 | no | - | .git | 403 | no | - | .github | 403 | no | - | containsvirusinthename | 403 | no | - | this-containsvirusinthename.txt | 403 | no | - | /FOLDER/endswith.bad | 403 | no | - | /FOLDER/thisendswith.bad | 403 | no | - | /FOLDER/.git | 403 | no | - | /FOLDER/.github | 403 | no | - | /FOLDER/containsvirusinthename | 403 | no | - | /FOLDER/this-containsvirusinthename.txt | 403 | no | - | endswith.badandotherstuff | 201 | yes | - | thisendswith.badandotherstuff | 201 | yes | - | name.git | 201 | yes | - | name.github | 201 | yes | - | not-contains-virus-in-the-name.txt | 201 | yes | - | /FOLDER/endswith.badandotherstuff | 201 | yes | - | /FOLDER/thisendswith.badandotherstuff | 201 | yes | - | /FOLDER/name.git | 201 | yes | - | /FOLDER/name.github | 201 | yes | - | /FOLDER/not-contains-virus-in-the-name.txt | 201 | yes | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | \ No newline at end of file diff --git a/tests/acceptance/features/coreApiWebdavPreviews/previews.feature b/tests/acceptance/features/coreApiWebdavPreviews/previews.feature index 6f35732685..16d40383ca 100644 --- a/tests/acceptance/features/coreApiWebdavPreviews/previews.feature +++ b/tests/acceptance/features/coreApiWebdavPreviews/previews.feature @@ -113,60 +113,6 @@ Feature: previews of files downloaded through the webdav API And the value of the item "/d:error/s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\NotFound" - Scenario: Download file previews when it is disabled by the administrator - Given the administrator has updated system config key "enable_previews" with value "false" and type "boolean" - And user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt" - When user "Alice" downloads the preview of "/parent.txt" with width "32" and height "32" using the WebDAV API - Then the HTTP status code should be "404" - And the value of the item "/d:error/s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\NotFound" - - - Scenario: unset maximum size of previews - Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt" - And the administrator has updated system config key "preview_max_x" with value "null" - And the administrator has updated system config key "preview_max_y" with value "null" - When user "Alice" downloads the preview of "/parent.txt" with width "32" and height "32" using the WebDAV API - Then the HTTP status code should be "404" - And the value of the item "/d:error/s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\NotFound" - - - Scenario: download preview of size "null" - Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt" - And the administrator has updated system config key "preview_max_x" with value "null" - And the administrator has updated system config key "preview_max_y" with value "null" - When user "Alice" downloads the preview of "/parent.txt" with width "null" and height "null" using the WebDAV API - Then the HTTP status code should be "400" - And the value of the item "/d:error/s:exception" in the response about user "Alice" should be "Sabre\DAV\Exception\BadRequest" - - - Scenario Outline: download previews of different size smaller than the maximum size set - Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt" - And the administrator has updated system config key "preview_max_x" with value "32" - And the administrator has updated system config key "preview_max_y" with value "32" - When user "Alice" downloads the preview of "/parent.txt" with width "" and height "" using the WebDAV API - Then the HTTP status code should be "200" - And the downloaded image should be "" pixels wide and "" pixels high - Examples: - | width | height | - | 32 | 32 | - | 12 | 12 | - | 32 | 12 | - | 12 | 32 | - - - Scenario Outline: download previews of different size larger than the maximum size set - Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt" - And the administrator has updated system config key "preview_max_x" with value "32" - And the administrator has updated system config key "preview_max_y" with value "32" - When user "Alice" downloads the preview of "/parent.txt" with width "" and height "" using the WebDAV API - Then the HTTP status code should be "200" - And the downloaded image should be "32" pixels wide and "32" pixels high - Examples: - | width | height | - | 64 | 64 | - | 2048 | 2048 | - - Scenario: preview content changes with the change in file content Given user "Alice" has uploaded file "filesForUpload/lorem.txt" to "/parent.txt" And user "Alice" has downloaded the preview of "/parent.txt" with width "32" and height "32" diff --git a/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature b/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature deleted file mode 100644 index a870a64786..0000000000 --- a/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToBlacklistedName.feature +++ /dev/null @@ -1,65 +0,0 @@ -@api -Feature: users cannot upload a file to a blacklisted name - As an administrator - I want to be able to prevent users from uploading files to specified file names - So that I can prevent unwanted file names existing in the cloud storage - - Background: - Given using OCS API version "1" - And user "Alice" has been created with default attributes and without skeleton files - - @issue-ocis-reva-54 - Scenario Outline: upload a file to a banned filename - Given using DAV path - And the administrator has updated system config key "blacklisted_files" with value '["blacklisted-file.txt",".htaccess"]' and type "json" - When user "Alice" uploads file with content "uploaded content" to "blacklisted-file.txt" using the WebDAV API - Then the HTTP status code should be "403" - And as "Alice" file "blacklisted-file.txt" should not exist - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - @issue-ocis-reva-54 - Scenario Outline: upload a file to a filename that matches (or not) blacklisted_files_regex - Given using DAV path - And user "Alice" has created folder "FOLDER" - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being .*\.ext$ and ^bannedfilename\..+ - And the administrator has updated system config key "blacklisted_files_regex" with value '[".*\\.ext$","^bannedfilename\\..+","containsbannedstring"]' and type "json" - When user "Alice" uploads to these filenames with content "uploaded content" using the webDAV API then the results should be as listed - | filename | http-code | exists | - | .ext | 403 | no | - | filename.ext | 403 | no | - | bannedfilename.txt | 403 | no | - | containsbannedstring | 403 | no | - | this-ContainsBannedString.txt | 403 | no | - | /FOLDER/.ext | 403 | no | - | /FOLDER/filename.ext | 403 | no | - | /FOLDER/bannedfilename.txt | 403 | no | - | /FOLDER/containsbannedstring | 403 | no | - | /FOLDER/this-ContainsBannedString.txt | 403 | no | - | .extension | 201 | yes | - | filename.txt | 201 | yes | - | bannedfilename | 201 | yes | - | bannedfilenamewithoutdot | 201 | yes | - | not-contains-banned-string.txt | 201 | yes | - | /FOLDER/.extension | 201 | yes | - | /FOLDER/filename.txt | 201 | yes | - | /FOLDER/bannedfilename | 201 | yes | - | /FOLDER/bannedfilenamewithoutdot | 201 | yes | - | /FOLDER/not-contains-banned-string.txt | 201 | yes | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | diff --git a/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature b/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature deleted file mode 100644 index 08ff53f123..0000000000 --- a/tests/acceptance/features/coreApiWebdavUpload1/uploadFileToExcludedDirectory.feature +++ /dev/null @@ -1,86 +0,0 @@ -@api -Feature: users cannot upload a file to or into an excluded directory - As an administrator - I want to be able to exclude directories (folders) from being processed. Any attempt to upload a file to one of those names should be refused. - So that I can have directories on my cloud server storage that are not available for syncing. - - Background: - Given using OCS API version "1" - And user "Alice" has been created with default attributes and without skeleton files - - @issue-ocis-reva-54 - Scenario Outline: upload a file to an excluded directory name - Given using DAV path - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" uploads file with content "uploaded content" to ".github" using the WebDAV API - Then the HTTP status code should be "403" - And as "Alice" file ".github" should not exist - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - @issue-ocis-reva-54 - Scenario Outline: upload a file to an excluded directory name inside a parent directory - Given using DAV path - And user "Alice" has created folder "FOLDER" - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" uploads file with content "uploaded content" to "/FOLDER/.github" using the WebDAV API - Then the HTTP status code should be "403" - And as "Alice" folder "/FOLDER" should exist - But as "Alice" file "/FOLDER/.github" should not exist - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | - - @issue-ocis-reva-54 - Scenario Outline: upload a file to a filename that matches (or not) excluded_directories_regex - Given using DAV path - And user "Alice" has created folder "FOLDER" - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being endswith\.bad$ and ^\.git - And the administrator has updated system config key "excluded_directories_regex" with value '["endswith\\.bad$","^\\.git","containsvirusinthename"]' and type "json" - When user "Alice" uploads to these filenames with content "uploaded content" using the webDAV API then the results should be as listed - | filename | http-code | exists | - | endswith.bad | 403 | no | - | thisendswith.bad | 403 | no | - | .git | 403 | no | - | .github | 403 | no | - | containsvirusinthename | 403 | no | - | this-containsvirusinthename.txt | 403 | no | - | /FOLDER/endswith.bad | 403 | no | - | /FOLDER/thisendswith.bad | 403 | no | - | /FOLDER/.git | 403 | no | - | /FOLDER/.github | 403 | no | - | /FOLDER/containsvirusinthename | 403 | no | - | /FOLDER/this-containsvirusinthename.txt | 403 | no | - | endswith.badandotherstuff | 201 | yes | - | thisendswith.badandotherstuff | 201 | yes | - | name.git | 201 | yes | - | name.github | 201 | yes | - | not-contains-virus-in-the-name.txt | 201 | yes | - | /FOLDER/endswith.badandotherstuff | 201 | yes | - | /FOLDER/thisendswith.badandotherstuff | 201 | yes | - | /FOLDER/name.git | 201 | yes | - | /FOLDER/name.github | 201 | yes | - | /FOLDER/not-contains-virus-in-the-name.txt | 201 | yes | - Examples: - | dav_version | - | old | - | new | - - @skipOnOcV10 @personalSpace - Examples: - | dav_version | - | spaces | diff --git a/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature b/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature deleted file mode 100644 index 107290f4c7..0000000000 --- a/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToBlacklistedNameUsingOldChunking.feature +++ /dev/null @@ -1,40 +0,0 @@ -@api @issue-ocis-reva-15 -Feature: users cannot upload a file to a blacklisted name using old chunking - As an administrator - I want to be able to prevent users from uploading files to specified file names - So that I can prevent unwanted file names existing in the cloud storage - - Background: - Given using OCS API version "1" - And using old DAV path - And user "Alice" has been created with default attributes and without skeleton files - - - Scenario: Upload a file to a banned filename using old chunking - Given the administrator has updated system config key "blacklisted_files" with value '["blacklisted-file.txt",".htaccess"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "blacklisted-file.txt" in 3 chunks using the WebDAV API - Then the HTTP status code should be "403" - And as "Alice" file "blacklisted-file.txt" should not exist - - - Scenario Outline: upload a file to a filename that matches blacklisted_files_regex using old chunking - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being .*\.ext$ and ^bannedfilename\..+ - Given the administrator has updated system config key "blacklisted_files_regex" with value '[".*\\.ext$","^bannedfilename\\..+","containsbannedstring"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "" in 3 chunks using the WebDAV API - Then the HTTP status code should be "" - And as "Alice" file "" should not exist - Examples: - | filename | http-status | - | filename.ext | 403 | - | bannedfilename.txt | 403 | - | this-ContainsBannedString.txt | 403 | - - - Scenario: upload a file to a filename that does not match blacklisted_files_regex using old chunking - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being .*\.ext$ and ^bannedfilename\..+ - Given the administrator has updated system config key "blacklisted_files_regex" with value '[".*\\.ext$","^bannedfilename\\..+","containsbannedstring"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "not-contains-banned-string.txt" in 3 chunks using the WebDAV API - Then the HTTP status code should be "201" - And as "Alice" file "not-contains-banned-string.txt" should exist diff --git a/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature b/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature deleted file mode 100644 index e4e6e558c0..0000000000 --- a/tests/acceptance/features/coreApiWebdavUpload2/uploadFileToExcludedDirectoryUsingOldChunking.feature +++ /dev/null @@ -1,49 +0,0 @@ -@api @issue-ocis-reva-15 -Feature: users cannot upload a file to or into an excluded directory using old chunking - As an administrator - I want to be able to exclude directories (folders) from being processed. Any attempt to upload a file to one of those names should be refused. - So that I can have directories on my cloud server storage that are not available for syncing. - - Background: - Given using OCS API version "1" - And using old DAV path - And user "Alice" has been created with default attributes and without skeleton files - - - Scenario: Upload a file to an excluded directory name using old chunking - Given the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "/.github" in 3 chunks using the WebDAV API - Then the HTTP status code should be "403" - And as "Alice" file ".github" should not exist - - - Scenario: Upload a file to an excluded directory name inside a parent directory using old chunking - Given user "Alice" has created folder "FOLDER" - And the administrator has updated system config key "excluded_directories" with value '[".github"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "/FOLDER/.github" in 3 chunks using the WebDAV API - Then the HTTP status code should be "403" - And as "Alice" folder "/FOLDER" should exist - But as "Alice" file "/FOLDER/.github" should not exist - - - Scenario Outline: upload a file to a filename that matches excluded_directories_regex using old chunking - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being endswith\.bad$ and ^\.git - Given the administrator has updated system config key "excluded_directories_regex" with value '["endswith\\.bad$","^\\.git","containsvirusinthename"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "" in 3 chunks using the WebDAV API - Then the HTTP status code should be "" - And as "Alice" file "" should not exist - Examples: - | filename | http-status | - | thisendswith.bad | 503 | - | .github | 403 | - | this-containsvirusinthename.txt | 403 | - - - Scenario: upload a file to a filename that does not match excluded_directories_regex using old chunking - # Note: we have to write JSON for the value, and to get a backslash in the double-quotes we have to escape it - # The actual regular expressions end up being endswith\.bad$ and ^\.git - Given the administrator has updated system config key "excluded_directories_regex" with value '["endswith\\.bad$","^\\.git","containsvirusinthename"]' and type "json" - When user "Alice" uploads file "filesForUpload/textfile.txt" to "not-contains-virus-in-the-name.txt" in 3 chunks using the WebDAV API - Then the HTTP status code should be "201" - And as "Alice" file "not-contains-virus-in-the-name.txt" should exist