aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/Files/Storage/HomeTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/Files/Storage/HomeTest.php')
-rw-r--r--tests/lib/Files/Storage/HomeTest.php88
1 files changed, 88 insertions, 0 deletions
diff --git a/tests/lib/Files/Storage/HomeTest.php b/tests/lib/Files/Storage/HomeTest.php
new file mode 100644
index 00000000000..84a9816cb0c
--- /dev/null
+++ b/tests/lib/Files/Storage/HomeTest.php
@@ -0,0 +1,88 @@
+<?php
+
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace Test\Files\Storage;
+
+use OC\Files\Storage\Home;
+use OC\User\User;
+use OCP\Files;
+use OCP\ITempManager;
+use OCP\Server;
+
+class DummyUser extends User {
+ /**
+ * @param string $uid
+ * @param string $home
+ */
+ public function __construct(
+ private $uid,
+ private $home,
+ ) {
+ }
+
+ public function getHome() {
+ return $this->home;
+ }
+
+ public function getUID() {
+ return $this->uid;
+ }
+}
+
+/**
+ * Class Home
+ *
+ * @group DB
+ *
+ * @package Test\Files\Storage
+ */
+class HomeTest extends Storage {
+ /**
+ * @var string tmpDir
+ */
+ private $tmpDir;
+
+ private $userId;
+
+ /**
+ * @var User $user
+ */
+ private $user;
+
+ protected function setUp(): void {
+ parent::setUp();
+
+ $this->tmpDir = Server::get(ITempManager::class)->getTemporaryFolder();
+ $this->userId = $this->getUniqueID('user_');
+ $this->user = new DummyUser($this->userId, $this->tmpDir);
+ $this->instance = new Home(['user' => $this->user]);
+ }
+
+ protected function tearDown(): void {
+ Files::rmdirr($this->tmpDir);
+ parent::tearDown();
+ }
+
+ /**
+ * Tests that the home id is in the format home::user1
+ */
+ public function testId(): void {
+ $this->assertEquals('home::' . $this->userId, $this->instance->getId());
+ }
+
+ /**
+ * Tests that getCache() returns an instance of HomeCache
+ */
+ public function testGetCacheReturnsHomeCache(): void {
+ $this->assertInstanceOf('\OC\Files\Cache\HomeCache', $this->instance->getCache());
+ }
+
+ public function testGetOwner(): void {
+ $this->assertEquals($this->userId, $this->instance->getOwner(''));
+ }
+}