From a4086617719e53b293efa1e8873799ba7714cb14 Mon Sep 17 00:00:00 2001 From: Roy Yosef Date: Thu, 16 Apr 2020 15:19:36 +0300 Subject: [PATCH] Fix PR review Rename "ParentChannel" to "SubChannel" Add Tests for sub-channel info fetching --- .../extractor/channel/ChannelExtractor.java | 6 +-- .../extractor/channel/ChannelInfo.java | 36 +++++++++--------- .../MediaCCCConferenceExtractor.java | 6 +-- .../extractors/MediaCCCStreamExtractor.java | 6 +-- .../extractors/PeertubeAccountExtractor.java | 6 +-- .../extractors/PeertubeChannelExtractor.java | 6 +-- .../extractors/PeertubeStreamExtractor.java | 6 +-- .../SoundcloudChannelExtractor.java | 6 +-- .../extractors/SoundcloudStreamExtractor.java | 6 +-- .../extractors/YoutubeChannelExtractor.java | 6 +-- .../extractors/YoutubeStreamExtractor.java | 6 +-- .../extractor/stream/StreamExtractor.java | 23 +++++------ .../newpipe/extractor/stream/StreamInfo.java | 36 +++++++++--------- .../PeertubeChannelExtractorTest.java | 16 ++++---- .../PeertubeStreamExtractorDefaultTest.java | 38 +++++++++++++------ 15 files changed, 113 insertions(+), 96 deletions(-) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelExtractor.java index 3f54f1c2c..3d3b9b1ba 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelExtractor.java @@ -37,7 +37,7 @@ public abstract class ChannelExtractor extends ListExtractor { public abstract String getFeedUrl() throws ParsingException; public abstract long getSubscriberCount() throws ParsingException; public abstract String getDescription() throws ParsingException; - public abstract String getParentChannelName() throws ParsingException; - public abstract String getParentChannelUrl() throws ParsingException; - public abstract String getParentChannelAvatarUrl() throws ParsingException; + public abstract String getSubChannelName() throws ParsingException; + public abstract String getSubChannelUrl() throws ParsingException; + public abstract String getSubChannelAvatarUrl() throws ParsingException; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java b/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java index 52f18eadc..874575308 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java @@ -95,19 +95,19 @@ public class ChannelInfo extends ListInfo { } try { - info.setParentChannelName(extractor.getParentChannelName()); + info.setSubChannelName(extractor.getSubChannelName()); } catch (Exception e) { info.addError(e); } try { - info.setParentChannelUrl(extractor.getParentChannelUrl()); + info.setSubChannelUrl(extractor.getSubChannelUrl()); } catch (Exception e) { info.addError(e); } try { - info.setParentChannelAvatarUrl(extractor.getParentChannelAvatarUrl()); + info.setSubChannelAvatarUrl(extractor.getSubChannelAvatarUrl()); } catch (Exception e) { info.addError(e); } @@ -116,37 +116,37 @@ public class ChannelInfo extends ListInfo { } private String avatarUrl; - private String parentChannelName; - private String parentChannelUrl; - private String parentChannelAvatarUrl; + private String subChannelName; + private String subChannelUrl; + private String subChannelAvatarUrl; private String bannerUrl; private String feedUrl; private long subscriberCount = -1; private String description; private String[] donationLinks; - public String getParentChannelName() { - return parentChannelName; + public String getSubChannelName() { + return subChannelName; } - public void setParentChannelName(String parentChannelName) { - this.parentChannelName = parentChannelName; + public void setSubChannelName(String subChannelName) { + this.subChannelName = subChannelName; } - public String getParentChannelUrl() { - return parentChannelUrl; + public String getSubChannelUrl() { + return subChannelUrl; } - public void setParentChannelUrl(String parentChannelUrl) { - this.parentChannelUrl = parentChannelUrl; + public void setSubChannelUrl(String subChannelUrl) { + this.subChannelUrl = subChannelUrl; } - public String getParentChannelAvatarUrl() { - return parentChannelAvatarUrl; + public String getSubChannelAvatarUrl() { + return subChannelAvatarUrl; } - public void setParentChannelAvatarUrl(String parentChannelAvatarUrl) { - this.parentChannelAvatarUrl = parentChannelAvatarUrl; + public void setSubChannelAvatarUrl(String subChannelAvatarUrl) { + this.subChannelAvatarUrl = subChannelAvatarUrl; } public String getAvatarUrl() { diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java index f11c13c22..4ec6bb646 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCConferenceExtractor.java @@ -53,17 +53,17 @@ public class MediaCCCConferenceExtractor extends ChannelExtractor { } @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCStreamExtractor.java index 8eed7091f..93772608e 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCStreamExtractor.java @@ -112,19 +112,19 @@ public class MediaCCCStreamExtractor extends StreamExtractor { @Nonnull @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Nonnull @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Nonnull @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeAccountExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeAccountExtractor.java index d5bdacc6a..fd82e4304 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeAccountExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeAccountExtractor.java @@ -76,17 +76,17 @@ public class PeertubeAccountExtractor extends ChannelExtractor { } @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelExtractor.java index c8f7f4cb3..ff0ff97df 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeChannelExtractor.java @@ -76,17 +76,17 @@ public class PeertubeChannelExtractor extends ChannelExtractor { } @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return JsonUtils.getString(json, "ownerAccount.name"); } @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return JsonUtils.getString(json, "ownerAccount.url"); } @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { String value; try { value = JsonUtils.getString(json, "ownerAccount.avatar.path"); diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java index 05f1846b2..88ef02435 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeStreamExtractor.java @@ -148,19 +148,19 @@ public class PeertubeStreamExtractor extends StreamExtractor { } @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return JsonUtils.getString(json, "channel.url"); } @Nonnull @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return JsonUtils.getString(json, "channel.displayName"); } @Nonnull @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { String value; try { value = JsonUtils.getString(json, "channel.avatar.path"); diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelExtractor.java index 1068b36f1..13afc4c7f 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudChannelExtractor.java @@ -84,17 +84,17 @@ public class SoundcloudChannelExtractor extends ChannelExtractor { } @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudStreamExtractor.java index d276c2b90..beee2c3ef 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudStreamExtractor.java @@ -144,19 +144,19 @@ public class SoundcloudStreamExtractor extends StreamExtractor { @Nonnull @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Nonnull @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Nonnull @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java index 0e5329425..7b614bffa 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java @@ -213,17 +213,17 @@ public class YoutubeChannelExtractor extends ChannelExtractor { } @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index 503d09e1d..22dc78c52 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -354,19 +354,19 @@ public class YoutubeStreamExtractor extends StreamExtractor { @Nonnull @Override - public String getParentChannelUrl() throws ParsingException { + public String getSubChannelUrl() throws ParsingException { return ""; } @Nonnull @Override - public String getParentChannelName() throws ParsingException { + public String getSubChannelName() throws ParsingException { return ""; } @Nonnull @Override - public String getParentChannelAvatarUrl() throws ParsingException { + public String getSubChannelAvatarUrl() throws ParsingException { return ""; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamExtractor.java index c740ffd75..2cc64ab70 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamExtractor.java @@ -23,6 +23,7 @@ package org.schabi.newpipe.extractor.stream; import org.schabi.newpipe.extractor.Extractor; import org.schabi.newpipe.extractor.MediaFormat; import org.schabi.newpipe.extractor.StreamingService; +import org.schabi.newpipe.extractor.channel.ChannelExtractor; import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.linkhandler.LinkHandler; @@ -148,7 +149,7 @@ public abstract class StreamExtractor extends Extractor { /** * The Url to the page of the creator/uploader of the stream. This must not be a homepage, * but the page offered by the service the extractor handles. This url will be handled by the - * ChannelExtractor, + * {@link ChannelExtractor}, * so be sure to implement that one before you return a value here, otherwise NewPipe will crash if one selects * this url. * @@ -179,37 +180,37 @@ public abstract class StreamExtractor extends Extractor { public abstract String getUploaderAvatarUrl() throws ParsingException; /** - * The Url to the page of the parent chanel of the stream. This must not be a homepage, + * The Url to the page of the sub-channel of the stream. This must not be a homepage, * but the page offered by the service the extractor handles. This url will be handled by the - * ChannelExtractor, + * {@link ChannelExtractor}, * so be sure to implement that one before you return a value here, otherwise NewPipe will crash if one selects * this url. * - * @return the url to the page of the parent chanel of the stream or an empty String + * @return the url to the page of the sub-channel of the stream or an empty String * @throws ParsingException */ @Nonnull - public abstract String getParentChannelUrl() throws ParsingException; + public abstract String getSubChannelUrl() throws ParsingException; /** - * The name of the parent chanel of the stream. + * The name of the sub-channel of the stream. * If the name is not available you can simply return an empty string. * - * @return the name of the parent chanel of the stream or an empty String + * @return the name of the sub-channel of the stream or an empty String * @throws ParsingException */ @Nonnull - public abstract String getParentChannelName() throws ParsingException; + public abstract String getSubChannelName() throws ParsingException; /** - * The url to the image file/profile picture/avatar of the parent chanel of the stream. + * The url to the image file/profile picture/avatar of the sub-channel of the stream. * If the url is not available you can return an empty String. * - * @return The url of the image file of the parent chanel or an empty String + * @return The url of the image file of the sub-channel or an empty String * @throws ParsingException */ @Nonnull - public abstract String getParentChannelAvatarUrl() throws ParsingException; + public abstract String getSubChannelAvatarUrl() throws ParsingException; /** * Get the dash mpd url. If you don't know what a dash MPD is you can read about it diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamInfo.java b/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamInfo.java index a3cf3dc7e..aa1001b44 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamInfo.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/stream/StreamInfo.java @@ -230,17 +230,17 @@ public class StreamInfo extends Info { } try { - streamInfo.setParentChannelName(extractor.getParentChannelName()); + streamInfo.setSubChannelName(extractor.getSubChannelName()); } catch (Exception e) { streamInfo.addError(e); } try { - streamInfo.setParentChannelUrl(extractor.getParentChannelUrl()); + streamInfo.setSubChannelUrl(extractor.getSubChannelUrl()); } catch (Exception e) { streamInfo.addError(e); } try { - streamInfo.setParentChannelAvatarUrl(extractor.getParentChannelAvatarUrl()); + streamInfo.setSubChannelAvatarUrl(extractor.getSubChannelAvatarUrl()); } catch (Exception e) { streamInfo.addError(e); } @@ -349,9 +349,9 @@ public class StreamInfo extends Info { private String uploaderUrl = ""; private String uploaderAvatarUrl = ""; - private String parentChannelName = ""; - private String parentChannelUrl = ""; - private String parentChannelAvatarUrl = ""; + private String subChannelName = ""; + private String subChannelUrl = ""; + private String subChannelAvatarUrl = ""; private List videoStreams = new ArrayList<>(); private List audioStreams = new ArrayList<>(); @@ -507,28 +507,28 @@ public class StreamInfo extends Info { this.uploaderAvatarUrl = uploaderAvatarUrl; } - public String getParentChannelName() { - return parentChannelName; + public String getSubChannelName() { + return subChannelName; } - public void setParentChannelName(String parentChannelName) { - this.parentChannelName = parentChannelName; + public void setSubChannelName(String subChannelName) { + this.subChannelName = subChannelName; } - public String getParentChannelUrl() { - return parentChannelUrl; + public String getSubChannelUrl() { + return subChannelUrl; } - public void setParentChannelUrl(String parentChannelUrl) { - this.parentChannelUrl = parentChannelUrl; + public void setSubChannelUrl(String subChannelUrl) { + this.subChannelUrl = subChannelUrl; } - public String getParentChannelAvatarUrl() { - return parentChannelAvatarUrl; + public String getSubChannelAvatarUrl() { + return subChannelAvatarUrl; } - public void setParentChannelAvatarUrl(String parentChannelAvatarUrl) { - this.parentChannelAvatarUrl = parentChannelAvatarUrl; + public void setSubChannelAvatarUrl(String subChannelAvatarUrl) { + this.subChannelAvatarUrl = subChannelAvatarUrl; } public List getVideoStreams() { diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelExtractorTest.java index bdab43ef8..77d0623e8 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeChannelExtractorTest.java @@ -85,13 +85,13 @@ public class PeertubeChannelExtractorTest { } @Test - public void testParentChannelName() throws ParsingException { - assertEquals("libux", extractor.getParentChannelName()); + public void testSubChannelName() throws ParsingException { + assertEquals("libux", extractor.getSubChannelName()); } @Test - public void testParentChannelUrl() throws ParsingException { - assertEquals("https://peertube.mastodon.host/accounts/libux", extractor.getParentChannelUrl()); + public void testSubChannelUrl() throws ParsingException { + assertEquals("https://peertube.mastodon.host/accounts/libux", extractor.getSubChannelUrl()); } @Test @@ -192,13 +192,13 @@ public class PeertubeChannelExtractorTest { } @Test - public void testParentChannelName() throws ParsingException { - assertEquals("booteille", extractor.getParentChannelName()); + public void testSubChannelName() throws ParsingException { + assertEquals("booteille", extractor.getSubChannelName()); } @Test - public void testParentChannelUrl() throws ParsingException { - assertEquals("https://peertube.mastodon.host/accounts/booteille", extractor.getParentChannelUrl()); + public void testSubChannelUrl() throws ParsingException { + assertEquals("https://peertube.mastodon.host/accounts/booteille", extractor.getSubChannelUrl()); } @Test diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamExtractorDefaultTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamExtractorDefaultTest.java index f5202f39d..dd4c9c449 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamExtractorDefaultTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamExtractorDefaultTest.java @@ -87,6 +87,33 @@ public class PeertubeStreamExtractorDefaultTest { assertEquals("Framasoft", extractor.getUploaderName()); } + @Test + public void testGetUploaderUrl() throws ParsingException { + assertIsSecureUrl(extractor.getUploaderUrl()); + assertEquals("https://framatube.org/api/v1/accounts/framasoft@framatube.org", extractor.getUploaderUrl()); + } + + @Test + public void testGetUploaderAvatarUrl() throws ParsingException { + assertIsSecureUrl(extractor.getUploaderAvatarUrl()); + } + + @Test + public void testGetSubChannelName() throws ParsingException { + assertEquals("Les vidéos de Framasoft", extractor.getSubChannelName()); + } + + @Test + public void testGetSubChannelUrl() throws ParsingException { + assertIsSecureUrl(extractor.getSubChannelUrl()); + assertEquals("https://framatube.org/video-channels/bf54d359-cfad-4935-9d45-9d6be93f63e8", extractor.getSubChannelUrl()); + } + + @Test + public void testGetSubChannelAvatarUrl() throws ParsingException { + assertIsSecureUrl(extractor.getSubChannelAvatarUrl()); + } + @Test public void testGetLength() throws ParsingException { assertEquals(113, extractor.getLength()); @@ -98,22 +125,11 @@ public class PeertubeStreamExtractorDefaultTest { extractor.getViewCount() > 10); } - @Test - public void testGetUploaderUrl() throws ParsingException { - assertIsSecureUrl(extractor.getUploaderUrl()); - assertEquals("https://framatube.org/api/v1/accounts/framasoft@framatube.org", extractor.getUploaderUrl()); - } - @Test public void testGetThumbnailUrl() throws ParsingException { assertIsSecureUrl(extractor.getThumbnailUrl()); } - @Test - public void testGetUploaderAvatarUrl() throws ParsingException { - assertIsSecureUrl(extractor.getUploaderAvatarUrl()); - } - @Test public void testGetVideoStreams() throws IOException, ExtractionException { assertFalse(extractor.getVideoStreams().isEmpty());