diff options
author | Git'Fellow <12234510+solracsf@users.noreply.github.com> | 2025-03-14 16:08:02 +0100 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2025-03-25 11:57:42 +0000 |
commit | e5d62aeec73fed1827cf65cd5ff1b8486fde8c43 (patch) | |
tree | 29daef3ccbbedfb034c43484055edf196c9b093b | |
parent | 760503d73e95afca9f9be836aa2199432083564f (diff) | |
download | nextcloud-server-backport/51490/stable31.tar.gz nextcloud-server-backport/51490/stable31.zip |
fix(database): Cast users count to integerbackport/51490/stable31
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
-rw-r--r-- | lib/private/User/Database.php | 7 | ||||
-rw-r--r-- | tests/lib/User/DatabaseTest.php | 13 |
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php index d82a3be81e5..3a73db752fa 100644 --- a/lib/private/User/Database.php +++ b/lib/private/User/Database.php @@ -470,9 +470,12 @@ class Database extends ABackend implements $query = $this->dbConn->getQueryBuilder(); $query->select($query->func()->count('uid')) ->from($this->table); - $result = $query->executeQuery(); + $result = $query->executeQuery()->fetchOne(); + if ($result === false) { + return false; + } - return $result->fetchOne(); + return (int)$result; } /** diff --git a/tests/lib/User/DatabaseTest.php b/tests/lib/User/DatabaseTest.php index bd74ab333fb..900f0ddd3fa 100644 --- a/tests/lib/User/DatabaseTest.php +++ b/tests/lib/User/DatabaseTest.php @@ -25,6 +25,9 @@ class DatabaseTest extends Backend { /** @var IEventDispatcher|MockObject */ private $eventDispatcher; + /** @var \OC\User\Database */ + protected $backend; + public function getUser() { $user = parent::getUser(); $this->users[] = $user; @@ -139,4 +142,14 @@ class DatabaseTest extends Backend { $result = $this->backend->getDisplayNames('@nextcloud.COM'); $this->assertCount(2, $result); } + + public function testUserCount(): void { + $base = $this->backend->countUsers() ?: 0; + $users = $this->backend->getUsers(); + self::assertEquals($base, count($users)); + + $user = $this->getUser(); + $this->backend->createUser($user, $user); + self::assertEquals($base + 1, $this->backend->countUsers()); + } } |