2017-08-08 08:42:28 +02:00
|
|
|
|
package org.schabi.newpipe.extractor.services.soundcloud;
|
|
|
|
|
|
2017-12-07 02:09:46 +01:00
|
|
|
|
import org.junit.BeforeClass;
|
2021-01-15 20:11:40 +01:00
|
|
|
|
import org.junit.Ignore;
|
2017-08-08 08:42:28 +02:00
|
|
|
|
import org.junit.Test;
|
2020-12-15 15:09:49 +01:00
|
|
|
|
import org.schabi.newpipe.downloader.DownloaderTestImpl;
|
2018-03-04 21:26:13 +01:00
|
|
|
|
import org.schabi.newpipe.extractor.ListExtractor;
|
2017-08-08 08:42:28 +02:00
|
|
|
|
import org.schabi.newpipe.extractor.NewPipe;
|
|
|
|
|
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
|
2018-03-04 21:26:13 +01:00
|
|
|
|
import org.schabi.newpipe.extractor.services.BasePlaylistExtractorTest;
|
2020-04-10 10:51:05 +02:00
|
|
|
|
import org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudPlaylistExtractor;
|
2018-03-11 21:54:41 +01:00
|
|
|
|
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2020-03-17 21:03:50 +01:00
|
|
|
|
import static org.hamcrest.CoreMatchers.*;
|
2017-08-08 17:01:50 +02:00
|
|
|
|
import static org.junit.Assert.*;
|
2018-01-04 17:21:03 +01:00
|
|
|
|
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertIsSecureUrl;
|
2017-08-08 17:01:50 +02:00
|
|
|
|
import static org.schabi.newpipe.extractor.ServiceList.SoundCloud;
|
2018-03-04 22:22:27 +01:00
|
|
|
|
import static org.schabi.newpipe.extractor.services.DefaultTests.*;
|
2017-08-08 17:01:50 +02:00
|
|
|
|
|
2017-08-08 08:42:28 +02:00
|
|
|
|
/**
|
|
|
|
|
* Test for {@link PlaylistExtractor}
|
|
|
|
|
*/
|
|
|
|
|
public class SoundcloudPlaylistExtractorTest {
|
2018-03-04 21:26:13 +01:00
|
|
|
|
public static class LuvTape implements BasePlaylistExtractorTest {
|
|
|
|
|
private static SoundcloudPlaylistExtractor extractor;
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@BeforeClass
|
|
|
|
|
public static void setUp() throws Exception {
|
2019-04-28 22:03:16 +02:00
|
|
|
|
NewPipe.init(DownloaderTestImpl.getInstance());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
extractor = (SoundcloudPlaylistExtractor) SoundCloud
|
|
|
|
|
.getPlaylistExtractor("https://soundcloud.com/liluzivert/sets/the-perfect-luv-tape-r?test=123");
|
|
|
|
|
extractor.fetchPage();
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Extractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testServiceId() {
|
|
|
|
|
assertEquals(SoundCloud.getServiceId(), extractor.getServiceId());
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testName() {
|
|
|
|
|
assertEquals("THE PERFECT LUV TAPE®️", extractor.getName());
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testId() {
|
|
|
|
|
assertEquals("246349810", extractor.getId());
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
2018-05-06 14:08:50 +02:00
|
|
|
|
public void testUrl() throws Exception {
|
|
|
|
|
assertEquals("https://soundcloud.com/liluzivert/sets/the-perfect-luv-tape-r", extractor.getUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
2018-05-06 14:08:50 +02:00
|
|
|
|
public void testOriginalUrl() throws Exception {
|
2018-03-04 21:26:13 +01:00
|
|
|
|
assertEquals("https://soundcloud.com/liluzivert/sets/the-perfect-luv-tape-r?test=123", extractor.getOriginalUrl());
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// ListExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testRelatedItems() throws Exception {
|
2020-02-27 04:08:23 +01:00
|
|
|
|
defaultTestRelatedItems(extractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2020-03-17 15:41:16 +01:00
|
|
|
|
public void testMoreRelatedItems() throws Exception {
|
|
|
|
|
defaultTestMoreItems(extractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// PlaylistExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
2017-08-08 08:42:28 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testThumbnailUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getThumbnailUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testBannerUrl() {
|
2020-03-17 15:53:25 +01:00
|
|
|
|
// SoundCloud playlists do not have a banner
|
|
|
|
|
assertNull(extractor.getBannerUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderUrl() {
|
|
|
|
|
final String uploaderUrl = extractor.getUploaderUrl();
|
|
|
|
|
assertIsSecureUrl(uploaderUrl);
|
2020-03-17 21:03:50 +01:00
|
|
|
|
assertThat(uploaderUrl, containsString("liluzivert"));
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderName() {
|
2020-10-16 23:42:46 +02:00
|
|
|
|
assertTrue(extractor.getUploaderName().contains("Lil Uzi Vert"));
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderAvatarUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getUploaderAvatarUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testStreamCount() {
|
2020-03-17 21:03:50 +01:00
|
|
|
|
assertTrue("Stream count does not fit: " + extractor.getStreamCount(), extractor.getStreamCount() >= 10);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
2021-01-22 01:44:58 +01:00
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void testUploaderVerified() throws Exception {
|
|
|
|
|
assertTrue(extractor.isUploaderVerified());
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
}
|
|
|
|
|
|
2019-08-12 17:15:21 +02:00
|
|
|
|
public static class RandomHouseMusic implements BasePlaylistExtractorTest {
|
2018-03-04 21:26:13 +01:00
|
|
|
|
private static SoundcloudPlaylistExtractor extractor;
|
|
|
|
|
|
|
|
|
|
@BeforeClass
|
|
|
|
|
public static void setUp() throws Exception {
|
2019-04-28 22:03:16 +02:00
|
|
|
|
NewPipe.init(DownloaderTestImpl.getInstance());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
extractor = (SoundcloudPlaylistExtractor) SoundCloud
|
2019-08-12 17:15:21 +02:00
|
|
|
|
.getPlaylistExtractor("https://soundcloud.com/micky96/sets/house");
|
2018-03-04 21:26:13 +01:00
|
|
|
|
extractor.fetchPage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Extractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testServiceId() {
|
|
|
|
|
assertEquals(SoundCloud.getServiceId(), extractor.getServiceId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testName() {
|
2019-08-12 17:15:21 +02:00
|
|
|
|
assertEquals("House", extractor.getName());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testId() {
|
2019-08-12 17:15:21 +02:00
|
|
|
|
assertEquals("123062856", extractor.getId());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2018-05-06 14:08:50 +02:00
|
|
|
|
public void testUrl() throws Exception {
|
2019-08-12 17:15:21 +02:00
|
|
|
|
assertEquals("https://soundcloud.com/micky96/sets/house", extractor.getUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2018-05-06 14:08:50 +02:00
|
|
|
|
public void testOriginalUrl() throws Exception {
|
2019-08-12 17:15:21 +02:00
|
|
|
|
assertEquals("https://soundcloud.com/micky96/sets/house", extractor.getOriginalUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// ListExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testRelatedItems() throws Exception {
|
2020-02-27 04:08:23 +01:00
|
|
|
|
defaultTestRelatedItems(extractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testMoreRelatedItems() throws Exception {
|
2020-02-27 04:08:23 +01:00
|
|
|
|
defaultTestMoreItems(extractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// PlaylistExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testThumbnailUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getThumbnailUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testBannerUrl() {
|
2020-03-17 15:53:25 +01:00
|
|
|
|
// SoundCloud playlists do not have a banner
|
|
|
|
|
assertNull(extractor.getBannerUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderUrl() {
|
|
|
|
|
final String uploaderUrl = extractor.getUploaderUrl();
|
|
|
|
|
assertIsSecureUrl(uploaderUrl);
|
2020-03-17 21:03:50 +01:00
|
|
|
|
assertThat(uploaderUrl, containsString("micky96"));
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderName() {
|
2019-08-12 17:15:21 +02:00
|
|
|
|
assertEquals("_mickyyy", extractor.getUploaderName());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderAvatarUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getUploaderAvatarUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testStreamCount() {
|
2020-03-17 21:03:50 +01:00
|
|
|
|
assertTrue("Stream count does not fit: " + extractor.getStreamCount(), extractor.getStreamCount() >= 10);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
2021-01-22 01:44:58 +01:00
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void testUploaderVerified() throws Exception {
|
|
|
|
|
assertFalse(extractor.isUploaderVerified());
|
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
}
|
2017-08-12 22:19:56 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
public static class EDMxxx implements BasePlaylistExtractorTest {
|
|
|
|
|
private static SoundcloudPlaylistExtractor extractor;
|
|
|
|
|
|
|
|
|
|
@BeforeClass
|
|
|
|
|
public static void setUp() throws Exception {
|
2019-04-28 22:03:16 +02:00
|
|
|
|
NewPipe.init(DownloaderTestImpl.getInstance());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
extractor = (SoundcloudPlaylistExtractor) SoundCloud
|
|
|
|
|
.getPlaylistExtractor("https://soundcloud.com/user350509423/sets/edm-xxx");
|
|
|
|
|
extractor.fetchPage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Additional Testing
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testGetPageInNewExtractor() throws Exception {
|
2020-03-17 21:03:50 +01:00
|
|
|
|
PlaylistExtractor newExtractor = SoundCloud.getPlaylistExtractor(extractor.getUrl());
|
2020-02-27 04:08:23 +01:00
|
|
|
|
defaultTestGetPageInNewExtractor(extractor, newExtractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Extractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testServiceId() {
|
|
|
|
|
assertEquals(SoundCloud.getServiceId(), extractor.getServiceId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testName() {
|
|
|
|
|
assertEquals("EDM xXx", extractor.getName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testId() {
|
|
|
|
|
assertEquals("136000376", extractor.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2018-05-06 14:08:50 +02:00
|
|
|
|
public void testUrl() throws Exception {
|
|
|
|
|
assertEquals("https://soundcloud.com/user350509423/sets/edm-xxx", extractor.getUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2018-05-06 14:08:50 +02:00
|
|
|
|
public void testOriginalUrl() throws Exception {
|
2018-03-04 21:26:13 +01:00
|
|
|
|
assertEquals("https://soundcloud.com/user350509423/sets/edm-xxx", extractor.getOriginalUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// ListExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testRelatedItems() throws Exception {
|
2020-02-27 04:08:23 +01:00
|
|
|
|
defaultTestRelatedItems(extractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testMoreRelatedItems() throws Exception {
|
2020-02-27 04:08:23 +01:00
|
|
|
|
ListExtractor.InfoItemsPage<StreamInfoItem> currentPage = defaultTestMoreItems(extractor);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
// Test for 2 more levels
|
|
|
|
|
for (int i = 0; i < 2; i++) {
|
2020-04-15 14:09:46 +02:00
|
|
|
|
currentPage = extractor.getPage(currentPage.getNextPage());
|
2020-02-27 04:08:23 +01:00
|
|
|
|
defaultTestListOfItems(SoundCloud, currentPage.getItems(), currentPage.getErrors());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// PlaylistExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testThumbnailUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getThumbnailUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testBannerUrl() {
|
2020-03-17 15:53:25 +01:00
|
|
|
|
// SoundCloud playlists do not have a banner
|
|
|
|
|
assertNull(extractor.getBannerUrl());
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderUrl() {
|
|
|
|
|
final String uploaderUrl = extractor.getUploaderUrl();
|
|
|
|
|
assertIsSecureUrl(uploaderUrl);
|
|
|
|
|
assertTrue(uploaderUrl, uploaderUrl.contains("user350509423"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderName() {
|
|
|
|
|
assertEquals("user350509423", extractor.getUploaderName());
|
|
|
|
|
}
|
2017-08-12 22:19:56 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderAvatarUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getUploaderAvatarUrl());
|
|
|
|
|
}
|
2017-08-12 22:19:56 +02:00
|
|
|
|
|
2018-03-04 21:26:13 +01:00
|
|
|
|
@Test
|
|
|
|
|
public void testStreamCount() {
|
2020-03-17 15:35:33 +01:00
|
|
|
|
assertTrue("Stream count does not fit: " + extractor.getStreamCount(), extractor.getStreamCount() >= 370);
|
2018-03-04 21:26:13 +01:00
|
|
|
|
}
|
2021-01-22 01:44:58 +01:00
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void testUploaderVerified() throws Exception {
|
|
|
|
|
assertFalse(extractor.isUploaderVerified());
|
|
|
|
|
}
|
2017-08-12 22:19:56 +02:00
|
|
|
|
}
|
2020-03-17 21:03:50 +01:00
|
|
|
|
|
|
|
|
|
public static class SmallPlaylist implements BasePlaylistExtractorTest {
|
|
|
|
|
private static SoundcloudPlaylistExtractor extractor;
|
|
|
|
|
|
|
|
|
|
@BeforeClass
|
|
|
|
|
public static void setUp() throws Exception {
|
|
|
|
|
NewPipe.init(DownloaderTestImpl.getInstance());
|
|
|
|
|
extractor = (SoundcloudPlaylistExtractor) SoundCloud
|
|
|
|
|
.getPlaylistExtractor("https://soundcloud.com/breezy-123/sets/empty-playlist?test=123");
|
|
|
|
|
extractor.fetchPage();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// Extractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testServiceId() {
|
|
|
|
|
assertEquals(SoundCloud.getServiceId(), extractor.getServiceId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testName() {
|
|
|
|
|
assertEquals("EMPTY PLAYLIST", extractor.getName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testId() {
|
|
|
|
|
assertEquals("23483459", extractor.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUrl() throws Exception {
|
|
|
|
|
assertEquals("https://soundcloud.com/breezy-123/sets/empty-playlist", extractor.getUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testOriginalUrl() throws Exception {
|
|
|
|
|
assertEquals("https://soundcloud.com/breezy-123/sets/empty-playlist?test=123", extractor.getOriginalUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// ListExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testRelatedItems() throws Exception {
|
|
|
|
|
defaultTestRelatedItems(extractor);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2021-01-15 20:11:40 +01:00
|
|
|
|
@Ignore("TODO fix")
|
2020-03-17 21:03:50 +01:00
|
|
|
|
public void testMoreRelatedItems() throws Exception {
|
|
|
|
|
try {
|
|
|
|
|
defaultTestMoreItems(extractor);
|
|
|
|
|
} catch (Throwable ignored) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fail("This playlist doesn't have more items, it should throw an error");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// PlaylistExtractor
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////*/
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testThumbnailUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getThumbnailUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testBannerUrl() {
|
|
|
|
|
// SoundCloud playlists do not have a banner
|
|
|
|
|
assertNull(extractor.getBannerUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderUrl() {
|
|
|
|
|
final String uploaderUrl = extractor.getUploaderUrl();
|
|
|
|
|
assertIsSecureUrl(uploaderUrl);
|
|
|
|
|
assertThat(uploaderUrl, containsString("breezy-123"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderName() {
|
|
|
|
|
assertEquals("breezy-123", extractor.getUploaderName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testUploaderAvatarUrl() {
|
|
|
|
|
assertIsSecureUrl(extractor.getUploaderAvatarUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void testStreamCount() {
|
|
|
|
|
assertEquals(2, extractor.getStreamCount());
|
|
|
|
|
}
|
2021-01-22 01:44:58 +01:00
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void testUploaderVerified() throws Exception {
|
|
|
|
|
assertFalse(extractor.isUploaderVerified());
|
|
|
|
|
}
|
2020-03-17 21:03:50 +01:00
|
|
|
|
}
|
2017-08-08 08:42:28 +02:00
|
|
|
|
}
|