diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamExtractorTest.java index 28c8d0b23..6e386b1db 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/soundcloud/SoundcloudStreamExtractorTest.java @@ -19,9 +19,9 @@ import static org.schabi.newpipe.extractor.ServiceList.SoundCloud; public class SoundcloudStreamExtractorTest { - public static class LilUziVertDoWhatIWant extends DefaultStreamExtractorTest { - private static final String ID = "do-what-i-want-produced-by-maaly-raw-don-cannon"; - private static final String UPLOADER = "https://soundcloud.com/liluzivert"; + public static class CreativeCommonsPlaysWellWithOthers extends DefaultStreamExtractorTest { + private static final String ID = "plays-well-with-others-ep-2-what-do-an-army-of-ants-and-an-online-encyclopedia-have-in-common"; + private static final String UPLOADER = "https://soundcloud.com/wearecc"; private static final int TIMESTAMP = 69; private static final String URL = UPLOADER + "/" + ID + "#t=" + TIMESTAMP; private static StreamExtractor extractor; @@ -35,20 +35,21 @@ public class SoundcloudStreamExtractorTest { @Override public StreamExtractor extractor() { return extractor; } @Override public StreamingService expectedService() { return SoundCloud; } - @Override public String expectedName() { return "Do What I Want [Produced By Maaly Raw + Don Cannon]"; } - @Override public String expectedId() { return "276206960"; } + @Override public String expectedName() { return "Plays Well with Others, Ep 2: What Do an Army of Ants and an Online Encyclopedia Have in Common?"; } + @Override public String expectedId() { return "597253485"; } @Override public String expectedUrlContains() { return UPLOADER + "/" + ID; } @Override public String expectedOriginalUrlContains() { return URL; } @Override public StreamType expectedStreamType() { return StreamType.AUDIO_STREAM; } - @Override public String expectedUploaderName() { return "Lil Uzi Vert"; } + @Override public String expectedUploaderName() { return "Creative Commons"; } @Override public String expectedUploaderUrl() { return UPLOADER; } - @Override public List expectedDescriptionContains() { return Arrays.asList("The Perfect LUV TapeĀ®"); } - @Override public long expectedLength() { return 175; } + @Override public List expectedDescriptionContains() { return Arrays.asList("Stigmergy is a mechanism of indirect coordination", + "All original content in Plays Well with Others is available under a Creative Commons BY license."); } + @Override public long expectedLength() { return 1400; } @Override public long expectedTimestamp() { return TIMESTAMP; } - @Override public long expectedViewCountAtLeast() { return 75413600; } - @Nullable @Override public String expectedUploadDate() { return "2016-07-31 18:18:07.000"; } - @Nullable @Override public String expectedTextualUploadDate() { return "2016-07-31 18:18:07"; } + @Override public long expectedViewCountAtLeast() { return 27000; } + @Nullable @Override public String expectedUploadDate() { return "2019-03-28 13:36:18.000"; } + @Nullable @Override public String expectedTextualUploadDate() { return "2019-03-28 13:36:18"; } @Override public long expectedLikeCountAtLeast() { return -1; } @Override public long expectedDislikeCountAtLeast() { return -1; } @Override public boolean expectedHasVideoStreams() { return false; } @@ -56,26 +57,4 @@ public class SoundcloudStreamExtractorTest { @Override public boolean expectedHasFrames() { return false; } } - public static class ContentNotSupported { - @BeforeClass - public static void setUp() { - NewPipe.init(DownloaderTestImpl.getInstance()); - } - - @Test(expected = ContentNotSupportedException.class) - public void hlsAudioStream() throws Exception { - final StreamExtractor extractor = - SoundCloud.getStreamExtractor("https://soundcloud.com/dualipa/cool"); - extractor.fetchPage(); - extractor.getAudioStreams(); - } - - @Test(expected = ContentNotSupportedException.class) - public void bothHlsAndOpusAudioStreams() throws Exception { - final StreamExtractor extractor = - SoundCloud.getStreamExtractor("https://soundcloud.com/lil-baby-4pf/no-sucker"); - extractor.fetchPage(); - extractor.getAudioStreams(); - } - } } diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java index a916c5602..1c461fa86 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java @@ -432,190 +432,6 @@ public class YoutubeChannelExtractorTest { } } - // this channel has no "Subscribe" button - public static class EminemVEVO implements BaseChannelExtractorTest { - private static YoutubeChannelExtractor extractor; - - @BeforeClass - public static void setUp() throws Exception { - NewPipe.init(DownloaderTestImpl.getInstance()); - extractor = (YoutubeChannelExtractor) YouTube - .getChannelExtractor("https://www.youtube.com/user/EminemVEVO/"); - extractor.fetchPage(); - } - - /*////////////////////////////////////////////////////////////////////////// - // Extractor - //////////////////////////////////////////////////////////////////////////*/ - - @Test - public void testServiceId() { - assertEquals(YouTube.getServiceId(), extractor.getServiceId()); - } - - @Test - public void testName() throws Exception { - assertEquals("EminemVEVO", extractor.getName()); - } - - @Test - public void testId() throws Exception { - assertEquals("UC20vb-R_px4CguHzzBPhoyQ", extractor.getId()); - } - - @Test - public void testUrl() throws ParsingException { - assertEquals("https://www.youtube.com/channel/UC20vb-R_px4CguHzzBPhoyQ", extractor.getUrl()); - } - - @Test - public void testOriginalUrl() throws ParsingException { - assertEquals("https://www.youtube.com/user/EminemVEVO/", extractor.getOriginalUrl()); - } - - /*////////////////////////////////////////////////////////////////////////// - // ListExtractor - //////////////////////////////////////////////////////////////////////////*/ - - @Test - public void testRelatedItems() throws Exception { - defaultTestRelatedItems(extractor); - } - - @Test - public void testMoreRelatedItems() throws Exception { - defaultTestMoreItems(extractor); - } - - /*////////////////////////////////////////////////////////////////////////// - // ChannelExtractor - //////////////////////////////////////////////////////////////////////////*/ - - @Test - public void testDescription() throws Exception { - final String description = extractor.getDescription(); - assertTrue(description, description.contains("Eminem on Vevo")); - } - - @Test - public void testAvatarUrl() throws Exception { - String avatarUrl = extractor.getAvatarUrl(); - assertIsSecureUrl(avatarUrl); - assertTrue(avatarUrl, avatarUrl.contains("yt3")); - } - - @Test - public void testBannerUrl() throws Exception { - String bannerUrl = extractor.getBannerUrl(); - assertIsSecureUrl(bannerUrl); - assertTrue(bannerUrl, bannerUrl.contains("yt3")); - } - - @Test - public void testFeedUrl() throws Exception { - assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UC20vb-R_px4CguHzzBPhoyQ", extractor.getFeedUrl()); - } - - @Test - public void testSubscriberCount() throws Exception { - // there is no "Subscribe" button - long subscribers = extractor.getSubscriberCount(); - assertEquals("Wrong subscriber count", -1, subscribers); - } - } - - /** - * Some VEVO channels will redirect to a new page with a new channel id. - *

- * Though, it isn't a simple redirect, but a redirect instruction embed in the response itself, this - * test assure that we account for that. - */ - public static class RedirectedChannel implements BaseChannelExtractorTest { - private static YoutubeChannelExtractor extractor; - - @BeforeClass - public static void setUp() throws Exception { - NewPipe.init(DownloaderTestImpl.getInstance()); - extractor = (YoutubeChannelExtractor) YouTube - .getChannelExtractor("https://www.youtube.com/channel/UCITk7Ky4iE5_xISw9IaHqpQ"); - extractor.fetchPage(); - } - - /*////////////////////////////////////////////////////////////////////////// - // Extractor - //////////////////////////////////////////////////////////////////////////*/ - - @Test - public void testServiceId() { - assertEquals(YouTube.getServiceId(), extractor.getServiceId()); - } - - @Test - public void testName() throws Exception { - assertEquals("LordiVEVO", extractor.getName()); - } - - @Test - public void testId() throws Exception { - assertEquals("UCrxkwepj7-4Wz1wHyfzw-sQ", extractor.getId()); - } - - @Test - public void testUrl() throws ParsingException { - assertEquals("https://www.youtube.com/channel/UCrxkwepj7-4Wz1wHyfzw-sQ", extractor.getUrl()); - } - - @Test - public void testOriginalUrl() throws ParsingException { - assertEquals("https://www.youtube.com/channel/UCITk7Ky4iE5_xISw9IaHqpQ", extractor.getOriginalUrl()); - } - - /*////////////////////////////////////////////////////////////////////////// - // ListExtractor - //////////////////////////////////////////////////////////////////////////*/ - - @Test - public void testRelatedItems() throws Exception { - defaultTestRelatedItems(extractor); - } - - @Test - public void testMoreRelatedItems() throws Exception { - assertNoMoreItems(extractor); - } - - /*////////////////////////////////////////////////////////////////////////// - // ChannelExtractor - //////////////////////////////////////////////////////////////////////////*/ - - @Test - public void testDescription() throws Exception { - assertEmpty(extractor.getDescription()); - } - - @Test - public void testAvatarUrl() throws Exception { - String avatarUrl = extractor.getAvatarUrl(); - assertIsSecureUrl(avatarUrl); - assertTrue(avatarUrl, avatarUrl.contains("yt3")); - } - - @Test - public void testBannerUrl() throws Exception { - assertEmpty(extractor.getBannerUrl()); - } - - @Test - public void testFeedUrl() throws Exception { - assertEquals("https://www.youtube.com/feeds/videos.xml?channel_id=UCrxkwepj7-4Wz1wHyfzw-sQ", extractor.getFeedUrl()); - } - - @Test - public void testSubscriberCount() throws Exception { - assertEquals(-1, extractor.getSubscriberCount()); - } - } - public static class RandomChannel implements BaseChannelExtractorTest { private static YoutubeChannelExtractor extractor; diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeMusicSearchExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeMusicSearchExtractorTest.java index eeac8c49b..28c4519e9 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeMusicSearchExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeMusicSearchExtractorTest.java @@ -153,8 +153,8 @@ public class YoutubeMusicSearchExtractorTest { public static class CorrectedSearch extends DefaultSearchExtractorTest { private static SearchExtractor extractor; - private static final String QUERY = "duo lipa"; - private static final String EXPECTED_SUGGESTION = "dua lipa"; + private static final String QUERY = "nocopyrigh sounds"; + private static final String EXPECTED_SUGGESTION = "nocopyrightsounds"; @BeforeClass public static void setUp() throws Exception { diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/stream/YoutubeStreamExtractorDefaultTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/stream/YoutubeStreamExtractorDefaultTest.java index 6a3aa4f28..cc627f7f1 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/stream/YoutubeStreamExtractorDefaultTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/stream/YoutubeStreamExtractorDefaultTest.java @@ -62,48 +62,6 @@ public class YoutubeStreamExtractorDefaultTest { } } - public static class AdeleHello extends DefaultStreamExtractorTest { - private static final String ID = "YQHsXMglC9A"; - private static final String URL = BASE_URL + ID; - private static StreamExtractor extractor; - - @BeforeClass - public static void setUp() throws Exception { - NewPipe.init(DownloaderTestImpl.getInstance()); - extractor = YouTube.getStreamExtractor(URL); - extractor.fetchPage(); - } - - @Test - @Override - public void testUploaderUrl() throws ParsingException { - String url = extractor().getUploaderUrl(); - if (!url.equals("https://www.youtube.com/channel/UCsRM0YB_dabtEPGPTKo-gcw") && - !url.equals("https://www.youtube.com/channel/UComP_epzeKzvBX156r6pm1Q")) { - fail("Uploader url is neither the music channel one nor the Vevo one"); - } - } - - @Override public StreamExtractor extractor() { return extractor; } - @Override public StreamingService expectedService() { return YouTube; } - @Override public String expectedName() { return "Adele - Hello"; } - @Override public String expectedId() { return ID; } - @Override public String expectedUrlContains() { return URL; } - @Override public String expectedOriginalUrlContains() { return URL; } - - @Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; } - @Override public String expectedUploaderName() { return "Adele"; } - @Override public String expectedUploaderUrl() { return null; } // overridden above - @Override public List expectedDescriptionContains() { return Arrays.asList("http://adele.com", "https://www.facebook.com/Adele"); } - @Override public long expectedLength() { return 367; } - @Override public long expectedViewCountAtLeast() { return 1220025784; } - @Nullable @Override public String expectedUploadDate() { return "2015-10-22 00:00:00.000"; } - @Nullable @Override public String expectedTextualUploadDate() { return "2015-10-22"; } - @Override public long expectedLikeCountAtLeast() { return 15289000; } - @Override public long expectedDislikeCountAtLeast() { return 826000; } - @Override public boolean expectedHasSubtitles() { return false; } - } - public static class DescriptionTestPewdiepie extends DefaultStreamExtractorTest { private static final String ID = "7PIMiDcwNvc"; private static final int TIMESTAMP = 17;