Skip to content

Commit 865a00a

Browse files
evermind-zzStypox
authored andcommitted
searchfilters: Test: adjust SoundCloud tests
1 parent 806c72f commit 865a00a

2 files changed

Lines changed: 62 additions & 26 deletions

File tree

extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/search/SoundcloudSearchExtractorTest.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
import static org.junit.jupiter.api.Assertions.assertTrue;
55
import static org.schabi.newpipe.extractor.ServiceList.SoundCloud;
66
import static org.schabi.newpipe.extractor.services.DefaultTests.assertNoDuplicatedItems;
7-
import static org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudSearchQueryHandlerFactory.PLAYLISTS;
8-
import static org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudSearchQueryHandlerFactory.TRACKS;
9-
import static org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudSearchQueryHandlerFactory.USERS;
107
import static java.util.Collections.singletonList;
118

129
import org.junit.jupiter.api.BeforeAll;
@@ -19,7 +16,9 @@
1916
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
2017
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
2118
import org.schabi.newpipe.extractor.search.SearchExtractor;
19+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
2220
import org.schabi.newpipe.extractor.services.DefaultSearchExtractorTest;
21+
import org.schabi.newpipe.extractor.services.soundcloud.search.filter.SoundcloudFilters;
2322
import org.schabi.newpipe.extractor.utils.Utils;
2423

2524
import java.io.IOException;
@@ -60,7 +59,9 @@ public static class Tracks extends DefaultSearchExtractorTest {
6059
@BeforeAll
6160
public static void setUp() throws Exception {
6261
NewPipe.init(DownloaderTestImpl.getInstance());
63-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(TRACKS), "");
62+
final FilterItem item = getFilterItem(
63+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_TRACKS);
64+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
6465
extractor.fetchPage();
6566
}
6667

@@ -84,7 +85,9 @@ public static class Users extends DefaultSearchExtractorTest {
8485
@BeforeAll
8586
public static void setUp() throws Exception {
8687
NewPipe.init(DownloaderTestImpl.getInstance());
87-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(USERS), "");
88+
final FilterItem item = getFilterItem(
89+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_USERS);
90+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
8891
extractor.fetchPage();
8992
}
9093

@@ -108,7 +111,9 @@ public static class Playlists extends DefaultSearchExtractorTest {
108111
@BeforeAll
109112
public static void setUp() throws Exception {
110113
NewPipe.init(DownloaderTestImpl.getInstance());
111-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(PLAYLISTS), "");
114+
final FilterItem item = getFilterItem(
115+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_PLAYLISTS);
116+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
112117
extractor.fetchPage();
113118
}
114119

