@@ -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