tests: add @override to YT channel/tab tests

This commit is contained in:
ThetaDev 2023-05-01 17:43:59 +02:00
parent 0583515532
commit a3f6a7e68c
2 changed files with 147 additions and 12 deletions

View File

@ -7,6 +7,7 @@ import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs;
import org.schabi.newpipe.extractor.services.BaseListExtractorTest;
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor; import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor;
import java.io.IOException; import java.io.IOException;
@ -19,7 +20,7 @@ import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestRela
public class YouTubeChannelTabExtractorTest { public class YouTubeChannelTabExtractorTest {
private static final String RESOURCE_PATH = DownloaderFactory.RESOURCE_PATH + "services/youtube/extractor/channelTab/"; 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; private static YoutubeChannelTabExtractor extractor;
@BeforeAll @BeforeAll
@ -32,37 +33,54 @@ public class YouTubeChannelTabExtractorTest {
} }
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
} }
@Test
@Override
public void testName() throws Exception {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getName());
}
@Test @Test
public void testTab() { public void testTab() {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getTab()); assertEquals(ChannelTabs.PLAYLISTS, extractor.getTab());
} }
@Test @Test
@Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
assertEquals("UC2DjFE7Xf11URZqWBigcVOQ", extractor.getId()); assertEquals("UC2DjFE7Xf11URZqWBigcVOQ", extractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/playlists", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/playlists", extractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws Exception {
assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/playlists", extractor.getOriginalUrl());
}
@Test
@Override
public void testRelatedItems() throws Exception { public void testRelatedItems() throws Exception {
defaultTestRelatedItems(extractor); defaultTestRelatedItems(extractor);
} }
@Test @Test
@Override
public void testMoreRelatedItems() throws Exception { public void testMoreRelatedItems() throws Exception {
defaultTestMoreItems(extractor); defaultTestMoreItems(extractor);
} }
} }
public static class Channels { public static class Channels implements BaseListExtractorTest {
private static YoutubeChannelTabExtractor extractor; private static YoutubeChannelTabExtractor extractor;
@BeforeAll @BeforeAll
@ -74,37 +92,53 @@ public class YouTubeChannelTabExtractorTest {
} }
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
} }
@Test
@Override
public void testName() throws Exception {
assertEquals(ChannelTabs.CHANNELS, extractor.getName());
}
@Test @Test
public void testTab() { public void testTab() {
assertEquals(ChannelTabs.CHANNELS, extractor.getTab()); assertEquals(ChannelTabs.CHANNELS, extractor.getTab());
} }
@Test @Test
@Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
assertEquals("UC2DjFE7Xf11URZqWBigcVOQ", extractor.getId()); assertEquals("UC2DjFE7Xf11URZqWBigcVOQ", extractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/channels", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UC2DjFE7Xf11URZqWBigcVOQ/channels", extractor.getUrl());
} }
@Override
public void testOriginalUrl() throws Exception {
}
@Test @Test
@Override
public void testRelatedItems() throws Exception { public void testRelatedItems() throws Exception {
defaultTestRelatedItems(extractor); defaultTestRelatedItems(extractor);
} }
@Test @Test
@Override
public void testMoreRelatedItems() throws Exception { public void testMoreRelatedItems() throws Exception {
defaultTestMoreItems(extractor); defaultTestMoreItems(extractor);
} }
} }
public static class Livestreams { public static class Livestreams implements BaseListExtractorTest {
private static YoutubeChannelTabExtractor extractor; private static YoutubeChannelTabExtractor extractor;
@BeforeAll @BeforeAll
@ -116,37 +150,53 @@ public class YouTubeChannelTabExtractorTest {
} }
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
} }
@Test
@Override
public void testName() throws Exception {
assertEquals(ChannelTabs.LIVESTREAMS, extractor.getName());
}
@Test @Test
public void testTab() { public void testTab() {
assertEquals(ChannelTabs.LIVESTREAMS, extractor.getTab()); assertEquals(ChannelTabs.LIVESTREAMS, extractor.getTab());
} }
@Test @Test
@Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
assertEquals("UCR-DXc1voovS8nhAvccRZhg", extractor.getId()); assertEquals("UCR-DXc1voovS8nhAvccRZhg", extractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCR-DXc1voovS8nhAvccRZhg/streams", extractor.getUrl()); 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 @Test
@Override
public void testRelatedItems() throws Exception { public void testRelatedItems() throws Exception {
defaultTestRelatedItems(extractor); defaultTestRelatedItems(extractor);
} }
@Test @Test
@Override
public void testMoreRelatedItems() throws Exception { public void testMoreRelatedItems() throws Exception {
defaultTestMoreItems(extractor); defaultTestMoreItems(extractor);
} }
} }
public static class Shorts { public static class Shorts implements BaseListExtractorTest {
private static YoutubeChannelTabExtractor extractor; private static YoutubeChannelTabExtractor extractor;
@BeforeAll @BeforeAll
@ -158,31 +208,47 @@ public class YouTubeChannelTabExtractorTest {
} }
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
} }
@Override
public void testName() throws Exception {
assertEquals(ChannelTabs.SHORTS, extractor.getName());
}
@Test @Test
public void testTab() { public void testTab() {
assertEquals(ChannelTabs.SHORTS, extractor.getTab()); assertEquals(ChannelTabs.SHORTS, extractor.getTab());
} }
@Test @Test
@Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
assertEquals("UCh8gHdtzO2tXd593_bjErWg", extractor.getId()); assertEquals("UCh8gHdtzO2tXd593_bjErWg", extractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCh8gHdtzO2tXd593_bjErWg/shorts", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCh8gHdtzO2tXd593_bjErWg/shorts", extractor.getUrl());
} }
@Test @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 { public void testRelatedItems() throws Exception {
defaultTestRelatedItems(extractor); defaultTestRelatedItems(extractor);
} }
@Test @Test
@Override
public void testMoreRelatedItems() throws Exception { public void testMoreRelatedItems() throws Exception {
defaultTestMoreItems(extractor); defaultTestMoreItems(extractor);
} }

