Skip to content

Commit b147904

Browse files
committed
[YouTube] Add test for interactiveTabbedHeaderRenderer channel header
This test uses the Minecraft game topic channel.
1 parent 1852031 commit b147904

1 file changed

Lines changed: 108 additions & 0 deletions

File tree

extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import static org.junit.jupiter.api.Assertions.assertTrue;
88
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertContains;
99
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertIsSecureUrl;
10+
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertNotBlank;
1011
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertTabsContain;
1112
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
1213
import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestGetPageInNewExtractor;
@@ -710,8 +711,10 @@ public void testOriginalUrl() throws ParsingException {
710711
// ChannelExtractor
711712
//////////////////////////////////////////////////////////////////////////*/
712713

714+
@Test
713715
@Override
714716
public void testDescription() throws ParsingException {
717+
assertNotBlank(extractor.getDescription());
715718
}
716719

717720
@Test
@@ -885,4 +888,109 @@ public void testTags() throws Exception {
885888
assertTrue(extractor.getTags().isEmpty());
886889
}
887890
}
891+
892+
static class InteractiveTabbedHeader implements BaseChannelExtractorTest {
893+
894+
private static ChannelExtractor extractor;
895+
896+
@BeforeAll
897+
static void setUp() throws Exception {
898+
YoutubeTestsUtils.ensureStateless();
899+
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "interactiveTabbedHeader"));
900+
extractor = YouTube.getChannelExtractor(
901+
"https://www.youtube.com/channel/UCQvWX73GQygcwXOTSf_VDVg");
902+
extractor.fetchPage();
903+
}
904+
905+
@Test
906+
@Override
907+
public void testDescription() throws Exception {
908+
final String description = extractor.getDescription();
909+
assertContains("Minecraft", description);
910+
assertContains("game", description);
911+
assertContains("Mojang", description);
912+
}
913+
914+
@Test
915+
@Override
916+
public void testAvatarUrl() throws Exception {
917+
final String avatarUrl = extractor.getAvatarUrl();
918+
assertIsSecureUrl(avatarUrl);
919+
assertContains("yt3", avatarUrl);
920+
}
921+
922+
@Test
923+
@Override
924+
public void testBannerUrl() throws Exception {
925+
final String bannerUrl = extractor.getBannerUrl();
926+
assertIsSecureUrl(bannerUrl);
927+
assertContains("yt3", bannerUrl);
928+
}
929+
930+
@Test
931+
@Override
932+
public void testFeedUrl() throws Exception {
933+
assertEquals(
934+
"https://www.youtube.com/feeds/videos.xml?channel_id=UCQvWX73GQygcwXOTSf_VDVg",
935+
extractor.getFeedUrl());
936+
}
937+
938+
@Test
939+
@Override
940+
public void testSubscriberCount() throws Exception {
941+
// Subscriber count is not available on channels with an interactiveTabbedHeaderRenderer
942+
assertEquals(ChannelExtractor.UNKNOWN_SUBSCRIBER_COUNT, extractor.getSubscriberCount());
943+
}
944+
945+
@Test
946+
@Override
947+
public void testVerified() throws Exception {
948+
assertTrue(extractor.isVerified());
949+
}
950+
951+
@Test
952+
@Override
953+
public void testTabs() throws Exception {
954+
// Gaming topic channels tabs are not yet supported, so an empty list should be returned
955+
assertTrue(extractor.getTabs().isEmpty());
956+
}
957+
958+
@Test
959+
@Override
960+
public void testTags() throws Exception {
961+
assertTrue(extractor.getTags().isEmpty());
962+
}
963+
964+
@Test
965+
@Override
966+
public void testServiceId() throws Exception {
967+
assertEquals(YouTube.getServiceId(), extractor.getServiceId());
968+
}
969+
970+
@Test
971+
@Override
972+
public void testName() throws Exception {
973+
assertContains("Minecraft", extractor.getName());
974+
}
975+
976+
@Test
977+
@Override
978+
public void testId() throws Exception {
979+
assertEquals("UCQvWX73GQygcwXOTSf_VDVg", extractor.getId());
980+
}
981+
982+
@Test
983+
@Override
984+
public void testUrl() throws Exception {
985+
assertEquals("https://www.youtube.com/channel/UCQvWX73GQygcwXOTSf_VDVg",
986+
extractor.getUrl());
987+
}
988+
989+
@Test
990+
@Override
991+
public void testOriginalUrl() throws Exception {
992+
assertEquals("https://www.youtube.com/channel/UCQvWX73GQygcwXOTSf_VDVg",
993+
extractor.getOriginalUrl());
994+
}
995+
}
888996
}

0 commit comments

Comments
 (0)