2019-09-12 14:36:42 +02:00
|
|
|
package org.schabi.newpipe.extractor.services.youtube.stream;
|
2018-03-02 01:43:47 +01:00
|
|
|
|
2021-12-27 21:08:08 +01:00
|
|
|
import org.junit.jupiter.api.BeforeAll;
|
2021-01-17 18:55:37 +01:00
|
|
|
import org.schabi.newpipe.downloader.DownloaderFactory;
|
2018-03-02 01:43:47 +01:00
|
|
|
import org.schabi.newpipe.extractor.NewPipe;
|
2020-04-09 13:51:47 +02:00
|
|
|
import org.schabi.newpipe.extractor.StreamingService;
|
|
|
|
import org.schabi.newpipe.extractor.services.DefaultStreamExtractorTest;
|
2021-01-17 18:55:37 +01:00
|
|
|
import org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper;
|
2021-06-06 18:32:07 +02:00
|
|
|
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor;
|
2018-07-13 18:02:40 +02:00
|
|
|
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeStreamLinkHandlerFactory;
|
2018-03-02 01:43:47 +01:00
|
|
|
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
2020-04-09 13:51:47 +02:00
|
|
|
import org.schabi.newpipe.extractor.stream.StreamType;
|
2018-03-02 01:43:47 +01:00
|
|
|
|
2020-04-09 13:51:47 +02:00
|
|
|
import java.util.Arrays;
|
2018-03-02 01:43:47 +01:00
|
|
|
import java.util.List;
|
2021-04-19 19:07:04 +02:00
|
|
|
import java.util.Random;
|
2018-03-02 01:43:47 +01:00
|
|
|
|
2020-04-09 13:51:47 +02:00
|
|
|
import javax.annotation.Nullable;
|
|
|
|
|
2018-03-02 01:43:47 +01:00
|
|
|
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
|
|
|
|
|
|
|
|
/**
|
2018-07-13 18:02:40 +02:00
|
|
|
* Test for {@link YoutubeStreamLinkHandlerFactory}
|
2018-03-02 01:43:47 +01:00
|
|
|
*/
|
2021-04-11 17:41:40 +02:00
|
|
|
|
2020-04-09 13:51:47 +02:00
|
|
|
public class YoutubeStreamExtractorControversialTest extends DefaultStreamExtractorTest {
|
2021-01-17 18:55:37 +01:00
|
|
|
private static final String RESOURCE_PATH = DownloaderFactory.RESOURCE_PATH + "services/youtube/extractor/stream/";
|
2020-04-09 13:51:47 +02:00
|
|
|
private static final String ID = "T4XJQO3qol8";
|
|
|
|
private static final String URL = YoutubeStreamExtractorDefaultTest.BASE_URL + ID;
|
|
|
|
private static StreamExtractor extractor;
|
2018-03-02 01:43:47 +01:00
|
|
|
|
2021-12-27 21:08:08 +01:00
|
|
|
@BeforeAll
|
2018-03-02 01:43:47 +01:00
|
|
|
public static void setUp() throws Exception {
|
2021-01-17 18:55:37 +01:00
|
|
|
YoutubeParsingHelper.resetClientVersionAndKey();
|
2021-04-19 19:07:04 +02:00
|
|
|
YoutubeParsingHelper.setNumberGenerator(new Random(1));
|
2021-06-06 18:32:07 +02:00
|
|
|
YoutubeStreamExtractor.resetDeobfuscationCode();
|
2022-03-16 17:22:42 +01:00
|
|
|
NewPipe.init(DownloaderFactory.getDownloader(RESOURCE_PATH + "controversial"));
|
2020-04-09 13:51:47 +02:00
|
|
|
extractor = YouTube.getStreamExtractor(URL);
|
2018-03-02 01:43:47 +01:00
|
|
|
extractor.fetchPage();
|
|
|
|
}
|
|
|
|
|
2020-04-09 13:51:47 +02:00
|
|
|
@Override public StreamExtractor extractor() { return extractor; }
|
|
|
|
@Override public StreamingService expectedService() { return YouTube; }
|
|
|
|
@Override public String expectedName() { return "Burning Everyone's Koran"; }
|
|
|
|
@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 "Amazing Atheist"; }
|
|
|
|
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCjNxszyFPasDdRoD9J6X-sw"; }
|
2022-03-14 20:46:23 +01:00
|
|
|
@Override public long expectedUploaderSubscriberCountAtLeast() { return 900_000; }
|
2020-04-09 13:51:47 +02:00
|
|
|
@Override public List<String> expectedDescriptionContains() {
|
|
|
|
return Arrays.asList("http://www.huffingtonpost.com/2010/09/09/obama-gma-interview-quran_n_710282.html",
|
|
|
|
"freedom");
|
|
|
|
}
|
|
|
|
@Override public long expectedLength() { return 219; }
|
|
|
|
@Override public long expectedViewCountAtLeast() { return 285000; }
|
|
|
|
@Nullable @Override public String expectedUploadDate() { return "2010-09-09 00:00:00.000"; }
|
|
|
|
@Nullable @Override public String expectedTextualUploadDate() { return "2010-09-09"; }
|
|
|
|
@Override public long expectedLikeCountAtLeast() { return 13300; }
|
2021-12-27 17:04:46 +01:00
|
|
|
@Override public long expectedDislikeCountAtLeast() { return -1; }
|
2020-02-09 11:59:23 +01:00
|
|
|
@Override public List<String> expectedTags() { return Arrays.asList("Books", "Burning", "Jones", "Koran", "Qur'an", "Terry", "the amazing atheist"); }
|
|
|
|
@Override public String expectedCategory() { return "Entertainment"; }
|
|
|
|
@Override public String expectedLicence() { return "YouTube licence"; }
|
2018-03-02 01:43:47 +01:00
|
|
|
}
|