Skip to content

Commit 168198b

Browse files
committed
searchfilters: Test: adjust and extend YouTube tests
1 parent 10d5cd9 commit 168198b

4 files changed

Lines changed: 375 additions & 58 deletions

File tree

extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeMusicSearchExtractorTest.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
import org.schabi.newpipe.extractor.NewPipe;
1111
import org.schabi.newpipe.extractor.StreamingService;
1212
import org.schabi.newpipe.extractor.search.SearchExtractor;
13+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
1314
import org.schabi.newpipe.extractor.services.DefaultSearchExtractorTest;
1415
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory;
16+
import org.schabi.newpipe.extractor.services.youtube.search.filter.YoutubeFilters;
1517

1618
import java.net.URLEncoder;
1719

@@ -26,7 +28,9 @@ public static class MusicSongs extends DefaultSearchExtractorTest {
2628
@BeforeAll
2729
public static void setUp() throws Exception {
2830
NewPipe.init(DownloaderTestImpl.getInstance());
29-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_SONGS), "");
31+
final FilterItem item =
32+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_SONGS);
33+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
3034
extractor.fetchPage();
3135
}
3236

@@ -48,7 +52,9 @@ public static class MusicVideos extends DefaultSearchExtractorTest {
4852
@BeforeAll
4953
public static void setUp() throws Exception {
5054
NewPipe.init(DownloaderTestImpl.getInstance());
51-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_VIDEOS), "");
55+
final FilterItem item =
56+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_VIDEOS);
57+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
5258
extractor.fetchPage();
5359
}
5460

@@ -70,7 +76,9 @@ public static class MusicAlbums extends DefaultSearchExtractorTest {
7076
@BeforeAll
7177
public static void setUp() throws Exception {
7278
NewPipe.init(DownloaderTestImpl.getInstance());
73-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_ALBUMS), "");
79+
final FilterItem item =
80+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_ALBUMS);
81+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
7482
extractor.fetchPage();
7583
}
7684

@@ -92,7 +100,9 @@ public static class MusicPlaylists extends DefaultSearchExtractorTest {
92100
@BeforeAll
93101
public static void setUp() throws Exception {
94102
NewPipe.init(DownloaderTestImpl.getInstance());
95-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_PLAYLISTS), "");
103+
final FilterItem item =
104+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_PLAYLISTS);
105+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
96106
extractor.fetchPage();
97107
}
98108

@@ -115,7 +125,9 @@ public static class MusicArtists extends DefaultSearchExtractorTest {
115125
@BeforeAll
116126
public static void setUp() throws Exception {
117127
NewPipe.init(DownloaderTestImpl.getInstance());
118-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_ARTISTS), "");
128+
final FilterItem item =
129+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_ARTISTS);
130+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
119131
extractor.fetchPage();
120132
}
121133

@@ -139,7 +151,9 @@ public static class Suggestion extends DefaultSearchExtractorTest {
139151
@BeforeAll
140152
public static void setUp() throws Exception {
141153
NewPipe.init(DownloaderTestImpl.getInstance());
142-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_SONGS), "");
154+
final FilterItem item =
155+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_SONGS);
156+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
143157
extractor.fetchPage();
144158
}
145159

@@ -163,7 +177,9 @@ public static class CorrectedSearch extends DefaultSearchExtractorTest {
163177
@BeforeAll
164178
public static void setUp() throws Exception {
165179
NewPipe.init(DownloaderTestImpl.getInstance());
166-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(YoutubeSearchQueryHandlerFactory.MUSIC_SONGS), "");
180+
final FilterItem item =
181+
getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_YOUTUBE_MUSIC_SONGS);
182+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
167183
extractor.fetchPage();
168184
}
169185

extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeSearchExtractorTest.java

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmptyErrors;
88
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
99
import static org.schabi.newpipe.extractor.services.DefaultTests.assertNoDuplicatedItems;
10-
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.CHANNELS;
11-
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.PLAYLISTS;
12-
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.VIDEOS;
1310
import static java.util.Collections.singletonList;
1411

1512
import org.junit.jupiter.api.BeforeAll;
@@ -24,8 +21,10 @@
2421
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
2522
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
2623
import org.schabi.newpipe.extractor.search.SearchExtractor;
24+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
2725
import org.schabi.newpipe.extractor.services.DefaultSearchExtractorTest;
2826
import org.schabi.newpipe.extractor.services.youtube.YoutubeTestsUtils;
27+
import org.schabi.newpipe.extractor.services.youtube.search.filter.YoutubeFilters;
2928
import org.schabi.newpipe.extractor.stream.Description;
3029
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
3130