@@ -129,7 +134,9 @@ public static class PagingTest {
129134
@Test
130135
public void duplicatedItemsCheck() throws Exception {
131136
NewPipe.init(DownloaderTestImpl.getInstance());
132-
final SearchExtractor extractor = SoundCloud.getSearchExtractor("cirque du soleil", singletonList(TRACKS), "");
137+
final FilterItem item = DefaultSearchExtractorTest.getFilterItem(
138+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_TRACKS);
139+
final SearchExtractor extractor = SoundCloud.getSearchExtractor("cirque du soleil", singletonList(item), null);
133140
extractor.fetchPage();
134141

135142
final InfoItemsPage<InfoItem> page1 = extractor.getInitialPage();
@@ -154,7 +161,9 @@ public static class UserVerified extends DefaultSearchExtractorTest {
154161
@BeforeAll
155162
public static void setUp() throws Exception {
156163
NewPipe.init(DownloaderTestImpl.getInstance());
157-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(USERS), "");
164+
final FilterItem item = getFilterItem(
165+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_USERS);
166+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
158167
extractor.fetchPage();
159168
}
160169

extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/search/SoundcloudSearchQHTest.java

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
import org.junit.jupiter.api.Test;
55
import org.schabi.newpipe.downloader.DownloaderTestImpl;
66
import org.schabi.newpipe.extractor.NewPipe;
7+
import org.schabi.newpipe.extractor.search.filter.FilterContainer;
8+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
9+
import org.schabi.newpipe.extractor.services.DefaultSearchExtractorTest;
10+
import org.schabi.newpipe.extractor.services.soundcloud.search.filter.SoundcloudFilters;
711

8-
import static java.util.Arrays.asList;
12+
import static java.util.Collections.singletonList;
913
import static org.junit.jupiter.api.Assertions.assertEquals;
1014
import static org.schabi.newpipe.extractor.ServiceList.SoundCloud;
11-
import static org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudSearchQueryHandlerFactory.*;
1215

1316
public class SoundcloudSearchQHTest {
1417

@@ -38,37 +41,61 @@ public void testRegularValues() throws Exception {
3841

3942
@Test
4043
public void testGetContentFilter() throws Exception {
41-
assertEquals("tracks", SoundCloud.getSearchQHFactory()
42-
.fromQuery("", asList(new String[]{"tracks"}), "").getContentFilters().get(0));
43-
assertEquals("users", SoundCloud.getSearchQHFactory()
44-
.fromQuery("asdf", asList(new String[]{"users"}), "").getContentFilters().get(0));
44+
final FilterItem trackFilterItem = DefaultSearchExtractorTest.getFilterItem(
45+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_TRACKS);
46+
final FilterItem usersFilterItem = DefaultSearchExtractorTest.getFilterItem(
47+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_USERS);
48+
49+
assertEquals(SoundcloudFilters.ID_CF_MAIN_TRACKS, SoundCloud.getSearchQHFactory()
50+
.fromQuery("", singletonList(trackFilterItem), null)
51+
.getContentFilters().get(0).getIdentifier());
52+
assertEquals(SoundcloudFilters.ID_CF_MAIN_USERS, SoundCloud.getSearchQHFactory()
53+
.fromQuery("asdf", singletonList(usersFilterItem), null)
54+
.getContentFilters().get(0).getIdentifier());
4555
}
4656

4757
@Test
4858
public void testWithContentfilter() throws Exception {
59+
final FilterItem trackFilterItem = DefaultSearchExtractorTest.getFilterItem(
60+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_TRACKS);
61+
final FilterItem usersFilterItem = DefaultSearchExtractorTest.getFilterItem(
62+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_USERS);
63+
final FilterItem playlistsFilterItem = DefaultSearchExtractorTest.getFilterItem(
64+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_PLAYLISTS);
65+
4966
assertEquals("https://api-v2.soundcloud.com/search/tracks?q=asdf&limit=10&offset=0", removeClientId(SoundCloud.getSearchQHFactory()
50-
.fromQuery("asdf", asList(new String[]{TRACKS}), "").getUrl()));
67+
.fromQuery("asdf", singletonList(trackFilterItem), null).getUrl()));
5168
assertEquals("https://api-v2.soundcloud.com/search/users?q=asdf&limit=10&offset=0", removeClientId(SoundCloud.getSearchQHFactory()
52-
.fromQuery("asdf", asList(new String[]{USERS}), "").getUrl()));
69+
.fromQuery("asdf", singletonList(usersFilterItem), null).getUrl()));
5370
assertEquals("https://api-v2.soundcloud.com/search/playlists?q=asdf&limit=10&offset=0", removeClientId(SoundCloud.getSearchQHFactory()
54-
.fromQuery("asdf", asList(new String[]{PLAYLISTS}), "").getUrl()));
71+
.fromQuery("asdf", singletonList(playlistsFilterItem), null).getUrl()));
5572
assertEquals("https://api-v2.soundcloud.com/search?q=asdf&limit=10&offset=0", removeClientId(SoundCloud.getSearchQHFactory()
56-
.fromQuery("asdf", asList(new String[]{"fjiijie"}), "").getUrl()));
73+
.fromQuery("asdf", singletonList(null), null).getUrl()));
5774
}
5875

5976
@Test
6077
public void testGetAvailableContentFilter() {
61-
final String[] contentFilter = SoundCloud.getSearchQHFactory().getAvailableContentFilter();
62-
assertEquals(4, contentFilter.length);
63-
assertEquals("all", contentFilter[0]);
64-
assertEquals("tracks", contentFilter[1]);
65-
assertEquals("users", contentFilter[2]);
66-
assertEquals("playlists", contentFilter[3]);
78+
final FilterContainer contentFilter =
79+
SoundCloud.getSearchQHFactory().getAvailableContentFilter();
80+
final int noOfContentFilters = DefaultSearchExtractorTest.getNoOfFilterItems(contentFilter);
81+
82+
assertEquals(4, noOfContentFilters);
83+
assertEquals(SoundcloudFilters.ID_CF_MAIN_ALL,
84+
contentFilter.getFilterGroups()[0].getFilterItems()[0].getIdentifier());
85+
assertEquals(SoundcloudFilters.ID_CF_MAIN_TRACKS,
86+
contentFilter.getFilterGroups()[0].getFilterItems()[1].getIdentifier());
87+
assertEquals(SoundcloudFilters.ID_CF_MAIN_USERS,
88+
contentFilter.getFilterGroups()[0].getFilterItems()[2].getIdentifier());
89+
assertEquals(SoundcloudFilters.ID_CF_MAIN_PLAYLISTS,
90+
contentFilter.getFilterGroups()[0].getFilterItems()[3].getIdentifier());
6791
}
6892

6993
@Test
7094
public void testGetAvailableSortFilter() {
71-
final String[] contentFilter = SoundCloud.getSearchQHFactory().getAvailableSortFilter();
72-
assertEquals(0, contentFilter.length);
95+
final FilterContainer contentFilterContainer =
96+
SoundCloud.getSearchQHFactory().getAvailableContentFilter();
97+
final int noOfSortFilters =
98+
DefaultSearchExtractorTest.getNoOfSortFilterItems(contentFilterContainer);
99+
assertEquals(13, noOfSortFilters);
73100
}
74101
}

0 commit comments

Comments
 (0)