summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files_external/tests/README.md58
-rw-r--r--lib/private/repair.php2
-rw-r--r--lib/repair/enablefilesapp.php50
3 files changed, 58 insertions, 52 deletions
diff --git a/apps/files_external/tests/README.md b/apps/files_external/tests/README.md
new file mode 100644
index 00000000000..35a0232434e
--- /dev/null
+++ b/apps/files_external/tests/README.md
@@ -0,0 +1,58 @@
+# How to run the files external unit tests
+
+## Components
+
+The files_external relies - as the name already says - on external file system
+providers. To test easily against such a provider we use some scripts to setup
+a provider (and of course also cleanup that provider). Those scripts can be
+found in the `tests/env` folder of the files_external app.
+
+### Naming Conventions
+
+The current implementation supports a script that starts with `start-` for the
+setup step which is executed before the PHPUnit run and an optional script
+starting with `stop-` (and have the same ending as the start script) to cleanup
+the provider. For example: `start-webdav-ownCloud.sh` and
+`stop-webdav-ownCloud.sh`. As a second requirement after this prefix there has
+to be the name of the backend test suite. In the above example the test suite
+`tests/backends/webdav.php` is used. The last part is a name that can be chosen
+freely.
+
+## Hands-on way of unit test execution
+
+Run all files_external unit tests by invoking the following in the ownCloud
+core root folder:
+
+ ./autotest-external.sh
+
+This script supports to get passed a database as first argument:
+
+ ./autotest-external.sh sqlite
+
+You can also pass the name of the external file system provider as a second
+argument that should be executed. This is the name of the script without the
+prefix `start-` (or `stop-`) and without the extension `.sh` from the above
+mentioned components in `test/env`. So if you want to start the WebDAV backend
+tests against an ownCloud instance you can run following:
+
+ ./autotest-external.sh sqlite webdav-ownCloud
+
+This runs the script `start-webdav-ownCloud.sh` from the `tests/env` folder,
+then runs the unit test suite from `backends/webdav.php` (because the middle part of
+the name of the script is `webdav`) and finally tries to call
+`stop-webdav-ownCloud.sh` for cleanup purposes.
+
+## The more manual way of unit test execution
+
+If you want to debug your external storage provider, you maybe don't want to
+fire it up, execute the unit tests and clean everything up for each debugging
+step. In this case you can simply start the external storage provider instance
+and run the unit test multiple times against the instance for debugging purposes.
+To do this you just need to follow these steps (from within
+`apps/files_external/tests`):
+
+ 1. run the start step (`env/start-BACKEND-NAME.sh`) or start the environment by
+ hand (i.e. setting up an instance manually in a virtual box)
+ 2. run the unit tests with following command (you can repeat that step multiple times):
+ `phpunit --configuration ../../../tests/phpunit-autotest-external.xml backends/BACKEND.php`
+ 3. call the cleanup script (`env/stop-BACKEND-NAME.sh`) or cleanup by hand
diff --git a/lib/private/repair.php b/lib/private/repair.php
index c74283896fd..d9fd99707e8 100644
--- a/lib/private/repair.php
+++ b/lib/private/repair.php
@@ -13,7 +13,6 @@ use OC\Hooks\Emitter;
use OC\Repair\AssetCache;
use OC\Repair\CleanTags;
use OC\Repair\Collation;
-use OC\Repair\EnableFilesApp;
use OC\Repair\FillETags;
use OC\Repair\InnoDB;
use OC\Repair\RepairConfig;
@@ -85,7 +84,6 @@ class Repair extends BasicEmitter {
new AssetCache(),
new FillETags(\OC_DB::getConnection()),
new CleanTags(\OC_DB::getConnection()),
- new EnableFilesApp(\OC::$server->getConfig()),
);
}
diff --git a/lib/repair/enablefilesapp.php b/lib/repair/enablefilesapp.php
deleted file mode 100644
index a3298cf76b3..00000000000
--- a/lib/repair/enablefilesapp.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-/**
- * Copyright (c) 2015 Morris Jobke <hey@morrisjobke.de>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace OC\Repair;
-
-use OC\Hooks\BasicEmitter;
-use OC\RepairStep;
-use OCP\IConfig;
-
-/**
- * Class EnableFilesApp - enables files app if disabled
- *
- * TODO: remove this with ownCloud 8.1 - this isn't possible anymore with 8.0
- *
- * @package OC\Repair
- */
-class EnableFilesApp extends BasicEmitter implements RepairStep {
-
- /** @var IConfig */
- protected $config;
-
- /**
- * @param IConfig $config
- */
- public function __construct(IConfig $config) {
- $this->config = $config;
- }
-
- /**
- * @return string
- */
- public function getName() {
- return 'Re-enable file app';
- }
-
- /**
- * Enables the files app if it is disabled
- */
- public function run() {
- if ($this->config->getAppValue('files', 'enabled', 'no') !== 'yes') {
- $this->config->setAppValue('files', 'enabled', 'yes');
- $this->emit('\OC\Repair', 'info', ['Files app was disabled - re-enabled']);
- }
- }
-}