]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add test for setting up fake fs
authorRobin Appelman <robin@icewind.nl>
Tue, 15 Nov 2016 16:25:28 +0000 (17:25 +0100)
committerRobin Appelman <robin@icewind.nl>
Wed, 16 Nov 2016 14:24:32 +0000 (15:24 +0100)
Signed-off-by: Robin Appelman <robin@icewind.nl>
lib/private/Authentication/Token/IToken.php
tests/lib/Lockdown/Filesystem/NoFSTest.php [new file with mode: 0644]
tests/lib/Lockdown/Filesystem/NullStorageTest.php

index 71f52fd6c03f8ead707c6413f569b6d493b03d74..49745b266c4645681c08e654d649007d2b613a27 100644 (file)
@@ -90,7 +90,7 @@ interface IToken extends JsonSerializable {
        /**
         * Set the authentication scope for this token
         *
-        * @param array|null $scope
+        * @param array $scope
         */
        public function setScope($scope);
 }
diff --git a/tests/lib/Lockdown/Filesystem/NoFSTest.php b/tests/lib/Lockdown/Filesystem/NoFSTest.php
new file mode 100644 (file)
index 0000000..a0900ad
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+/**
+ * @copyright 2016, Robin Appelman <robin@icewind.nl>
+ *
+ * @author Robin Appelman <robin@icewind.nl>
+ *
+ * @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 Test\Lockdown\Filesystem;
+
+use OC\Authentication\Token\DefaultToken;
+use OC\Files\Filesystem;
+use OC\Lockdown\Filesystem\NullStorage;
+use Test\Traits\UserTrait;
+
+/**
+ * @group DB
+ */
+class NoFSTest extends \Test\TestCase {
+       use UserTrait;
+
+       public function tearDown() {
+               $token = new DefaultToken();
+               $token->setScope([
+                       'filesystem' => true
+               ]);
+               \OC::$server->getLockdownManager()->setToken($token);
+               return parent::tearDown();
+       }
+
+       public function setUp() {
+               parent::setUp();
+               $token = new DefaultToken();
+               $token->setScope([
+                       'filesystem' => false
+               ]);
+
+               \OC::$server->getLockdownManager()->setToken($token);
+               $this->createUser('foo', 'var');
+       }
+
+       public function testSetupFS() {
+               \OC_Util::tearDownFS();
+               \OC_Util::setupFS('foo');
+
+               $this->assertInstanceOf(NullStorage::class, Filesystem::getStorage('/foo/files'));
+       }
+}
index 1e70cdff20ce65fef3d2312b3b3c451469f6aec9..dc99eb4c03aa8c236fe29dc7c113109ac4a332a4 100644 (file)
@@ -122,7 +122,7 @@ class NullStorageTest extends TestCase  {
        }
 
        public function testFilemtime() {
-               $this->assertFalse($this->storage->isReadable('foo'));
+               $this->assertFalse($this->storage->filemtime('foo'));
        }
 
        public function testFile_get_contents() {