1212use OC \Security \RateLimiting \Backend \IBackend ;
1313use OC \Security \RateLimiting \Limiter ;
1414use OCP \IUser ;
15+ use OCP \Security \RateLimiting \ILimiter ;
16+ use PHPUnit \Framework \MockObject \MockObject ;
17+ use Psr \Log \LoggerInterface ;
1518use Test \TestCase ;
1619
1720class LimiterTest extends TestCase {
18- /** @var IBackend|\PHPUnit\Framework\MockObject\MockObject */
19- private $ backend ;
20- /** @var Limiter */
21- private $ limiter ;
21+
22+ private IBackend & MockObject $ backend ;
23+ private ILimiter $ limiter ;
24+ private LoggerInterface $ logger ;
2225
2326 protected function setUp (): void {
2427 parent ::setUp ();
2528
2629 $ this ->backend = $ this ->createMock (IBackend::class);
30+ $ this ->logger = $ this ->createMock (LoggerInterface::class);
2731
2832 $ this ->limiter = new Limiter (
29- $ this ->backend
33+ $ this ->backend ,
34+ $ this ->logger ,
3035 );
3136 }
3237
@@ -43,6 +48,8 @@ public function testRegisterAnonRequestExceeded(): void {
4348 '4664f0d9c88dcb7552be47b37bb52ce35977b2e60e1ac13757cf625f31f87050a41f3da064887fa87d49fd042e4c8eb20de8f10464877d3959677ab011b73a47 '
4449 )
4550 ->willReturn (101 );
51+ $ this ->logger ->expects ($ this ->once ())
52+ ->method ('info ' );
4653
4754 $ this ->limiter ->registerAnonRequest ('MyIdentifier ' , 100 , 100 , '127.0.0.1 ' );
4855 }
@@ -64,6 +71,8 @@ public function testRegisterAnonRequestSuccess(): void {
6471 '4664f0d9c88dcb7552be47b37bb52ce35977b2e60e1ac13757cf625f31f87050a41f3da064887fa87d49fd042e4c8eb20de8f10464877d3959677ab011b73a47 ' ,
6572 100
6673 );
74+ $ this ->logger ->expects ($ this ->never ())
75+ ->method ('info ' );
6776
6877 $ this ->limiter ->registerAnonRequest ('MyIdentifier ' , 100 , 100 , '127.0.0.1 ' );
6978 }
@@ -87,6 +96,8 @@ public function testRegisterUserRequestExceeded(): void {
8796 'ddb2ec50fa973fd49ecf3d816f677c8095143e944ad10485f30fb3dac85c13a346dace4dae2d0a15af91867320957bfd38a43d9eefbb74fe6919e15119b6d805 '
8897 )
8998 ->willReturn (101 );
99+ $ this ->logger ->expects ($ this ->once ())
100+ ->method ('info ' );
90101
91102 $ this ->limiter ->registerUserRequest ('MyIdentifier ' , 100 , 100 , $ user );
92103 }
@@ -115,6 +126,8 @@ public function testRegisterUserRequestSuccess(): void {
115126 'ddb2ec50fa973fd49ecf3d816f677c8095143e944ad10485f30fb3dac85c13a346dace4dae2d0a15af91867320957bfd38a43d9eefbb74fe6919e15119b6d805 ' ,
116127 100
117128 );
129+ $ this ->logger ->expects ($ this ->never ())
130+ ->method ('info ' );
118131
119132 $ this ->limiter ->registerUserRequest ('MyIdentifier ' , 100 , 100 , $ user );
120133 }
0 commit comments