@@ -73,7 +72,8 @@ public static class Channel extends DefaultSearchExtractorTest {
7372
public static void setUp() throws Exception {
7473
YoutubeTestsUtils.ensureStateless();
7574
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "channel"));
76-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(CHANNELS), "");
75+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_CHANNELS);
76+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
7777
extractor.fetchPage();
7878
}
7979

@@ -97,7 +97,8 @@ public static class Playlists extends DefaultSearchExtractorTest {
9797
public static void setUp() throws Exception {
9898
YoutubeTestsUtils.ensureStateless();
9999
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "playlist"));
100-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(PLAYLISTS), "");
100+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_PLAYLISTS);
101+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
101102
extractor.fetchPage();
102103
}
103104

@@ -121,7 +122,8 @@ public static class Videos extends DefaultSearchExtractorTest {
121122
public static void setUp() throws Exception {
122123
YoutubeTestsUtils.ensureStateless();
123124
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "videos"));
124-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(VIDEOS), "");
125+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
126+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
125127
extractor.fetchPage();
126128
}
127129

@@ -153,7 +155,8 @@ public static class Suggestion extends DefaultSearchExtractorTest {
153155
public static void setUp() throws Exception {
154156
YoutubeTestsUtils.ensureStateless();
155157
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "suggestions"));
156-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(VIDEOS), "");
158+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
159+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
157160
extractor.fetchPage();
158161
}
159162

@@ -180,7 +183,8 @@ public static class CorrectedSearch extends DefaultSearchExtractorTest {
180183
public static void setUp() throws Exception {
181184
YoutubeTestsUtils.ensureStateless();
182185
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "corrected"));
183-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(VIDEOS), "");
186+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
187+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
184188
extractor.fetchPage();
185189
}
186190

@@ -239,7 +243,10 @@ public static class PagingTest {
239243
public void duplicatedItemsCheck() throws Exception {
240244
YoutubeTestsUtils.ensureStateless();
241245
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "paging"));
242-
final SearchExtractor extractor = YouTube.getSearchExtractor("cirque du soleil", singletonList(VIDEOS), "");
246+
247+
final FilterItem item = DefaultSearchExtractorTest.getFilterItem(
248+
YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
249+
final SearchExtractor extractor = YouTube.getSearchExtractor("cirque du soleil", singletonList(item), null);
243250
extractor.fetchPage();
244251

245252
final ListExtractor.InfoItemsPage<InfoItem> page1 = extractor.getInitialPage();
@@ -257,7 +264,8 @@ public static class MetaInfoTest extends DefaultSearchExtractorTest {
257264
public static void setUp() throws Exception {
258265
YoutubeTestsUtils.ensureStateless();
259266
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "metaInfo"));
260-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(VIDEOS), "");
267+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
268+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
261269
extractor.fetchPage();
262270
}
263271

@@ -292,7 +300,9 @@ public static class ChannelVerified extends DefaultSearchExtractorTest {
292300
public static void setUp() throws Exception {
293301
YoutubeTestsUtils.ensureStateless();
294302
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "verified"));
295-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(CHANNELS), "");
303+
304+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_CHANNELS);
305+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
296306
extractor.fetchPage();
297307
}
298308

@@ -329,7 +339,8 @@ public static class VideoUploaderAvatar extends DefaultSearchExtractorTest {
329339
public static void setUp() throws Exception {
330340
YoutubeTestsUtils.ensureStateless();
331341
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "video_uploader_avatar"));
332-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(VIDEOS), "");
342+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
343+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
333344
extractor.fetchPage();
334345
}
335346

@@ -360,7 +371,8 @@ public static class VideoDescription extends DefaultSearchExtractorTest {
360371
public static void setUp() throws Exception {
361372
YoutubeTestsUtils.ensureStateless();
362373
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "video_description"));
363-
extractor = YouTube.getSearchExtractor(QUERY, singletonList(VIDEOS), "");
374+
final FilterItem item = getFilterItem(YouTube, YoutubeFilters.ID_CF_MAIN_VIDEOS);
375+
extractor = YouTube.getSearchExtractor(QUERY, singletonList(item), null);
364376
extractor.fetchPage();
365377
}
366378

0 commit comments

Comments
 (0)