|
|
@@ -163,4 +163,42 @@ class RateLimitingPluginTest extends TestCase { |
|
|
|
$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'); |
|
|
|
} |
|
|
|
|
|
|
|
} |