Skip to content
Merged
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
test(dav): Add unit test for no calendars/subscription limit
Signed-off-by: Christoph Wurst <[email protected]>
  • Loading branch information
ChristophWurst committed Mar 12, 2024
commit 1e8238b9e4cced5376668dc690486abd0f551642
38 changes: 38 additions & 0 deletions apps/dav/tests/unit/CalDAV/Security/RateLimitingPluginTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -163,4 +163,42 @@ public function testCalendarLimitReached(): void {
$this->plugin->beforeBind('calendars/foo/cal');
}

public function testNoCalendarsSubscriptsLimit(): void {
$user = $this->createMock(IUser::class);
$this->userManager->expects(self::once())
->method('get')
->with($this->userId)
->willReturn($user);
$user->method('getUID')->willReturn('user123');
$this->config
->method('getValueInt')
->with('dav')
->willReturnCallback(function ($app, $key, $default) {
switch ($key) {
case 'maximumCalendarsSubscriptions':
return -1;
default:
return $default;
}
});
$this->limiter->expects(self::once())
->method('registerUserRequest')
->with(
'caldav-create-calendar',
10,
3600,
$user,
);
$this->caldavBackend->expects(self::never())
->method('getCalendarsForUserCount')
->with('principals/users/user123')
->willReturn(27);
$this->caldavBackend->expects(self::never())
->method('getSubscriptionsForUserCount')
->with('principals/users/user123')
->willReturn(3);

$this->plugin->beforeBind('calendars/foo/cal');
}

}