diff --git a/CHANGELOG b/CHANGELOG index bd999a6e..fec11c9c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,7 +3,7 @@ Version 0.8.1 (2019-??-??) Bug fixes: - Don't crash updating feeds cached solely via ETag -- Don't update feed URLs when fetching +- Don't fail adding a feed which collides with another via redirection Version 0.8.0 (2019-07-26) ========================== diff --git a/tests/cases/Database/SeriesSubscription.php b/tests/cases/Database/SeriesSubscription.php index be06be86..f812f80d 100644 --- a/tests/cases/Database/SeriesSubscription.php +++ b/tests/cases/Database/SeriesSubscription.php @@ -223,6 +223,14 @@ trait SeriesSubscription { Arsse::$db->subscriptionAdd($this->user, $url); } + public function testAddADuplicateSubscriptionViaRedirection() { + $url = "http://localhost:8000/Feed/Parsing/Valid"; + Arsse::$db->subscriptionAdd($this->user, $url); + $subID = $this->nextID("arsse_subscriptions"); + $url = "http://localhost:8000/Feed/Fetching/RedirectionDuplicate"; + $this->assertSame($subID, Arsse::$db->subscriptionAdd($this->user, $url)); + } + public function testAddASubscriptionWithoutAuthority() { $url = "http://example.com/feed1"; Phake::when(Arsse::$user)->authorize->thenReturn(false); diff --git a/tests/docroot/Feed/Fetching/RedirectionDuplicate.php b/tests/docroot/Feed/Fetching/RedirectionDuplicate.php new file mode 100644 index 00000000..7fbd173c --- /dev/null +++ b/tests/docroot/Feed/Fetching/RedirectionDuplicate.php @@ -0,0 +1,6 @@ + 302, + 'fields' => [ + "Location: http://localhost:8000/Feed/Parsing/Valid", + ], +];