Files
FreshRSS/tests/app/Exceptions/FeedExceptionTest.php
T
Nikolai ShcheglovandAlexandre Alapetite a93bd27b7d Fix muting of feeds gone with HTTP 410 (#9391)
* Fix muting of feeds gone with HTTP 410

A feed answering HTTP 410 Gone is meant to be muted (#3561), but:

* Since #6037, FreshRSS_Feed_Exception extends Minz_Exception, which
  resets any code other than its own error levels to 0, so the check for
  410 never matched. FreshRSS_Feed_Exception now keeps the HTTP status
  code it is given.
* FreshRSS_FeedDAO::mute() mutes by negating the TTL, which leaves a feed
  with the default TTL (0) unmuted. Mute the feed the way the feed
  settings and dynamic OPML categories do instead.

* A bit of cleaning

---------

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-10-03 09:59:51 +02:00

15 lines
517 B
PHP

<?php
declare(strict_types=1);
final class FeedExceptionTest extends \PHPUnit\Framework\TestCase {
public function test_keepsHttpStatusCode(): void {
$previous = new RuntimeException('previous');
$e = new FreshRSS_Feed_Exception('Gone', 410, $previous);
self::assertSame(410, $e->getCode()); // feedController mutes a feed on HTTP 410 Gone
self::assertSame('Gone', $e->getMessage());
self::assertSame($previous, $e->getPrevious());
self::assertSame(0, (new FreshRSS_Feed_Exception())->getCode());
}
}