summaryrefslogtreecommitdiffstats
path: root/apps/files_external/tests
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2016-08-15 16:24:56 +0200
committerLukas Reschke <lukas@statuscode.ch>2016-08-15 16:25:34 +0200
commit8a7a0f328746230dd896ccc53b3ada271a91b930 (patch)
treeaaaaedf7167b74c48a91c90671f705edb71bc541 /apps/files_external/tests
parent75a73a5a7301f203a962a17f6b2b8b90078c1884 (diff)
downloadnextcloud-server-8a7a0f328746230dd896ccc53b3ada271a91b930.tar.gz
nextcloud-server-8a7a0f328746230dd896ccc53b3ada271a91b930.zip
Add unit tests
Diffstat (limited to 'apps/files_external/tests')
-rw-r--r--apps/files_external/tests/Settings/AdminTest.php109
-rw-r--r--apps/files_external/tests/Settings/SectionTest.php62
2 files changed, 171 insertions, 0 deletions
diff --git a/apps/files_external/tests/Settings/AdminTest.php b/apps/files_external/tests/Settings/AdminTest.php
new file mode 100644
index 00000000000..1918e800c9b
--- /dev/null
+++ b/apps/files_external/tests/Settings/AdminTest.php
@@ -0,0 +1,109 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @author Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * 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
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files_External\Tests\Settings;
+
+use OCA\Files_External\Lib\Auth\Password\GlobalAuth;
+use OCA\Files_External\Service\BackendService;
+use OCA\Files_External\Service\GlobalStoragesService;
+use OCA\Files_External\Settings\Admin;
+use OCP\AppFramework\Http\TemplateResponse;
+use OCP\Encryption\IManager;
+use Test\TestCase;
+
+class AdminTest extends TestCase {
+ /** @var Admin */
+ private $admin;
+ /** @var IManager */
+ private $encryptionManager;
+ /** @var GlobalStoragesService */
+ private $globalStoragesService;
+ /** @var BackendService */
+ private $backendService;
+ /** @var GlobalAuth */
+ private $globalAuth;
+
+ public function setUp() {
+ parent::setUp();
+ $this->encryptionManager = $this->createMock('\OCP\Encryption\IManager');
+ $this->globalStoragesService = $this->createMock('\OCA\Files_External\Service\GlobalStoragesService');
+ $this->backendService = $this->createMock('\OCA\Files_External\Service\BackendService');
+ $this->globalAuth = $this->createMock('\OCA\Files_External\Lib\Auth\Password\GlobalAuth');
+
+ $this->admin = new Admin(
+ $this->encryptionManager,
+ $this->globalStoragesService,
+ $this->backendService,
+ $this->globalAuth
+ );
+ }
+
+ public function testGetForm() {
+ $this->encryptionManager
+ ->expects($this->once())
+ ->method('isEnabled')
+ ->willReturn(false);
+ $this->globalStoragesService
+ ->expects($this->once())
+ ->method('getStorages')
+ ->willReturn(['a', 'b', 'c']);
+ $this->backendService
+ ->expects($this->once())
+ ->method('getAvailableBackends')
+ ->willReturn(['d', 'e', 'f']);
+ $this->backendService
+ ->expects($this->once())
+ ->method('getAuthMechanisms')
+ ->willReturn(['g', 'h', 'i']);
+ $this->backendService
+ ->expects($this->once())
+ ->method('isUserMountingAllowed')
+ ->willReturn(true);
+ $this->globalAuth
+ ->expects($this->once())
+ ->method('getAuth')
+ ->with('')
+ ->willReturn('asdf:asdf');
+ $params = [
+ 'encryptionEnabled' => false,
+ 'visibilityType' => BackendService::VISIBILITY_ADMIN,
+ 'storages' => ['a', 'b', 'c'],
+ 'backends' => ['d', 'e', 'f'],
+ 'authMechanisms' => ['g', 'h', 'i'],
+ 'dependencies' => \OC_Mount_Config::dependencyMessage($this->backendService->getBackends()),
+ 'allowUserMounting' => true,
+ 'globalCredentials' => 'asdf:asdf',
+ 'globalCredentialsUid' => '',
+ ];
+ $expected = new TemplateResponse('files_external', 'settings', $params, '');
+ $this->assertEquals($expected, $this->admin->getForm());
+ }
+
+ public function testGetSection() {
+ $this->assertSame('externalstorages', $this->admin->getSection());
+ }
+
+ public function testGetPriority() {
+ $this->assertSame(40, $this->admin->getPriority());
+ }
+}
diff --git a/apps/files_external/tests/Settings/SectionTest.php b/apps/files_external/tests/Settings/SectionTest.php
new file mode 100644
index 00000000000..9ab456fe307
--- /dev/null
+++ b/apps/files_external/tests/Settings/SectionTest.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @author Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * 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
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files_External\Tests\Settings;
+
+use OCA\Files_External\Settings\Section;
+use OCP\IL10N;
+use Test\TestCase;
+
+class SectionTest extends TestCase {
+ /** @var IL10N */
+ private $l;
+ /** @var Section */
+ private $section;
+
+ public function setUp() {
+ parent::setUp();
+ $this->l = $this->createMock('\OCP\IL10N');
+
+ $this->section = new Section(
+ $this->l
+ );
+ }
+
+ public function testGetID() {
+ $this->assertSame('externalstorages', $this->section->getID());
+ }
+
+ public function testGetName() {
+ $this->l
+ ->expects($this->once())
+ ->method('t')
+ ->with('External storages')
+ ->willReturn('External storages');
+
+ $this->assertSame('External storages', $this->section->getName());
+ }
+
+ public function testGetPriority() {
+ $this->assertSame(10, $this->section->getPriority());
+ }
+}