diff --git a/lib/IMAP/FolderMapper.php b/lib/IMAP/FolderMapper.php index 2183ba1bf1..9c897412a4 100644 --- a/lib/IMAP/FolderMapper.php +++ b/lib/IMAP/FolderMapper.php @@ -127,10 +127,9 @@ public function fetchFolderAcls(array $folders, */ public function getFoldersStatusAsObject(Horde_Imap_Client_Socket $client, array $mailboxes): array { - $multiStatus = $client->status($mailboxes); - $statuses = []; - foreach ($multiStatus as $mailbox => $status) { + foreach ($mailboxes as $mailbox) { + $status = $client->status($mailbox); try { if (!isset($status['messages'], $status['unseen'])) { throw new ServiceException('Could not fetch stats of mailbox: ' . $mailbox); @@ -143,7 +142,7 @@ public function getFoldersStatusAsObject(Horde_Imap_Client_Socket $client, $this->logger->warning($e->getMessage(), [ 'exception' => $e, 'mailboxes' => $mailboxes, - 'statuses' => $multiStatus, + 'status' => $status, ]); } } diff --git a/tests/Unit/IMAP/FolderMapperTest.php b/tests/Unit/IMAP/FolderMapperTest.php index c938fd280c..03b66e07cf 100644 --- a/tests/Unit/IMAP/FolderMapperTest.php +++ b/tests/Unit/IMAP/FolderMapperTest.php @@ -209,12 +209,10 @@ public function testGetFoldersStatusAsObject(): void { $client = $this->createMock(Horde_Imap_Client_Socket::class); $client->expects($this->once()) ->method('status') - ->with(['INBOX']) + ->with('INBOX') ->willReturn([ - 'INBOX' => [ - 'messages' => 123, - 'unseen' => 2, - ], + 'messages' => 123, + 'unseen' => 2, ]); $stats = $this->mapper->getFoldersStatusAsObject($client, ['INBOX']); @@ -228,25 +226,15 @@ public function testGetFoldersStatusAsObjectNullStats(): void { $client = $this->createMock(Horde_Imap_Client_Socket::class); $client->expects($this->once()) ->method('status') - ->with(['INBOX']) + ->with('INBOX') ->willReturn([ - 'INBOX' => [ - 'messages' => null, - 'unseen' => 2, - ], - 'Company' => [ - 'messages' => 123, - 'unseen' => 2, - ], + 'messages' => null, + 'unseen' => 2, ]); $stats = $this->mapper->getFoldersStatusAsObject($client, ['INBOX']); self::assertArrayNotHasKey('INBOX', $stats); - self::assertArrayHasKey('Company', $stats); - $expected = new MailboxStats(123, 2); - self::assertEquals($expected, $stats['Company']); - } public function testDetectSpecialUseFromAttributes() {