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.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);
}

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.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<String> 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<String> 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<String> 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<String> 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<String> 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<String> tabs = extractor.getTabs().stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());