diff options
author | Richard Steinmetz <richard@steinmetz.cloud> | 2025-04-28 10:15:35 +0200 |
---|---|---|
committer | Richard Steinmetz <richard@steinmetz.cloud> | 2025-04-28 10:15:35 +0200 |
commit | 3aa1feba41898681abbfd8aa8a0ae090fde2fe95 (patch) | |
tree | 174e9d1c42298c35c1c1c459b8e2b08cb315dea0 | |
parent | e5676ce0a93dc6e93208ec2133bab9d0481550c4 (diff) | |
download | nextcloud-server-fix/default-contact-error-verbosity.tar.gz nextcloud-server-fix/default-contact-error-verbosity.zip |
fix: don't log error when default contact template does not existfix/default-contact-error-verbosity
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
-rw-r--r-- | apps/dav/lib/Service/DefaultContactService.php | 5 | ||||
-rw-r--r-- | apps/dav/tests/unit/Service/DefaultContactServiceTest.php | 25 |
2 files changed, 21 insertions, 9 deletions
diff --git a/apps/dav/lib/Service/DefaultContactService.php b/apps/dav/lib/Service/DefaultContactService.php index 193f3b285c6..9d788b2f129 100644 --- a/apps/dav/lib/Service/DefaultContactService.php +++ b/apps/dav/lib/Service/DefaultContactService.php @@ -10,15 +10,14 @@ declare(strict_types=1); namespace OCA\DAV\Service; use OCA\DAV\CardDAV\CardDavBackend; -use OCP\App\IAppManager; use OCP\Files\AppData\IAppDataFactory; +use OCP\Files\NotFoundException; use Psr\Log\LoggerInterface; use Symfony\Component\Uid\Uuid; class DefaultContactService { public function __construct( private CardDavBackend $cardDav, - private IAppManager $appManager, private IAppDataFactory $appDataFactory, private LoggerInterface $logger, ) { @@ -30,6 +29,8 @@ class DefaultContactService { $folder = $appData->getFolder('defaultContact'); $defaultContactFile = $folder->getFile('defaultContact.vcf'); $data = $defaultContactFile->getContent(); + } catch (NotFoundException $e) { + return; } catch (\Exception $e) { $this->logger->error('Couldn\'t get default contact file', ['exception' => $e]); return; diff --git a/apps/dav/tests/unit/Service/DefaultContactServiceTest.php b/apps/dav/tests/unit/Service/DefaultContactServiceTest.php index 9540e77ce6c..18d76195f3c 100644 --- a/apps/dav/tests/unit/Service/DefaultContactServiceTest.php +++ b/apps/dav/tests/unit/Service/DefaultContactServiceTest.php @@ -11,7 +11,6 @@ namespace OCA\DAV\Tests\Unit\Service; use OCA\DAV\CardDAV\CardDavBackend; use OCA\DAV\Service\DefaultContactService; -use OCP\App\IAppManager; use OCP\Files\AppData\IAppDataFactory; use OCP\Files\IAppData; use OCP\Files\NotFoundException; @@ -25,7 +24,6 @@ use Test\TestCase; class DefaultContactServiceTest extends TestCase { private DefaultContactService $service; private MockObject|CardDavBackend $cardDav; - private MockObject|IAppManager $appManager; private MockObject|IAppDataFactory $appDataFactory; private MockObject|LoggerInterface $logger; @@ -33,13 +31,11 @@ class DefaultContactServiceTest extends TestCase { parent::setUp(); $this->cardDav = $this->createMock(CardDavBackend::class); - $this->appManager = $this->createMock(IAppManager::class); $this->appDataFactory = $this->createMock(IAppDataFactory::class); $this->logger = $this->createMock(LoggerInterface::class); $this->service = new DefaultContactService( $this->cardDav, - $this->appManager, $this->appDataFactory, $this->logger ); @@ -79,7 +75,7 @@ class DefaultContactServiceTest extends TestCase { $folder->method('getFile')->willReturn($file); $appData->method('getFolder')->willReturn($folder); $this->appDataFactory->method('get')->willReturn($appData); - + $capturedCardData = null; $this->cardDav->expects($this->once()) ->method('createCard') @@ -92,9 +88,9 @@ class DefaultContactServiceTest extends TestCase { }), $this->anything() )->willReturn(null); - + $this->service->createDefaultContact(123); - + $vcard = \Sabre\VObject\Reader::read($capturedCardData); $this->assertNotEquals($originalUid, $vcard->UID->getValue()); $this->assertTrue(Uuid::isValid($vcard->UID->getValue())); @@ -106,6 +102,21 @@ class DefaultContactServiceTest extends TestCase { $appData->method('getFolder')->willThrowException(new NotFoundException()); $this->appDataFactory->method('get')->willReturn($appData); + $this->logger->expects($this->never()) + ->method('error'); + $this->cardDav->expects($this->never()) + ->method('createCard'); + + $this->service->createDefaultContact(123); + } + + public function testDefaultContactFileException(): void { + $appData = $this->createMock(IAppData::class); + $appData->method('getFolder')->willThrowException(new \Exception()); + $this->appDataFactory->method('get')->willReturn($appData); + + $this->logger->expects($this->once()) + ->method('error'); $this->cardDav->expects($this->never()) ->method('createCard'); |