From 61d237de02a04026e97d7501c4d7673a5e3e7b90 Mon Sep 17 00:00:00 2001 From: TobiGr Date: Fri, 29 Dec 2023 12:43:20 +0100 Subject: [PATCH] [PeerTube] Test onAccept(String URL) in LinkHandlerFactories for non-URLs --- ...PeertubeChannelLinkHandlerFactoryTest.java | 6 ++- ...eertubeCommentsLinkHandlerFactoryTest.java | 3 ++ .../PeertubeLinkHandlerFactoryTestHelper.java | 40 +++++++++++++++++++ ...eertubePlaylistLinkHandlerFactoryTest.java | 3 ++ .../PeertubeStreamLinkHandlerFactoryTest.java | 3 ++ ...eertubeTrendingLinkHandlerFactoryTest.java | 3 ++ 6 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeLinkHandlerFactoryTestHelper.java diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelLinkHandlerFactoryTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelLinkHandlerFactoryTest.java index 1a0e424e1..51f91539c 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelLinkHandlerFactoryTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelLinkHandlerFactoryTest.java @@ -7,9 +7,9 @@ import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.services.peertube.linkHandler.PeertubeChannelLinkHandlerFactory; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.*; import static org.schabi.newpipe.extractor.ServiceList.PeerTube; +import static org.schabi.newpipe.extractor.services.peertube.PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs; /** * Test for {@link PeertubeChannelLinkHandlerFactory} @@ -33,6 +33,8 @@ public class PeertubeChannelLinkHandlerFactoryTest { assertTrue(linkHandler.acceptUrl("https://peertube.stream/video-channels/kranti_channel@videos.squat.net/videos")); assertTrue(linkHandler.acceptUrl("https://peertube.stream/c/kranti_channel@videos.squat.net/videos")); assertTrue(linkHandler.acceptUrl("https://peertube.stream/api/v1/video-channels/7682d9f2-07be-4622-862e-93ec812e2ffa")); + + testDoNotAcceptNonURLs(linkHandler); } @Test diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeCommentsLinkHandlerFactoryTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeCommentsLinkHandlerFactoryTest.java index 0a6da3376..b9f92411c 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeCommentsLinkHandlerFactoryTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeCommentsLinkHandlerFactoryTest.java @@ -9,6 +9,7 @@ import org.schabi.newpipe.extractor.services.peertube.linkHandler.PeertubeCommen import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.schabi.newpipe.extractor.services.peertube.PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs; /** * Test for {@link PeertubeCommentsLinkHandlerFactory} @@ -31,6 +32,8 @@ public class PeertubeCommentsLinkHandlerFactoryTest { assertTrue(linkHandler.acceptUrl("https://framatube.org/videos/watch/9c9de5e8-0a1e-484a-b099-e80766180a6d")); assertTrue(linkHandler.acceptUrl("https://framatube.org/w/9c9de5e8-0a1e-484a-b099-e80766180a6d")); assertTrue(linkHandler.acceptUrl("https://framatube.org/api/v1/videos/9c9de5e8-0a1e-484a-b099-e80766180a6d/comment-threads?start=0&count=10&sort=-createdAt")); + + testDoNotAcceptNonURLs(linkHandler); } @Test diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeLinkHandlerFactoryTestHelper.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeLinkHandlerFactoryTestHelper.java new file mode 100644 index 000000000..68328c588 --- /dev/null +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeLinkHandlerFactoryTestHelper.java @@ -0,0 +1,40 @@ +package org.schabi.newpipe.extractor.services.peertube; + +import org.schabi.newpipe.extractor.exceptions.ParsingException; +import org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory; +import org.schabi.newpipe.extractor.linkhandler.ListLinkHandlerFactory; + +import static org.junit.jupiter.api.Assertions.assertFalse; + +public class PeertubeLinkHandlerFactoryTestHelper { + + public static void testDoNotAcceptNonURLs(LinkHandlerFactory linkHandler) + throws ParsingException { + assertFalse(linkHandler.acceptUrl("orchestr/a/")); + assertFalse(linkHandler.acceptUrl("/a/")); + assertFalse(linkHandler.acceptUrl("something/c/")); + assertFalse(linkHandler.acceptUrl("/c/")); + assertFalse(linkHandler.acceptUrl("videos/")); + assertFalse(linkHandler.acceptUrl("I-hate-videos/")); + assertFalse(linkHandler.acceptUrl("/w/")); + assertFalse(linkHandler.acceptUrl("ksmg/w/")); + assertFalse(linkHandler.acceptUrl("a reandom search query")); + assertFalse(linkHandler.acceptUrl("test 230 ")); + assertFalse(linkHandler.acceptUrl("986513")); + } + + public static void testDoNotAcceptNonURLs(ListLinkHandlerFactory linkHandler) + throws ParsingException { + assertFalse(linkHandler.acceptUrl("orchestr/a/")); + assertFalse(linkHandler.acceptUrl("/a/")); + assertFalse(linkHandler.acceptUrl("something/c/")); + assertFalse(linkHandler.acceptUrl("/c/")); + assertFalse(linkHandler.acceptUrl("videos/")); + assertFalse(linkHandler.acceptUrl("I-hate-videos/")); + assertFalse(linkHandler.acceptUrl("/w/")); + assertFalse(linkHandler.acceptUrl("ksmg/w/")); + assertFalse(linkHandler.acceptUrl("a reandom search query")); + assertFalse(linkHandler.acceptUrl("test 230 ")); + assertFalse(linkHandler.acceptUrl("986513")); + } +} diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubePlaylistLinkHandlerFactoryTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubePlaylistLinkHandlerFactoryTest.java index ffab55d7f..8db0c8086 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubePlaylistLinkHandlerFactoryTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubePlaylistLinkHandlerFactoryTest.java @@ -10,6 +10,7 @@ import org.schabi.newpipe.extractor.services.peertube.linkHandler.PeertubePlayli import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.schabi.newpipe.extractor.services.peertube.PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs; /** * Test for {@link PeertubePlaylistLinkHandlerFactory} @@ -33,6 +34,8 @@ public class PeertubePlaylistLinkHandlerFactoryTest { assertTrue(linkHandler.acceptUrl("https://framatube.org/w/p/dacdc4ef-5160-4846-9b70-a655880da667")); assertTrue(linkHandler.acceptUrl("https://framatube.org/videos/watch/playlist/96b0ee2b-a5a7-4794-8769-58d8ccb79ab7")); assertTrue(linkHandler.acceptUrl("https://framatube.org/w/p/96b0ee2b-a5a7-4794-8769-58d8ccb79ab7")); + + testDoNotAcceptNonURLs(linkHandler); } @Test diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamLinkHandlerFactoryTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamLinkHandlerFactoryTest.java index 53c8502a5..cfc656801 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamLinkHandlerFactoryTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamLinkHandlerFactoryTest.java @@ -9,6 +9,7 @@ import org.schabi.newpipe.extractor.services.peertube.linkHandler.PeertubeStream import static org.junit.jupiter.api.Assertions.*; import static org.schabi.newpipe.extractor.ServiceList.PeerTube; +import static org.schabi.newpipe.extractor.services.peertube.PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs; /** * Test for {@link PeertubeStreamLinkHandlerFactory} @@ -71,5 +72,7 @@ public class PeertubeStreamLinkHandlerFactoryTest { // make sure playlists aren't accepted assertFalse(linkHandler.acceptUrl("https://framatube.org/w/p/dacdc4ef-5160-4846-9b70-a655880da667")); assertFalse(linkHandler.acceptUrl("https://framatube.org/videos/watch/playlist/dacdc4ef-5160-4846-9b70-a655880da667")); + + PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs(linkHandler); } } diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeTrendingLinkHandlerFactoryTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeTrendingLinkHandlerFactoryTest.java index 4c140f5de..ff42a4d00 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeTrendingLinkHandlerFactoryTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeTrendingLinkHandlerFactoryTest.java @@ -11,6 +11,7 @@ import org.schabi.newpipe.extractor.services.peertube.linkHandler.PeertubeTrendi import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.schabi.newpipe.extractor.ServiceList.PeerTube; +import static org.schabi.newpipe.extractor.services.peertube.PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs; /** * Test for {@link PeertubeTrendingLinkHandlerFactory} @@ -57,5 +58,7 @@ public class PeertubeTrendingLinkHandlerFactoryTest { assertTrue(LinkHandlerFactory.acceptUrl("https://peertube.mastodon.host/videos/local")); assertTrue(LinkHandlerFactory.acceptUrl("https://peertube.mastodon.host/videos/local?adsf=fjaj#fhe")); + + PeertubeLinkHandlerFactoryTestHelper.testDoNotAcceptNonURLs(LinkHandlerFactory); } }