Skip to content

Commit 97c9b60

Browse files
committed
searchfilters: Test: adjust SoundCloud tests
1 parent cb23dfb commit 97c9b60

File tree

2 files changed

+62
-24
lines changed

2 files changed

+62
-24
lines changed

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

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
1111
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
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;
15+
import org.schabi.newpipe.extractor.services.soundcloud.search.filter.SoundcloudFilters;
1416

1517
import javax.annotation.Nullable;
1618
import java.io.IOException;
@@ -22,7 +24,6 @@
2224
import static org.junit.jupiter.api.Assertions.assertTrue;
2325
import static org.schabi.newpipe.extractor.ServiceList.SoundCloud;
2426
import static org.schabi.newpipe.extractor.services.DefaultTests.assertNoDuplicatedItems;
25-
import static org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudSearchQueryHandlerFactory.*;
2627
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
2728

2829
public class SoundcloudSearchExtractorTest {
@@ -57,7 +58,9 @@ public static class Tracks extends DefaultSearchExtractorTest {
5758
@BeforeAll
5859
public static void setUp() throws Exception {
5960
NewPipe.init(DownloaderTestImpl.getInstance());
60-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(TRACKS), "");
61+
final FilterItem item = getFilterItem(
62+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_TRACKS);
63+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
6164
extractor.fetchPage();
6265
}
6366

@@ -81,7 +84,9 @@ public static class Users extends DefaultSearchExtractorTest {
8184
@BeforeAll
8285
public static void setUp() throws Exception {
8386
NewPipe.init(DownloaderTestImpl.getInstance());
84-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(USERS), "");
87+
final FilterItem item = getFilterItem(
88+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_USERS);
89+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
8590
extractor.fetchPage();
8691
}
8792

@@ -105,7 +110,9 @@ public static class Playlists extends DefaultSearchExtractorTest {
105110
@BeforeAll
106111
public static void setUp() throws Exception {
107112
NewPipe.init(DownloaderTestImpl.getInstance());
108-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(PLAYLISTS), "");
113+
final FilterItem item = getFilterItem(
114+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_PLAYLISTS);
115+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
109116
extractor.fetchPage();
110117
}
111118

@@ -126,7 +133,9 @@ public static class PagingTest {
126133
@Test
127134
public void duplicatedItemsCheck() throws Exception {
128135
NewPipe.init(DownloaderTestImpl.getInstance());
129-
final SearchExtractor extractor = SoundCloud.getSearchExtractor("cirque du soleil", singletonList(TRACKS), "");
136+
final FilterItem item = DefaultSearchExtractorTest.getFilterItem(
137+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_TRACKS);
138+
final SearchExtractor extractor = SoundCloud.getSearchExtractor("cirque du soleil", singletonList(item), null);
130139
extractor.fetchPage();
131140

132141
final InfoItemsPage<InfoItem> page1 = extractor.getInitialPage();
@@ -151,7 +160,9 @@ public static class UserVerified extends DefaultSearchExtractorTest {
151160
@BeforeAll
152161
public static void setUp() throws Exception {
153162
NewPipe.init(DownloaderTestImpl.getInstance());
154-
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(USERS), "");
163+
final FilterItem item = getFilterItem(
164+
SoundCloud, SoundcloudFilters.ID_CF_MAIN_USERS);
165+
extractor = SoundCloud.getSearchExtractor(QUERY, singletonList(item), null);
155166
extractor.fetchPage();
156167
}
157168

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)