diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-07 17:07:29 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2016-01-07 17:07:29 +0100 |
commit | 6a796ff3cc106d0f8ccc735c01d6355b7b4dafd3 (patch) | |
tree | 5f1856ea86825251f5af5fa29c20142c914d2a3b /apps/testing | |
parent | 46107f82d427b6a102f323d637242872303421ef (diff) | |
parent | 671b06a86b8c7ffae0e29e20913c44e22be027fb (diff) | |
download | nextcloud-server-6a796ff3cc106d0f8ccc735c01d6355b7b4dafd3.tar.gz nextcloud-server-6a796ff3cc106d0f8ccc735c01d6355b7b4dafd3.zip |
Merge pull request #21066 from owncloud/behat_capabilities_changing_server_configuration
Added new capabilities test with changes in server configuration
Diffstat (limited to 'apps/testing')
-rw-r--r-- | apps/testing/appinfo/info.xml | 12 | ||||
-rw-r--r-- | apps/testing/appinfo/routes.php | 46 | ||||
-rw-r--r-- | apps/testing/config.php | 70 |
3 files changed, 128 insertions, 0 deletions
diff --git a/apps/testing/appinfo/info.xml b/apps/testing/appinfo/info.xml new file mode 100644 index 00000000000..b11ec2f88e6 --- /dev/null +++ b/apps/testing/appinfo/info.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<info> + <id>testing</id> + <name>QA Testing</name> + <description>This app is only for testing! It is dangerous to have it enabled in a live instance</description> + <licence>AGPL</licence> + <author>Joas Schilling</author> + <version>0.1.0</version> + <dependencies> + <owncloud min-version="9.0" /> + </dependencies> +</info> diff --git a/apps/testing/appinfo/routes.php b/apps/testing/appinfo/routes.php new file mode 100644 index 00000000000..b6f20d04ef2 --- /dev/null +++ b/apps/testing/appinfo/routes.php @@ -0,0 +1,46 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OCA\Testing\AppInfo; + +use OCA\Testing\Config; +use OCP\API; + +$config = new Config( + \OC::$server->getConfig(), + \OC::$server->getRequest() +); + +API::register( + 'post', + '/apps/testing/api/v1/app/{appid}/{configkey}', + [$config, 'setAppValue'], + 'testing', + API::ADMIN_AUTH +); + +API::register( + 'delete', + '/apps/testing/api/v1/app/{appid}/{configkey}', + [$config, 'deleteAppValue'], + 'testing', + API::ADMIN_AUTH +); diff --git a/apps/testing/config.php b/apps/testing/config.php new file mode 100644 index 00000000000..068cb28e04b --- /dev/null +++ b/apps/testing/config.php @@ -0,0 +1,70 @@ +<?php +/** + * @author Joas Schilling <nickvergessen@owncloud.com> + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OCA\Testing; + +use OCP\IConfig; +use OCP\IRequest; + +class Config { + + /** @var IConfig */ + private $config; + + /** @var IRequest */ + private $request; + + /** + * @param IConfig $config + * @param IRequest $request + */ + public function __construct(IConfig $config, IRequest $request) { + $this->config = $config; + $this->request = $request; + } + + /** + * @param array $parameters + * @return \OC_OCS_Result + */ + public function setAppValue($parameters) { + $app = $parameters['appid']; + $configKey = $parameters['configkey']; + + $value = $this->request->getParam('value'); + $this->config->setAppValue($app, $configKey, $value); + + return new \OC_OCS_Result(); + } + + /** + * @param array $parameters + * @return \OC_OCS_Result + */ + public function deleteAppValue($parameters) { + $app = $parameters['appid']; + $configKey = $parameters['configkey']; + + $this->config->deleteAppValue($app, $configKey); + + return new \OC_OCS_Result(); + } +} |