From a3f6a7e68c7ea33a5bc723d75161fa7d3710b0fc Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Mon, 1 May 2023 17:43:59 +0200 Subject: [PATCH] tests: add @override to YT channel/tab tests --- .../YouTubeChannelTabExtractorTest.java | 74 +++++++++++++++- .../youtube/YoutubeChannelExtractorTest.java | 85 +++++++++++++++++-- 2 files changed, 147 insertions(+), 12 deletions(-) diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YouTubeChannelTabExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YouTubeChannelTabExtractorTest.java index a673afb71..c1bd24bc2 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YouTubeChannelTabExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YouTubeChannelTabExtractorTest.java @@ -7,6 +7,7 @@ import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; +import org.schabi.newpipe.extractor.services.BaseListExtractorTest; import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor; import java.io.IOException; @@ -19,7 +20,7 @@ import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestRela public class YouTubeChannelTabExtractorTest { private static final String RESOURCE_PATH = DownloaderFactory.RESOURCE_PATH + "services/youtube/extractor/channelTab/"; - public static class Playlists { + public static class Playlists implements BaseListExtractorTest { private static YoutubeChannelTabExtractor extractor; @BeforeAll @@ -32,37 +33,54 @@ public class YouTubeChannelTabExtractorTest { } @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); } + @Test + @Override + public void testName() throws Exception { + assertEquals(ChannelTabs.PLAYLISTS, extractor.getName()); + } + @Test public void testTab() { assertEquals(ChannelTabs.PLAYLISTS, extractor.getTab()); } @Test + @Override public void testId() throws ParsingException { assertEquals("UC2DjFE7Xf11URZqWBigcVOQ", extractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/playlists", extractor.getUrl()); } @Test + @Override + public void testOriginalUrl() throws Exception { + assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/playlists", extractor.getOriginalUrl()); + } + + @Test + @Override public void testRelatedItems() throws Exception { defaultTestRelatedItems(extractor); } @Test + @Override public void testMoreRelatedItems() throws Exception { defaultTestMoreItems(extractor); } } - public static class Channels { + public static class Channels implements BaseListExtractorTest { private static YoutubeChannelTabExtractor extractor; @BeforeAll @@ -74,37 +92,53 @@ public class YouTubeChannelTabExtractorTest { } @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); } + @Test + @Override + public void testName() throws Exception { + assertEquals(ChannelTabs.CHANNELS, extractor.getName()); + } + @Test public void testTab() { assertEquals(ChannelTabs.CHANNELS, extractor.getTab()); } @Test + @Override public void testId() throws ParsingException { assertEquals("UC2DjFE7Xf11URZqWBigcVOQ", extractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/channels", extractor.getUrl()); } + @Override + public void testOriginalUrl() throws Exception { + + } + @Test + @Override public void testRelatedItems() throws Exception { defaultTestRelatedItems(extractor); } @Test + @Override public void testMoreRelatedItems() throws Exception { defaultTestMoreItems(extractor); } } - public static class Livestreams { + public static class Livestreams implements BaseListExtractorTest { private static YoutubeChannelTabExtractor extractor; @BeforeAll @@ -116,37 +150,53 @@ public class YouTubeChannelTabExtractorTest { } @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); } + @Test + @Override + public void testName() throws Exception { + assertEquals(ChannelTabs.LIVESTREAMS, extractor.getName()); + } + @Test public void testTab() { assertEquals(ChannelTabs.LIVESTREAMS, extractor.getTab()); } @Test + @Override public void testId() throws ParsingException { assertEquals("UCR-DXc1voovS8nhAvccRZhg", extractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCR-DXc1voovS8nhAvccRZhg/streams", extractor.getUrl()); } + @Override + public void testOriginalUrl() throws Exception { + assertEquals("https://www.youtube.com/channel/UCR-DXc1voovS8nhAvccRZhg/streams", extractor.getOriginalUrl()); + } + @Test + @Override public void testRelatedItems() throws Exception { defaultTestRelatedItems(extractor); } @Test + @Override public void testMoreRelatedItems() throws Exception { defaultTestMoreItems(extractor); } } - public static class Shorts { + public static class Shorts implements BaseListExtractorTest { private static YoutubeChannelTabExtractor extractor; @BeforeAll @@ -158,31 +208,47 @@ public class YouTubeChannelTabExtractorTest { } @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); } + @Override + public void testName() throws Exception { + assertEquals(ChannelTabs.SHORTS, extractor.getName()); + } + @Test public void testTab() { assertEquals(ChannelTabs.SHORTS, extractor.getTab()); } @Test + @Override public void testId() throws ParsingException { assertEquals("UCh8gHdtzO2tXd593_bjErWg", extractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCh8gHdtzO2tXd593_bjErWg/shorts", extractor.getUrl()); } @Test + @Override + public void testOriginalUrl() throws Exception { + assertEquals("https://www.youtube.com/channel/UCh8gHdtzO2tXd593_bjErWg/shorts", extractor.getOriginalUrl()); + } + + @Test + @Override public void testRelatedItems() throws Exception { defaultTestRelatedItems(extractor); } @Test + @Override public void testMoreRelatedItems() throws Exception { defaultTestMoreItems(extractor); } diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java index e197c3a5d..afccc7058 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java @@ -10,12 +10,10 @@ import org.schabi.newpipe.extractor.channel.ChannelExtractor; import org.schabi.newpipe.extractor.channel.ChannelTabExtractor; import org.schabi.newpipe.extractor.exceptions.AccountTerminatedException; import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; -import org.schabi.newpipe.extractor.exceptions.ContentNotSupportedException; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest; import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor; -import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor; import java.io.IOException; import java.util.Set; @@ -166,29 +164,34 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); } @Test + @Override public void testName() throws Exception { assertEquals("Gronkh", extractor.getName()); } @Test + @Override public void testId() throws Exception { assertEquals("UCYJ61XIK64sp6ZFFS8sctxw", extractor.getId()); assertEquals("UCYJ61XIK64sp6ZFFS8sctxw", tabExtractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", tabExtractor.getUrl()); } @Test + @Override public void testOriginalUrl() throws ParsingException { assertEquals("http://www.youtube.com/@Gronkh", extractor.getOriginalUrl()); assertEquals("/c/gronkh/videos", tabExtractor.getOriginalUrl()); @@ -213,11 +216,13 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testDescription() throws Exception { assertContains("Ungebremster Spieltrieb seit 1896.", extractor.getDescription()); } @Test + @Override public void testAvatarUrl() throws Exception { String avatarUrl = extractor.getAvatarUrl(); assertIsSecureUrl(avatarUrl); @@ -225,6 +230,7 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testBannerUrl() throws Exception { String bannerUrl = extractor.getBannerUrl(); assertIsSecureUrl(bannerUrl); @@ -232,21 +238,25 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testFeedUrl() throws Exception { assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCYJ61XIK64sp6ZFFS8sctxw", extractor.getFeedUrl()); } @Test + @Override public void testSubscriberCount() throws Exception { ExtractorAsserts.assertGreaterOrEqual(4_900_000, extractor.getSubscriberCount()); } @Test + @Override public void testVerified() throws Exception { assertTrue(extractor.isVerified()); } @Test + @Override public void testTabs() throws Exception { Set tabs = extractor.getTabs().stream() .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); @@ -279,29 +289,34 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); } @Test + @Override public void testName() throws Exception { assertEquals("Vsauce", extractor.getName()); } @Test + @Override public void testId() throws Exception { assertEquals("UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getId()); assertEquals("UC6nSFpj9HTCZ5t-N3Rm3-HA", tabExtractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UC6nSFpj9HTCZ5t-N3Rm3-HA", tabExtractor.getUrl()); } @Test + @Override public void testOriginalUrl() throws ParsingException { assertEquals("https://www.youtube.com/user/Vsauce", extractor.getOriginalUrl()); assertEquals("/@Vsauce/videos", tabExtractor.getOriginalUrl()); @@ -326,11 +341,13 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testDescription() throws Exception { assertContains("Our World is Amazing. \n\nQuestions? Ideas? Tweet me:", extractor.getDescription()); } @Test + @Override public void testAvatarUrl() throws Exception { String avatarUrl = extractor.getAvatarUrl(); assertIsSecureUrl(avatarUrl); @@ -338,6 +355,7 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testBannerUrl() throws Exception { String bannerUrl = extractor.getBannerUrl(); assertIsSecureUrl(bannerUrl); @@ -345,21 +363,25 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testFeedUrl() throws Exception { assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getFeedUrl()); } @Test + @Override public void testSubscriberCount() throws Exception { ExtractorAsserts.assertGreaterOrEqual(17_000_000, extractor.getSubscriberCount()); } @Test + @Override public void testVerified() throws Exception { assertTrue(extractor.isVerified()); } @Test + @Override public void testTabs() throws Exception { Set tabs = extractor.getTabs().stream() .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); @@ -392,29 +414,34 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); } @Test + @Override public void testName() throws Exception { assertTrue(extractor.getName().startsWith("Kurzgesagt")); } @Test + @Override public void testId() throws Exception { assertEquals("UCsXVk37bltHxD1rDPwtNM8Q", extractor.getId()); assertEquals("UCsXVk37bltHxD1rDPwtNM8Q", tabExtractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", tabExtractor.getUrl()); } @Test + @Override public void testOriginalUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", extractor.getOriginalUrl()); assertEquals("/@kurzgesagt/videos", tabExtractor.getOriginalUrl()); @@ -439,6 +466,7 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testDescription() throws Exception { ExtractorAsserts.assertContains("science", extractor.getDescription()); ExtractorAsserts.assertContains("animators", extractor.getDescription()); @@ -447,6 +475,7 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testAvatarUrl() throws Exception { String avatarUrl = extractor.getAvatarUrl(); assertIsSecureUrl(avatarUrl); @@ -454,6 +483,7 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testBannerUrl() throws Exception { String bannerUrl = extractor.getBannerUrl(); assertIsSecureUrl(bannerUrl); @@ -461,21 +491,25 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testFeedUrl() throws Exception { assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCsXVk37bltHxD1rDPwtNM8Q", extractor.getFeedUrl()); } @Test + @Override public void testSubscriberCount() throws Exception { ExtractorAsserts.assertGreaterOrEqual(17_000_000, extractor.getSubscriberCount()); } @Test + @Override public void testVerified() throws Exception { assertTrue(extractor.isVerified()); } @Test + @Override public void testTabs() throws Exception { Set tabs = extractor.getTabs().stream() .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); @@ -532,29 +566,34 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); } @Test + @Override public void testName() throws Exception { assertEquals("Captain Disillusion", extractor.getName()); } @Test + @Override public void testId() throws Exception { assertEquals("UCEOXxzW2vU0P-0THehuIIeg", extractor.getId()); assertEquals("UCEOXxzW2vU0P-0THehuIIeg", tabExtractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCEOXxzW2vU0P-0THehuIIeg", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCEOXxzW2vU0P-0THehuIIeg", tabExtractor.getUrl()); } @Test + @Override public void testOriginalUrl() throws ParsingException { assertEquals("https://www.youtube.com/user/CaptainDisillusion/videos", extractor.getOriginalUrl()); assertEquals("/@CaptainDisillusion/videos", tabExtractor.getOriginalUrl()); @@ -579,11 +618,13 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testDescription() throws Exception { ExtractorAsserts.assertContains("In a world where", extractor.getDescription()); } @Test + @Override public void testAvatarUrl() throws Exception { String avatarUrl = extractor.getAvatarUrl(); assertIsSecureUrl(avatarUrl); @@ -591,6 +632,7 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testBannerUrl() throws Exception { String bannerUrl = extractor.getBannerUrl(); assertIsSecureUrl(bannerUrl); @@ -598,21 +640,25 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testFeedUrl() throws Exception { assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCEOXxzW2vU0P-0THehuIIeg", extractor.getFeedUrl()); } @Test + @Override public void testSubscriberCount() throws Exception { ExtractorAsserts.assertGreaterOrEqual(2_000_000, extractor.getSubscriberCount()); } @Test + @Override public void testVerified() throws Exception { assertTrue(extractor.isVerified()); } @Test + @Override public void testTabs() throws Exception { Set tabs = extractor.getTabs().stream() .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); @@ -643,29 +689,34 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); } @Test + @Override public void testName() throws Exception { assertEquals("random channel", extractor.getName()); } @Test + @Override public void testId() throws Exception { assertEquals("UCUaQMQS9lY5lit3vurpXQ6w", extractor.getId()); assertEquals("UCUaQMQS9lY5lit3vurpXQ6w", tabExtractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", tabExtractor.getUrl()); } @Test + @Override public void testOriginalUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", extractor.getOriginalUrl()); assertEquals("/channel/UCUaQMQS9lY5lit3vurpXQ6w/videos", tabExtractor.getOriginalUrl()); @@ -696,11 +747,13 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testDescription() throws Exception { ExtractorAsserts.assertContains("Hey there iu will upoload a load of pranks onto this channel", extractor.getDescription()); } @Test + @Override public void testAvatarUrl() throws Exception { String avatarUrl = extractor.getAvatarUrl(); assertIsSecureUrl(avatarUrl); @@ -708,6 +761,7 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testBannerUrl() throws Exception { String bannerUrl = extractor.getBannerUrl(); assertIsSecureUrl(bannerUrl); @@ -715,21 +769,25 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testFeedUrl() throws Exception { assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCUaQMQS9lY5lit3vurpXQ6w", extractor.getFeedUrl()); } @Test + @Override public void testSubscriberCount() throws Exception { ExtractorAsserts.assertGreaterOrEqual(50, extractor.getSubscriberCount()); } @Test + @Override public void testVerified() throws Exception { assertFalse(extractor.isVerified()); } @Test + @Override public void testTabs() throws Exception { Set tabs = extractor.getTabs().stream() .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); @@ -760,29 +818,34 @@ public class YoutubeChannelExtractorTest { //////////////////////////////////////////////////////////////////////////*/ @Test + @Override public void testServiceId() { assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); } @Test + @Override public void testName() throws Exception { assertEquals(extractor.getName(), "Coachella"); } @Test + @Override public void testId() throws Exception { assertEquals("UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getId()); assertEquals("UCHF66aWLOxBW4l6VkSrS3cQ", tabExtractor.getId()); } @Test + @Override public void testUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", tabExtractor.getUrl()); } @Test + @Override public void testOriginalUrl() throws ParsingException { assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getOriginalUrl()); assertEquals("/@Coachella/videos", tabExtractor.getOriginalUrl()); @@ -802,14 +865,15 @@ public class YoutubeChannelExtractorTest { defaultTestMoreItems(tabExtractor); } - /*////////////////////////////////////////////////////////////////////////// - // ChannelExtractor - //////////////////////////////////////////////////////////////////////////*/ - @Override - public void testDescription() { - } + /*////////////////////////////////////////////////////////////////////////// + // ChannelExtractor + //////////////////////////////////////////////////////////////////////////*/ + @Override + public void testDescription() { + } @Test + @Override public void testAvatarUrl() throws Exception { String avatarUrl = extractor.getAvatarUrl(); assertIsSecureUrl(avatarUrl); @@ -817,26 +881,31 @@ public class YoutubeChannelExtractorTest { } @Test + @Override public void testBannerUrl() throws Exception { // CarouselHeaderRender does not contain a banner } @Test + @Override public void testFeedUrl() throws Exception { assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getFeedUrl()); } @Test + @Override public void testSubscriberCount() throws Exception { ExtractorAsserts.assertGreaterOrEqual(2_900_000, extractor.getSubscriberCount()); } @Test + @Override public void testVerified() throws Exception { assertTrue(extractor.isVerified()); } @Test + @Override public void testTabs() throws Exception { Set tabs = extractor.getTabs().stream() .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());