Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 33 additions & 24 deletions apps/dav/tests/unit/CalDAV/Reminder/BackendTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,33 @@

use OCA\DAV\CalDAV\Reminder\Backend as ReminderBackend;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IDBConnection;
use OCP\Server;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;

#[Group('DB')]
class BackendTest extends TestCase {
private ReminderBackend $reminderBackend;
private ITimeFactory&MockObject $timeFactory;

protected function setUp(): void {
parent::setUp();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->delete('calendar_reminders')->executeStatement();
$query->delete('calendarobjects')->executeStatement();
$query->delete('calendars')->executeStatement();

$this->timeFactory = $this->createMock(ITimeFactory::class);
$this->reminderBackend = new ReminderBackend(self::$realDatabase, $this->timeFactory);
$this->reminderBackend = new ReminderBackend(Server::get(IDBConnection::class), $this->timeFactory);

$this->createRemindersTestSet();
}

protected function tearDown(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->delete('calendar_reminders')->executeStatement();
$query->delete('calendarobjects')->executeStatement();
$query->delete('calendars')->executeStatement();
Expand All @@ -42,7 +46,7 @@ protected function tearDown(): void {
}

public function testCleanRemindersForEvent(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -52,7 +56,7 @@ public function testCleanRemindersForEvent(): void {

$this->reminderBackend->cleanRemindersForEvent(1);

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -62,7 +66,7 @@ public function testCleanRemindersForEvent(): void {
}

public function testCleanRemindersForCalendar(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -72,7 +76,7 @@ public function testCleanRemindersForCalendar(): void {

$this->reminderBackend->cleanRemindersForCalendar(1);

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -82,7 +86,7 @@ public function testCleanRemindersForCalendar(): void {
}

public function testRemoveReminder(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -92,7 +96,7 @@ public function testRemoveReminder(): void {

$this->reminderBackend->removeReminder((int)$rows[3]['id']);

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -110,8 +114,13 @@ public function testGetRemindersToProcess(): void {
$rows = $this->reminderBackend->getRemindersToProcess();

$this->assertCount(2, $rows);
unset($rows[0]['id']);
unset($rows[1]['id']);
// calendardata is a BLOB and may be returned as a stream resource by the DB
foreach ($rows as &$row) {
unset($row['id']);
if (is_resource($row['calendardata'])) {
$row['calendardata'] = stream_get_contents($row['calendardata']);
}
}

$expected1 = [
'calendar_id' => 1,
Expand Down Expand Up @@ -189,7 +198,7 @@ public function testGetAllScheduledRemindersForEvent(): void {
}

public function testInsertReminder(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -200,7 +209,7 @@ public function testInsertReminder(): void {
$this->reminderBackend->insertReminder(42, 1337, 'uid99', true, 12345678,
true, 'hash99', 'hash42', 'AUDIO', false, 12345670, false);

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -227,7 +236,7 @@ public function testInsertReminder(): void {
}

public function testUpdateReminder(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$rows = $query->select('*')
->from('calendar_reminders')
->executeQuery()
Expand All @@ -242,7 +251,7 @@ public function testUpdateReminder(): void {

$this->reminderBackend->updateReminder($reminderId, $newNotificationDate);

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$row = $query->select('notification_date')
->from('calendar_reminders')
->where($query->expr()->eq('id', $query->createNamedParameter($reminderId)))
Expand All @@ -253,7 +262,7 @@ public function testUpdateReminder(): void {
}

private function createRemindersTestSet(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendars')
->values([
'id' => $query->createNamedParameter(1),
Expand All @@ -262,7 +271,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendars')
->values([
'id' => $query->createNamedParameter(99),
Expand All @@ -271,7 +280,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendarobjects')
->values([
'id' => $query->createNamedParameter(1),
Expand All @@ -281,7 +290,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendarobjects')
->values([
'id' => $query->createNamedParameter(2),
Expand All @@ -291,7 +300,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendarobjects')
->values([
'id' => $query->createNamedParameter(10),
Expand All @@ -301,7 +310,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendar_reminders')
->values([
'calendar_id' => $query->createNamedParameter(1),
Expand All @@ -319,7 +328,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendar_reminders')
->values([
'calendar_id' => $query->createNamedParameter(1),
Expand All @@ -337,7 +346,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendar_reminders')
->values([
'calendar_id' => $query->createNamedParameter(1),
Expand All @@ -355,7 +364,7 @@ private function createRemindersTestSet(): void {
])
->executeStatement();

$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert('calendar_reminders')
->values([
'calendar_id' => $query->createNamedParameter(99),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
use OCA\DAV\CalDAV\Proxy\ProxyMapper;
use OCA\DAV\CalDAV\ResourceBooking\ResourcePrincipalBackend;
use OCA\DAV\CalDAV\ResourceBooking\RoomPrincipalBackend;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IUser;
use OCP\IUserSession;
use OCP\Server;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Sabre\DAV\PropPatch;
Expand Down Expand Up @@ -42,7 +44,7 @@ protected function setUp(): void {
}

protected function tearDown(): void {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();

$query->delete('calendar_resources')->executeStatement();
$query->delete('calendar_resources_md')->executeStatement();
Expand All @@ -52,8 +54,7 @@ protected function tearDown(): void {

public function testGetPrincipalsByPrefix(): void {
$actual = $this->principalBackend->getPrincipalsByPrefix($this->principalPrefix);

$this->assertEquals([
$this->assertEqualsCanonicalizing([
[
'uri' => $this->principalPrefix . '/backend1-res1',
'{DAV:}displayname' => 'Beamer1',
Expand Down Expand Up @@ -264,7 +265,8 @@ public function testSearchPrincipals($expected, $test): void {
'{DAV:}displayname' => 'Beamer',
], $test);

$this->assertEquals(
// The query has no ORDER BY, so result order is not guaranteed by the DB
$this->assertEqualsCanonicalizing(
str_replace('%prefix%', $this->principalPrefix, $expected),
$actual);
}
Expand Down Expand Up @@ -454,7 +456,7 @@ public function testFindByUriByUnknownUri(): void {
}

protected function createTestDatasetInDb() {
$query = self::$realDatabase->getQueryBuilder();
$query = Server::get(IDBConnection::class)->getQueryBuilder();
$query->insert($this->mainDbTable)
->values([
'backend_id' => $query->createNamedParameter('backend1'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@
namespace OCA\DAV\Tests\unit\CalDAV\ResourceBooking;

use OCA\DAV\CalDAV\ResourceBooking\ResourcePrincipalBackend;
use OCP\IDBConnection;
use OCP\Server;
use PHPUnit\Framework\Attributes\Group;

#[Group('DB')]
class ResourcePrincipalBackendTest extends AbstractPrincipalBackendTestCase {
protected function setUp(): void {
parent::setUp();

$this->principalBackend = new ResourcePrincipalBackend(self::$realDatabase,
$this->principalBackend = new ResourcePrincipalBackend(Server::get(IDBConnection::class),
$this->userSession, $this->groupManager, $this->logger, $this->proxyMapper);

$this->mainDbTable = 'calendar_resources';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,16 @@
namespace OCA\DAV\Tests\unit\CalDAV\ResourceBooking;

use OCA\DAV\CalDAV\ResourceBooking\RoomPrincipalBackend;
use OCP\IDBConnection;
use OCP\Server;
use PHPUnit\Framework\Attributes\Group;

#[Group('DB')]
class RoomPrincipalBackendTest extends AbstractPrincipalBackendTestCase {
protected function setUp(): void {
parent::setUp();

$this->principalBackend = new RoomPrincipalBackend(self::$realDatabase,
$this->principalBackend = new RoomPrincipalBackend(Server::get(IDBConnection::class),
$this->userSession, $this->groupManager, $this->logger, $this->proxyMapper);

$this->mainDbTable = 'calendar_rooms';
Expand Down
8 changes: 6 additions & 2 deletions apps/user_status/tests/Unit/Db/UserStatusMapperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,23 @@
use OCA\UserStatus\Db\UserStatusMapper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\DB\Exception;
use OCP\IDBConnection;
use OCP\Server;
use PHPUnit\Framework\Attributes\Group;
use Test\TestCase;

#[Group('DB')]
class UserStatusMapperTest extends TestCase {
private UserStatusMapper $mapper;

protected function setUp(): void {
parent::setUp();

// make sure that DB is empty
$qb = self::$realDatabase->getQueryBuilder();
$qb = Server::get(IDBConnection::class)->getQueryBuilder();
$qb->delete('user_status')->executeStatement();

$this->mapper = new UserStatusMapper(self::$realDatabase);
$this->mapper = new UserStatusMapper(Server::get(IDBConnection::class));
}

public function testGetTableName(): void {
Expand Down
Loading
Loading