aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/User/Database.php7
-rw-r--r--tests/lib/User/DatabaseTest.php13
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php
index 4252f57ba36..31488247939 100644
--- a/lib/private/User/Database.php
+++ b/lib/private/User/Database.php
@@ -487,9 +487,12 @@ class Database extends ABackend implements
$query = $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());
+ }
}