From f9efc410fa6d7cbe01b01ae9cdc7ea31cf0de48e Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 30 May 2022 12:41:35 +0200 Subject: [PATCH] Restore old behaviour of sending flase for not found apps Signed-off-by: Joas Schilling --- lib/private/Template/JSConfigHelper.php | 8 +- .../Security/RateLimitingMiddlewareTest.php | 124 ++++++++---------- 2 files changed, 58 insertions(+), 74 deletions(-) diff --git a/lib/private/Template/JSConfigHelper.php b/lib/private/Template/JSConfigHelper.php index 47cde1b89bd..a7b9fd35fd8 100644 --- a/lib/private/Template/JSConfigHelper.php +++ b/lib/private/Template/JSConfigHelper.php @@ -36,6 +36,7 @@ namespace OC\Template; use bantu\IniGetWrapper\IniGetWrapper; use OC\CapabilitiesManager; use OC\Share\Share; +use OCP\App\AppPathNotFoundException; use OCP\App\IAppManager; use OCP\Constants; use OCP\Defaults; @@ -115,10 +116,13 @@ class JSConfigHelper { } foreach ($apps as $app) { - $apps_paths[$app] = $this->appManager->getAppWebPath($app); + try { + $apps_paths[$app] = $this->appManager->getAppWebPath($app); + } catch (AppPathNotFoundException $e) { + $apps_paths[$app] = false; + } } - $enableLinkPasswordByDefault = $this->config->getAppValue('core', 'shareapi_enable_link_password_by_default', 'no'); $enableLinkPasswordByDefault = $enableLinkPasswordByDefault === 'yes'; $defaultExpireDateEnabled = $this->config->getAppValue('core', 'shareapi_default_expire_date', 'no') === 'yes'; diff --git a/tests/lib/AppFramework/Middleware/Security/RateLimitingMiddlewareTest.php b/tests/lib/AppFramework/Middleware/Security/RateLimitingMiddlewareTest.php index aa713b99156..38d01950f6a 100644 --- a/tests/lib/AppFramework/Middleware/Security/RateLimitingMiddlewareTest.php +++ b/tests/lib/AppFramework/Middleware/Security/RateLimitingMiddlewareTest.php @@ -66,25 +66,20 @@ class RateLimitingMiddlewareTest extends TestCase { public function testBeforeControllerWithoutAnnotation() { $this->reflector - ->expects($this->at(0)) + ->expects($this->exactly(4)) ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'limit') - ->willReturn(''); - $this->reflector - ->expects($this->at(1)) - ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'period') - ->willReturn(''); - $this->reflector - ->expects($this->at(2)) - ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'limit') - ->willReturn(''); - $this->reflector - ->expects($this->at(3)) - ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'period') - ->willReturn(''); + ->withConsecutive( + ['AnonRateThrottle', 'limit'], + ['AnonRateThrottle', 'period'], + ['UserRateThrottle', 'limit'], + ['UserRateThrottle', 'period'] + ) + ->willReturnMap([ + ['AnonRateThrottle', 'limit', ''], + ['AnonRateThrottle', 'period', ''], + ['UserRateThrottle', 'limit', ''], + ['UserRateThrottle', 'period', ''], + ]); $this->limiter ->expects($this->never()) @@ -107,25 +102,20 @@ class RateLimitingMiddlewareTest extends TestCase { ->willReturn('127.0.0.1'); $this->reflector - ->expects($this->at(0)) - ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'limit') - ->willReturn('100'); - $this->reflector - ->expects($this->at(1)) - ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'period') - ->willReturn('10'); - $this->reflector - ->expects($this->at(2)) - ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'limit') - ->willReturn(''); - $this->reflector - ->expects($this->at(3)) + ->expects($this->exactly(4)) ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'period') - ->willReturn(''); + ->withConsecutive( + ['AnonRateThrottle', 'limit'], + ['AnonRateThrottle', 'period'], + ['UserRateThrottle', 'limit'], + ['UserRateThrottle', 'period'] + ) + ->willReturnMap([ + ['AnonRateThrottle', 'limit', '100'], + ['AnonRateThrottle', 'period', '10'], + ['UserRateThrottle', 'limit', ''], + ['UserRateThrottle', 'period', ''], + ]); $this->limiter ->expects($this->never()) @@ -155,25 +145,20 @@ class RateLimitingMiddlewareTest extends TestCase { ->willReturn($user); $this->reflector - ->expects($this->at(0)) + ->expects($this->exactly(4)) ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'limit') - ->willReturn(''); - $this->reflector - ->expects($this->at(1)) - ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'period') - ->willReturn(''); - $this->reflector - ->expects($this->at(2)) - ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'limit') - ->willReturn('100'); - $this->reflector - ->expects($this->at(3)) - ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'period') - ->willReturn('10'); + ->withConsecutive( + ['AnonRateThrottle', 'limit'], + ['AnonRateThrottle', 'period'], + ['UserRateThrottle', 'limit'], + ['UserRateThrottle', 'period'] + ) + ->willReturnMap([ + ['AnonRateThrottle', 'limit', ''], + ['AnonRateThrottle', 'period', ''], + ['UserRateThrottle', 'limit', '100'], + ['UserRateThrottle', 'period', '10'], + ]); $this->limiter ->expects($this->never()) @@ -201,25 +186,20 @@ class RateLimitingMiddlewareTest extends TestCase { ->willReturn(false); $this->reflector - ->expects($this->at(0)) - ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'limit') - ->willReturn('200'); - $this->reflector - ->expects($this->at(1)) - ->method('getAnnotationParameter') - ->with('AnonRateThrottle', 'period') - ->willReturn('20'); - $this->reflector - ->expects($this->at(2)) - ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'limit') - ->willReturn('100'); - $this->reflector - ->expects($this->at(3)) + ->expects($this->exactly(4)) ->method('getAnnotationParameter') - ->with('UserRateThrottle', 'period') - ->willReturn('10'); + ->withConsecutive( + ['AnonRateThrottle', 'limit'], + ['AnonRateThrottle', 'period'], + ['UserRateThrottle', 'limit'], + ['UserRateThrottle', 'period'] + ) + ->willReturnMap([ + ['AnonRateThrottle', 'limit', '200'], + ['AnonRateThrottle', 'period', '20'], + ['UserRateThrottle', 'limit', '100'], + ['UserRateThrottle', 'period', '10'], + ]); $this->limiter ->expects($this->never()) -- 2.39.5