Skip to content

Commit fe47a43

Browse files
committed
[PeerTube] Add test for segments and framesets
1 parent 15e0e74 commit fe47a43

1 file changed

Lines changed: 45 additions & 1 deletion

File tree

extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamExtractorTest.java

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ public abstract class PeertubeStreamExtractorTest extends DefaultStreamExtractor
2626
private static final String BASE_URL = "/videos/watch/";
2727

2828
@Override public boolean expectedHasAudioStreams() { return false; }
29-
@Override public boolean expectedHasFrames() { return false; }
3029

3130
public static class WhatIsPeertube extends PeertubeStreamExtractorTest {
3231
private static final String ID = "9c9de5e8-0a1e-484a-b099-e80766180a6d";
@@ -138,6 +137,7 @@ public static void setUp() throws Exception {
138137
@Override public String expectedLicence() { return "Unknown"; }
139138
@Override public Locale expectedLanguageInfo() { return null; }
140139
@Override public List<String> expectedTags() { return Arrays.asList("Marinauts", "adobe flash", "adobe flash player", "flash games", "the marinauts"); }
140+
@Override public boolean expectedHasFrames() { return false; } // not yet supported by instance
141141
}
142142

143143
@Disabled("Test broken, SSL problem")
@@ -185,6 +185,50 @@ public static void setUp() throws Exception {
185185
@Override public List<String> expectedTags() { return Arrays.asList("Covid-19", "Gérôme-Mary trebor", "Horreur et beauté", "court-métrage", "nue artistique"); }
186186
}
187187

188+
public static class Segments extends PeertubeStreamExtractorTest {
189+
private static final String ID = "vqABGP97fEjo7RhPuDnSZk";
190+
private static final String INSTANCE = "https://tube.tchncs.de";
191+
192+
private static final String URL = INSTANCE + BASE_URL + ID;
193+
private static StreamExtractor extractor;
194+
195+
@BeforeAll
196+
public static void setUp() throws Exception {
197+
NewPipe.init(DownloaderTestImpl.getInstance());
198+
// setting instance might break test when running in parallel (!)
199+
PeerTube.setInstance(new PeertubeInstance(INSTANCE, "tchncs.de"));
200+
extractor = PeerTube.getStreamExtractor(URL);
201+
extractor.fetchPage();
202+
}
203+
204+
@Override public StreamExtractor extractor() { return extractor; }
205+
@Override public StreamingService expectedService() { return PeerTube; }
206+
@Override public String expectedName() { return "Bauinformatik 11 – Objekte und Methoden"; }
207+
@Override public String expectedId() { return ID; }
208+
@Override public String expectedUrlContains() { return INSTANCE + BASE_URL + ID; }
209+
@Override public String expectedOriginalUrlContains() { return URL; }
210+
211+
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
212+
@Override public String expectedUploaderName() { return "Martin Vogel"; }
213+
@Override public String expectedUploaderUrl() { return "https://tube.tchncs.de/accounts/martin_vogel@tube.tchncs.de"; }
214+
@Override public String expectedSubChannelName() { return "Bauinformatik mit Python"; }
215+
@Override public String expectedSubChannelUrl() { return "https://tube.tchncs.de/video-channels/python"; }
216+
@Override public List<String> expectedDescriptionContains() { // CRLF line ending
217+
return Arrays.asList("Um", "Programme", "Variablen", "Funktionen", "Objekte", "Skript", "Wiederholung", "Listen");
218+
}
219+
@Override public long expectedLength() { return 1017; }
220+
@Override public long expectedViewCountAtLeast() { return 20; }
221+
@Nullable @Override public String expectedUploadDate() { return "2023-12-08 15:57:04.142"; }
222+
@Nullable @Override public String expectedTextualUploadDate() { return "2023-12-08T15:57:04.142Z"; }
223+
@Override public long expectedLikeCountAtLeast() { return 0; }
224+
@Override public long expectedDislikeCountAtLeast() { return 0; }
225+
@Override public boolean expectedHasSubtitles() { return false; }
226+
@Override public String expectedHost() { return "tube.tchncs.de"; }
227+
@Override public String expectedCategory() { return "Unknown"; }
228+
@Override public String expectedLicence() { return "Unknown"; }
229+
@Override public Locale expectedLanguageInfo() { return null; }
230+
@Override public List<String> expectedTags() { return Arrays.asList("Attribute", "Bauinformatik", "Klassen", "Objekte", "Python"); }
231+
}
188232

189233
@BeforeAll
190234
public static void setUp() throws Exception {

0 commit comments

Comments
 (0)