View File

@ -10,12 +10,10 @@ import org.schabi.newpipe.extractor.channel.ChannelExtractor;
import org.schabi.newpipe.extractor.channel.ChannelTabExtractor; import org.schabi.newpipe.extractor.channel.ChannelTabExtractor;
import org.schabi.newpipe.extractor.exceptions.AccountTerminatedException; import org.schabi.newpipe.extractor.exceptions.AccountTerminatedException;
import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException; 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.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs;
import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest; import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest;
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor; import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor;
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor;
import java.io.IOException; import java.io.IOException;
import java.util.Set; import java.util.Set;
@ -166,29 +164,34 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId());
} }
@Test @Test
@Override
public void testName() throws Exception { public void testName() throws Exception {
assertEquals("Gronkh", extractor.getName()); assertEquals("Gronkh", extractor.getName());
} }
@Test @Test
@Override
public void testId() throws Exception { public void testId() throws Exception {
assertEquals("UCYJ61XIK64sp6ZFFS8sctxw", extractor.getId()); assertEquals("UCYJ61XIK64sp6ZFFS8sctxw", extractor.getId());
assertEquals("UCYJ61XIK64sp6ZFFS8sctxw", tabExtractor.getId()); assertEquals("UCYJ61XIK64sp6ZFFS8sctxw", tabExtractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", extractor.getUrl());
assertEquals("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", tabExtractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", tabExtractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws ParsingException { public void testOriginalUrl() throws ParsingException {
assertEquals("http://www.youtube.com/@Gronkh", extractor.getOriginalUrl()); assertEquals("http://www.youtube.com/@Gronkh", extractor.getOriginalUrl());
assertEquals("/c/gronkh/videos", tabExtractor.getOriginalUrl()); assertEquals("/c/gronkh/videos", tabExtractor.getOriginalUrl());
@ -213,11 +216,13 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testDescription() throws Exception { public void testDescription() throws Exception {
assertContains("Ungebremster Spieltrieb seit 1896.", extractor.getDescription()); assertContains("Ungebremster Spieltrieb seit 1896.", extractor.getDescription());
} }
@Test @Test
@Override
public void testAvatarUrl() throws Exception { public void testAvatarUrl() throws Exception {
String avatarUrl = extractor.getAvatarUrl(); String avatarUrl = extractor.getAvatarUrl();
assertIsSecureUrl(avatarUrl); assertIsSecureUrl(avatarUrl);
@ -225,6 +230,7 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testBannerUrl() throws Exception { public void testBannerUrl() throws Exception {
String bannerUrl = extractor.getBannerUrl(); String bannerUrl = extractor.getBannerUrl();
assertIsSecureUrl(bannerUrl); assertIsSecureUrl(bannerUrl);
@ -232,21 +238,25 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testFeedUrl() throws Exception { public void testFeedUrl() throws Exception {
assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCYJ61XIK64sp6ZFFS8sctxw", extractor.getFeedUrl()); assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCYJ61XIK64sp6ZFFS8sctxw", extractor.getFeedUrl());
} }
@Test @Test
@Override
public void testSubscriberCount() throws Exception { public void testSubscriberCount() throws Exception {
ExtractorAsserts.assertGreaterOrEqual(4_900_000, extractor.getSubscriberCount()); ExtractorAsserts.assertGreaterOrEqual(4_900_000, extractor.getSubscriberCount());
} }
@Test @Test
@Override
public void testVerified() throws Exception { public void testVerified() throws Exception {
assertTrue(extractor.isVerified()); assertTrue(extractor.isVerified());
} }
@Test @Test
@Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() Set<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
@ -279,29 +289,34 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId());
} }
@Test @Test
@Override
public void testName() throws Exception { public void testName() throws Exception {
assertEquals("Vsauce", extractor.getName()); assertEquals("Vsauce", extractor.getName());
} }
@Test @Test
@Override
public void testId() throws Exception { public void testId() throws Exception {
assertEquals("UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getId()); assertEquals("UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getId());
assertEquals("UC6nSFpj9HTCZ5t-N3Rm3-HA", tabExtractor.getId()); assertEquals("UC6nSFpj9HTCZ5t-N3Rm3-HA", tabExtractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { 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", extractor.getUrl());
assertEquals("https://www.youtube.com/channel/UC6nSFpj9HTCZ5t-N3Rm3-HA", tabExtractor.getUrl()); assertEquals("https://www.youtube.com/channel/UC6nSFpj9HTCZ5t-N3Rm3-HA", tabExtractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws ParsingException { public void testOriginalUrl() throws ParsingException {
assertEquals("https://www.youtube.com/user/Vsauce", extractor.getOriginalUrl()); assertEquals("https://www.youtube.com/user/Vsauce", extractor.getOriginalUrl());
assertEquals("/@Vsauce/videos", tabExtractor.getOriginalUrl()); assertEquals("/@Vsauce/videos", tabExtractor.getOriginalUrl());
@ -326,11 +341,13 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testDescription() throws Exception { public void testDescription() throws Exception {
assertContains("Our World is Amazing. \n\nQuestions? Ideas? Tweet me:", extractor.getDescription()); assertContains("Our World is Amazing. \n\nQuestions? Ideas? Tweet me:", extractor.getDescription());
} }
@Test @Test
@Override
public void testAvatarUrl() throws Exception { public void testAvatarUrl() throws Exception {
String avatarUrl = extractor.getAvatarUrl(); String avatarUrl = extractor.getAvatarUrl();
assertIsSecureUrl(avatarUrl); assertIsSecureUrl(avatarUrl);
@ -338,6 +355,7 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testBannerUrl() throws Exception { public void testBannerUrl() throws Exception {
String bannerUrl = extractor.getBannerUrl(); String bannerUrl = extractor.getBannerUrl();
assertIsSecureUrl(bannerUrl); assertIsSecureUrl(bannerUrl);
@ -345,21 +363,25 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testFeedUrl() throws Exception { public void testFeedUrl() throws Exception {
assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getFeedUrl()); assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA", extractor.getFeedUrl());
} }
@Test @Test
@Override
public void testSubscriberCount() throws Exception { public void testSubscriberCount() throws Exception {
ExtractorAsserts.assertGreaterOrEqual(17_000_000, extractor.getSubscriberCount()); ExtractorAsserts.assertGreaterOrEqual(17_000_000, extractor.getSubscriberCount());
} }
@Test @Test
@Override
public void testVerified() throws Exception { public void testVerified() throws Exception {
assertTrue(extractor.isVerified()); assertTrue(extractor.isVerified());
} }
@Test @Test
@Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() Set<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
@ -392,29 +414,34 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId());
} }
@Test @Test
@Override
public void testName() throws Exception { public void testName() throws Exception {
assertTrue(extractor.getName().startsWith("Kurzgesagt")); assertTrue(extractor.getName().startsWith("Kurzgesagt"));
} }
@Test @Test
@Override
public void testId() throws Exception { public void testId() throws Exception {
assertEquals("UCsXVk37bltHxD1rDPwtNM8Q", extractor.getId()); assertEquals("UCsXVk37bltHxD1rDPwtNM8Q", extractor.getId());
assertEquals("UCsXVk37bltHxD1rDPwtNM8Q", tabExtractor.getId()); assertEquals("UCsXVk37bltHxD1rDPwtNM8Q", tabExtractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", extractor.getUrl());
assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", tabExtractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", tabExtractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws ParsingException { public void testOriginalUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", extractor.getOriginalUrl()); assertEquals("https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q", extractor.getOriginalUrl());
assertEquals("/@kurzgesagt/videos", tabExtractor.getOriginalUrl()); assertEquals("/@kurzgesagt/videos", tabExtractor.getOriginalUrl());
@ -439,6 +466,7 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testDescription() throws Exception { public void testDescription() throws Exception {
ExtractorAsserts.assertContains("science", extractor.getDescription()); ExtractorAsserts.assertContains("science", extractor.getDescription());
ExtractorAsserts.assertContains("animators", extractor.getDescription()); ExtractorAsserts.assertContains("animators", extractor.getDescription());
@ -447,6 +475,7 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testAvatarUrl() throws Exception { public void testAvatarUrl() throws Exception {
String avatarUrl = extractor.getAvatarUrl(); String avatarUrl = extractor.getAvatarUrl();
assertIsSecureUrl(avatarUrl); assertIsSecureUrl(avatarUrl);
@ -454,6 +483,7 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testBannerUrl() throws Exception { public void testBannerUrl() throws Exception {
String bannerUrl = extractor.getBannerUrl(); String bannerUrl = extractor.getBannerUrl();
assertIsSecureUrl(bannerUrl); assertIsSecureUrl(bannerUrl);
@ -461,21 +491,25 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testFeedUrl() throws Exception { public void testFeedUrl() throws Exception {
assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCsXVk37bltHxD1rDPwtNM8Q", extractor.getFeedUrl()); assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCsXVk37bltHxD1rDPwtNM8Q", extractor.getFeedUrl());
} }
@Test @Test
@Override
public void testSubscriberCount() throws Exception { public void testSubscriberCount() throws Exception {
ExtractorAsserts.assertGreaterOrEqual(17_000_000, extractor.getSubscriberCount()); ExtractorAsserts.assertGreaterOrEqual(17_000_000, extractor.getSubscriberCount());
} }
@Test @Test
@Override
public void testVerified() throws Exception { public void testVerified() throws Exception {
assertTrue(extractor.isVerified()); assertTrue(extractor.isVerified());
} }
@Test @Test
@Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() Set<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
@ -532,29 +566,34 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId());
} }
@Test @Test
@Override
public void testName() throws Exception { public void testName() throws Exception {
assertEquals("Captain Disillusion", extractor.getName()); assertEquals("Captain Disillusion", extractor.getName());
} }
@Test @Test
@Override
public void testId() throws Exception { public void testId() throws Exception {
assertEquals("UCEOXxzW2vU0P-0THehuIIeg", extractor.getId()); assertEquals("UCEOXxzW2vU0P-0THehuIIeg", extractor.getId());
assertEquals("UCEOXxzW2vU0P-0THehuIIeg", tabExtractor.getId()); assertEquals("UCEOXxzW2vU0P-0THehuIIeg", tabExtractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCEOXxzW2vU0P-0THehuIIeg", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCEOXxzW2vU0P-0THehuIIeg", extractor.getUrl());
assertEquals("https://www.youtube.com/channel/UCEOXxzW2vU0P-0THehuIIeg", tabExtractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCEOXxzW2vU0P-0THehuIIeg", tabExtractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws ParsingException { public void testOriginalUrl() throws ParsingException {
assertEquals("https://www.youtube.com/user/CaptainDisillusion/videos", extractor.getOriginalUrl()); assertEquals("https://www.youtube.com/user/CaptainDisillusion/videos", extractor.getOriginalUrl());
assertEquals("/@CaptainDisillusion/videos", tabExtractor.getOriginalUrl()); assertEquals("/@CaptainDisillusion/videos", tabExtractor.getOriginalUrl());
@ -579,11 +618,13 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testDescription() throws Exception { public void testDescription() throws Exception {
ExtractorAsserts.assertContains("In a world where", extractor.getDescription()); ExtractorAsserts.assertContains("In a world where", extractor.getDescription());
} }
@Test @Test
@Override
public void testAvatarUrl() throws Exception { public void testAvatarUrl() throws Exception {
String avatarUrl = extractor.getAvatarUrl(); String avatarUrl = extractor.getAvatarUrl();
assertIsSecureUrl(avatarUrl); assertIsSecureUrl(avatarUrl);
@ -591,6 +632,7 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testBannerUrl() throws Exception { public void testBannerUrl() throws Exception {
String bannerUrl = extractor.getBannerUrl(); String bannerUrl = extractor.getBannerUrl();
assertIsSecureUrl(bannerUrl); assertIsSecureUrl(bannerUrl);
@ -598,21 +640,25 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testFeedUrl() throws Exception { public void testFeedUrl() throws Exception {
assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCEOXxzW2vU0P-0THehuIIeg", extractor.getFeedUrl()); assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCEOXxzW2vU0P-0THehuIIeg", extractor.getFeedUrl());
} }
@Test @Test
@Override
public void testSubscriberCount() throws Exception { public void testSubscriberCount() throws Exception {
ExtractorAsserts.assertGreaterOrEqual(2_000_000, extractor.getSubscriberCount()); ExtractorAsserts.assertGreaterOrEqual(2_000_000, extractor.getSubscriberCount());
} }
@Test @Test
@Override
public void testVerified() throws Exception { public void testVerified() throws Exception {
assertTrue(extractor.isVerified()); assertTrue(extractor.isVerified());
} }
@Test @Test
@Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() Set<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
@ -643,29 +689,34 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId());
} }
@Test @Test
@Override
public void testName() throws Exception { public void testName() throws Exception {
assertEquals("random channel", extractor.getName()); assertEquals("random channel", extractor.getName());
} }
@Test @Test
@Override
public void testId() throws Exception { public void testId() throws Exception {
assertEquals("UCUaQMQS9lY5lit3vurpXQ6w", extractor.getId()); assertEquals("UCUaQMQS9lY5lit3vurpXQ6w", extractor.getId());
assertEquals("UCUaQMQS9lY5lit3vurpXQ6w", tabExtractor.getId()); assertEquals("UCUaQMQS9lY5lit3vurpXQ6w", tabExtractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", extractor.getUrl());
assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", tabExtractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", tabExtractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws ParsingException { public void testOriginalUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", extractor.getOriginalUrl()); assertEquals("https://www.youtube.com/channel/UCUaQMQS9lY5lit3vurpXQ6w", extractor.getOriginalUrl());
assertEquals("/channel/UCUaQMQS9lY5lit3vurpXQ6w/videos", tabExtractor.getOriginalUrl()); assertEquals("/channel/UCUaQMQS9lY5lit3vurpXQ6w/videos", tabExtractor.getOriginalUrl());
@ -696,11 +747,13 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testDescription() throws Exception { public void testDescription() throws Exception {
ExtractorAsserts.assertContains("Hey there iu will upoload a load of pranks onto this channel", extractor.getDescription()); ExtractorAsserts.assertContains("Hey there iu will upoload a load of pranks onto this channel", extractor.getDescription());
} }
@Test @Test
@Override
public void testAvatarUrl() throws Exception { public void testAvatarUrl() throws Exception {
String avatarUrl = extractor.getAvatarUrl(); String avatarUrl = extractor.getAvatarUrl();
assertIsSecureUrl(avatarUrl); assertIsSecureUrl(avatarUrl);
@ -708,6 +761,7 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testBannerUrl() throws Exception { public void testBannerUrl() throws Exception {
String bannerUrl = extractor.getBannerUrl(); String bannerUrl = extractor.getBannerUrl();
assertIsSecureUrl(bannerUrl); assertIsSecureUrl(bannerUrl);
@ -715,21 +769,25 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testFeedUrl() throws Exception { public void testFeedUrl() throws Exception {
assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCUaQMQS9lY5lit3vurpXQ6w", extractor.getFeedUrl()); assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCUaQMQS9lY5lit3vurpXQ6w", extractor.getFeedUrl());
} }
@Test @Test
@Override
public void testSubscriberCount() throws Exception { public void testSubscriberCount() throws Exception {
ExtractorAsserts.assertGreaterOrEqual(50, extractor.getSubscriberCount()); ExtractorAsserts.assertGreaterOrEqual(50, extractor.getSubscriberCount());
} }
@Test @Test
@Override
public void testVerified() throws Exception { public void testVerified() throws Exception {
assertFalse(extractor.isVerified()); assertFalse(extractor.isVerified());
} }
@Test @Test
@Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() Set<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
@ -760,29 +818,34 @@ public class YoutubeChannelExtractorTest {
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Test @Test
@Override
public void testServiceId() { public void testServiceId() {
assertEquals(YouTube.getServiceId(), extractor.getServiceId()); assertEquals(YouTube.getServiceId(), extractor.getServiceId());
assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId()); assertEquals(YouTube.getServiceId(), tabExtractor.getServiceId());
} }
@Test @Test
@Override
public void testName() throws Exception { public void testName() throws Exception {
assertEquals(extractor.getName(), "Coachella"); assertEquals(extractor.getName(), "Coachella");
} }
@Test @Test
@Override
public void testId() throws Exception { public void testId() throws Exception {
assertEquals("UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getId()); assertEquals("UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getId());
assertEquals("UCHF66aWLOxBW4l6VkSrS3cQ", tabExtractor.getId()); assertEquals("UCHF66aWLOxBW4l6VkSrS3cQ", tabExtractor.getId());
} }
@Test @Test
@Override
public void testUrl() throws ParsingException { public void testUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getUrl());
assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", tabExtractor.getUrl()); assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", tabExtractor.getUrl());
} }
@Test @Test
@Override
public void testOriginalUrl() throws ParsingException { public void testOriginalUrl() throws ParsingException {
assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getOriginalUrl()); assertEquals("https://www.youtube.com/channel/UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getOriginalUrl());
assertEquals("/@Coachella/videos", tabExtractor.getOriginalUrl()); assertEquals("/@Coachella/videos", tabExtractor.getOriginalUrl());
@ -802,14 +865,15 @@ public class YoutubeChannelExtractorTest {
defaultTestMoreItems(tabExtractor); defaultTestMoreItems(tabExtractor);
} }
/*////////////////////////////////////////////////////////////////////////// /*//////////////////////////////////////////////////////////////////////////
// ChannelExtractor // ChannelExtractor
//////////////////////////////////////////////////////////////////////////*/ //////////////////////////////////////////////////////////////////////////*/
@Override @Override
public void testDescription() { public void testDescription() {
} }
@Test @Test
@Override
public void testAvatarUrl() throws Exception { public void testAvatarUrl() throws Exception {
String avatarUrl = extractor.getAvatarUrl(); String avatarUrl = extractor.getAvatarUrl();
assertIsSecureUrl(avatarUrl); assertIsSecureUrl(avatarUrl);
@ -817,26 +881,31 @@ public class YoutubeChannelExtractorTest {
} }
@Test @Test
@Override
public void testBannerUrl() throws Exception { public void testBannerUrl() throws Exception {
// CarouselHeaderRender does not contain a banner // CarouselHeaderRender does not contain a banner
} }
@Test @Test
@Override
public void testFeedUrl() throws Exception { public void testFeedUrl() throws Exception {
assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getFeedUrl()); assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCHF66aWLOxBW4l6VkSrS3cQ", extractor.getFeedUrl());
} }
@Test @Test
@Override
public void testSubscriberCount() throws Exception { public void testSubscriberCount() throws Exception {
ExtractorAsserts.assertGreaterOrEqual(2_900_000, extractor.getSubscriberCount()); ExtractorAsserts.assertGreaterOrEqual(2_900_000, extractor.getSubscriberCount());
} }
@Test @Test
@Override
public void testVerified() throws Exception { public void testVerified() throws Exception {
assertTrue(extractor.isVerified()); assertTrue(extractor.isVerified());
} }
@Test @Test
@Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() Set<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); .map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());