aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix testDeleteStorage signature to match the one from the base classVincent Petry2015-10-131-2/+3
| | | | Prevents Strict warning when running autotest-external.sh
* Remove oc_storages entries after removing ext storagesVincent Petry2015-10-062-4/+53
| | | | | | | | | When removing external storages, either system-wide or user-wide, automatically remove the matching oc_storages and oc_filecache entries. This can only work if the backend configuration doesn't contain any substitution variable $user in which case the storage id cannot be computed, so this case is ignored for now.
* deduplicate @xenopathicMorris Jobke2015-10-0616-16/+16
|
* update licence headers via scriptMorris Jobke2015-10-059-3/+9
|
* Use a universal shebangOlivier Paroz2015-09-2712-12/+12
| | | | Fixes #15037
* Unit tests for storage validation in serviceRobin McCorkell2015-09-232-0/+56
|
* Perform visibility checks on storagesRobin McCorkell2015-09-233-0/+11
| | | | | | | | StoragesService::getStorages() will check the visibility of the backend and auth mechanism for the storage, and if either are not visible to the user (aka disabled by admin) then the storage will be filtered out. The original method StoragesService::getAllStorages() still exists in case such storages need to be detected, but its use is discouraged.
* Revert "Implement more fine-grained external storage permissions model"Robin McCorkell2015-09-233-23/+15
| | | | | | This reverts commit 0b97a05e7bd631d66de1c2aee115113ada8a5f63. This reverts commit d2e3c17c0000bc0020f1ff641190452f370434de. This reverts commit cc88c5f4b84da57c425cbdb7dc8b391b1942b503.
* Merge pull request #19069 from owncloud/ext-s3-cephThomas Müller2015-09-183-3/+120
|\ | | | | AmazonS3 automatic tests
| * AmazonS3 Ceph testsRobin McCorkell2015-09-163-3/+120
| |
* | Unit tests for UserGlobalStoragesService::getUniqueStorages()Robin McCorkell2015-09-161-2/+78
|/
* Merge pull request #18441 from owncloud/ext-backends.advancedRobin McCorkell2015-09-133-33/+27
|\ | | | | Migrate advanced external storage backends to new registration API [part 3]
| * Introduce MODIFY permission for external storagesRobin McCorkell2015-08-281-3/+11
| |
| * Validate permissions for created admin storages, auth mechanismRobin McCorkell2015-08-282-1/+9
| | | | | | | | | | Backend and auth mechanism permissions are checked on storage creation, both for personal storages and for admin storages
| * Implement more fine-grained external storage permissions modelRobin McCorkell2015-08-283-31/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | VisibilityTrait -> PermissionsTrait PermissionsTrait stores two sets of data, $permissions and $allowedPermissions (analogous to $visibility and $allowedVisibility of VisibilityTrait). Each set is a map of user type ('admin' or 'personal') to permissions (mounting permission, create permission). The result is that a backend can now be restricted for creation, while still allowing it to be mounted. This is useful for deprecating backends or auth mechanisms, preventing new storages being created, while still allowing existing storages to be mounted.
* | Test legacy backend with no dependency checkRobin McCorkell2015-09-011-0/+18
| |
* | Make checkDependencies a real methodRobin McCorkell2015-09-012-11/+32
| | | | | | | | | | Replace ->setDependencyCheck(callable) with a real method checkDependencies(). A polyfill is available for legacy storages.
* | Unit test storages with an empty mount pointRobin McCorkell2015-08-312-0/+33
|/
* Merge pull request #18445 from owncloud/ext-only-setuservars-stringMorris Jobke2015-08-253-4/+50
|\ | | | | setUserVars() should only attempt substitution with strings
| * Convert string booleans to real booleansRobin McCorkell2015-08-203-4/+50
| | | | | | | | | | Legacy compatibility, from the days in stable8 when checkbox boolean values were stored as the strings 'true' and 'false'.
* | Use OCP classes as much as possible in files_externalRobin McCorkell2015-08-191-1/+7
|/
* Make Application a singletonRobin McCorkell2015-08-191-1/+6
| | | | | The same Application must be used in the settings templates and in routes, so that any registered backends are correctly seen
* Compatibility shims for OC_Mount_ConfigRobin McCorkell2015-08-192-1159/+2
| | | | | | | | | | | | | | | | | | The following functions have been removed: - addMountPoint() - removeMountPoint() - movePersonalMountPoint() registerBackend() has been rewritten as a shim around BackendService, allowing legacy code to interact with the new API seamlessly addMountPoint() was already disconnected from all production code, so this commit completes the job and removes the function itself, along with disconnecting and removing related functions. Unit tests have likewise been removed. getAbsoluteMountPoints(), getSystemMountPoints() and getPersonalMountPoints() have been rewritten to use the StoragesServices
* Unit tests for new backend APIRobin McCorkell2015-08-1911-0/+977
|
* Split backend identifiers from the class nameRobin McCorkell2015-08-195-61/+118
| | | | | | | | | | | | | Prior to this, the storage class name was stored in mount.json under the "class" parameter, and the auth mechanism class name under the "authMechanism" parameter. This decouples the class name from the identifier used to retrieve the backend or auth mechanism. Now, backends/auth mechanisms have a unique identifier, which is saved in the "backend" or "authMechanism" parameter in mount.json respectively. An identifier is considered unique for the object it references, but the underlying class may change (e.g. files_external gets pulled into core and namespaces are modified).
* Authentication mechanisms for external storage backendsRobin McCorkell2015-08-197-4/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A backend can now specify generic authentication schemes that it supports, instead of specifying the parameters for its authentication method directly. This allows multiple authentication mechanisms to be implemented for a single scheme, providing altered functionality. This commit introduces the backend framework for this feature, and so at this point the UI will be broken as the frontend does not specify the required information. Terminology: - authentication scheme Parameter interface for the authentication method. A backend supporting the 'password' scheme accepts two parameters, 'user' and 'password'. - authentication mechanism Specific mechanism implementing a scheme. Basic mechanisms may forward configuration options directly to the backend, more advanced ones may lookup parameters or retrieve them from the session New dropdown selector for external storage configurations to select the authentication mechanism to be used. Authentication mechanisms can have visibilities, just like backends. The API was extended too to make it easier to add/remove visibilities. In addition, the concept of 'allowed visibility' has been introduced, so a backend/auth mechanism can force a maximum visibility level (e.g. Local storage type) that cannot be overridden by configuration in the web UI. An authentication mechanism is a fully instantiated implementation. This allows an implementation to have dependencies injected into it, e.g. an \OCP\IDB for database operations. When a StorageConfig is being prepared for mounting, the authentication mechanism implementation has manipulateStorage() called, which inserts the relevant authentication method options into the storage ready for mounting.
* Introduce BackendService for managing external storage backendsRobin McCorkell2015-08-198-158/+147
| | | | | | | | | | | | | | | | | Backends are registered to the BackendService through new data structures: Backends are concrete classes, deriving from \OCA\Files_External\Lib\Backend\Backend. During construction, the various configuration parameters of the Backend can be set, in a design similar to Symfony Console. DefinitionParameter stores a parameter configuration for an external storage: name of parameter, human-readable name, type of parameter (text, password, hidden, checkbox), flags (optional or not). Storages in the StoragesController now get their parameters validated server-side (fixes a TODO).
* Double slash for SMB storage id for compatibilityVincent Petry2015-07-281-0/+12
|
* Fixing line comments and indentationViktor Szépe2015-07-211-21/+22
|
* Revert "Use OCP classes as much as possible in files_external"Thomas Müller2015-07-021-41/+24
|
* Use OCP classes as much as possible in files_externalRobin McCorkell2015-07-011-24/+41
|
* update license headers and authorsMorris Jobke2015-06-252-1/+1
|
* Replace `replace` with `sed` statementMorris Jobke2015-04-2910-10/+10
|
* Show hint if there is no delete permissionMorris Jobke2015-04-231-1/+1
| | | | | | * add class .no-permission which shows the default delete icon * fixes #15172 * add unit test for no permission and for delete permission
* Add visibility for methodMorris Jobke2015-04-151-1/+1
|
* Fix SFTP storage id to be compatible with older idsVincent Petry2015-04-151-0/+57
| | | | | | Remove port from SFTP storage id if it is 22. This will prevent recreating a different storage entry due to id mismatch after upgrade.
* add unit testRobin Appelman2015-04-021-0/+11
|
* adjust unt testsRobin Appelman2015-04-021-1/+2
|
* Merge pull request #14925 from owncloud/ext-mountoptions-uiRobin McCorkell2015-03-262-8/+131
|\ | | | | Mount options GUI for external storage
| * Make sure mountOptions keep their data typeVincent Petry2015-03-261-1/+50
| | | | | | | | | | | | | | | | str_replace for $user substitution was converting the data type of mountOptions to string. This fix prevents this to happen by making sure only strings are processed by substitution. Also added a int conversion when reading the watcher policy
| * Added ext storage mount options GUIVincent Petry2015-03-261-7/+81
| | | | | | | | | | | | | | | | | | | | | | | | Added option to disable autoscan of external storages Mount option file system scan is now an int Move priority field to avoid undefined field in storage options All input elements inside the storage options block get parsed into storage options. Moving the priority field outside prevents it to appear in the storage config, as expected. It is still parsed by special code.
* | Update license headersJenkins for ownCloud2015-03-2623-217/+365
|/
* Fix storage priority in JS unit testVincent Petry2015-03-161-3/+6
|
* Generate storage config ids when missingVincent Petry2015-03-162-0/+154
| | | | | | | | When reading in old mount.json files, they do not contain config ids. Since these are needed to be able to use the UI and the new service classes, these will be generated automatically. The config grouping is based on a config hash.
* Fix mount config unit testsVincent Petry2015-03-131-20/+38
| | | | | Fix expected result now that it returns the status. Added isset for some properties that are not always present.
* Mount options for ext storage are now passed aroundVincent Petry2015-03-136-0/+25
| | | | | | The mount options are now passed to the UI and stored in a hidden field. The ext storage controllers and services also know how to load/save them from the legacy config.
* Use storage id + appframework for ext storage CRUDVincent Petry2015-03-128-0/+1669
| | | | | | | | | | | | | - Added StorageConfig class to replace ugly arrays - Implemented StorageService and StorageController for Global and User storages - Async status checking for storages (from Xenopathic) - Auto-generate id for external storage configs (not the same as storage_id) - Refactor JS classes for external storage settings, this mostly moves/encapsulated existing global event handlers into the MountConfigListView class. - Added some JS unit tests for the external storage UI
* Fix slash normalization error in AmazonS3Migration unit testRobin McCorkell2015-03-041-3/+3
| | | | | Since aa821ecc00f11b6382f6e033db18445d9e51d6b9 leading and trailing slashes are trimmed in the file cache paths
* Use dummy storages instead of real storages in files_external unit testsRobin McCorkell2015-03-031-39/+81
| | | | | | | We were using the SMB and SFTP backends, which since Icewind's new SMB library results in an actual attempted connection just by constructing the storage. This commit replaces all references to real storages (except when necessary) with a dummy storage class.
* adding a windows smb config for testingThomas Müller2015-03-032-0/+52
|