package com.rarchives.ripme.tst.ripper.rippers;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import com.rarchives.ripme.ripper.VideoRipper;
import com.rarchives.ripme.ripper.rippers.video.PornhubRipper;
import com.rarchives.ripme.ripper.rippers.video.VineRipper;
import com.rarchives.ripme.ripper.rippers.video.XvideosRipper;
import com.rarchives.ripme.ripper.rippers.video.YoupornRipper;
public class VideoRippersTest extends RippersTest {
/**
* Helper method for testing a video ripper
* @param ripper The video ripper
*/
private void videoTestHelper(VideoRipper ripper) {
URL oldURL = ripper.getURL();
try {
ripper.setup();
ripper.markAsTest();
ripper.rip();
// Video ripper testing is... weird.
// If the ripper finds the URL to download the video, and it's a test,
// then the ripper sets the download URL as the ripper's URL.
assertFalse("Failed to find download url for " + oldURL, oldURL.equals(ripper.getURL()));
} catch (Exception e) {
fail("Error while ripping " + ripper.getURL() + " : " + e);
e.printStackTrace();
} finally {
deleteDir(ripper.getWorkingDir());
}
}
public void testXvideosRipper() throws IOException {
List<URL> contentURLs = new ArrayList<URL>();
contentURLs.add(new URL("http://www.xvideos.com/video1428195/stephanie_first_time_anal"));
contentURLs.add(new URL("http://www.xvideos.com/video7136868/vid-20140205-wa0011"));
for (URL url : contentURLs) {
XvideosRipper ripper = new XvideosRipper(url);
videoTestHelper(ripper);
}
}
public void testPornhubRipper() throws IOException {
List<URL> contentURLs = new ArrayList<URL>();
contentURLs.add(new URL("http://www.pornhub.com/view_video.php?viewkey=993166542"));
for (URL url : contentURLs) {
PornhubRipper ripper = new PornhubRipper(url);
videoTestHelper(ripper);
}
}
public void testVineRipper() throws IOException {
List<URL> contentURLs = new ArrayList<URL>();
contentURLs.add(new URL("https://vine.co/v/hiqQrP0eUZx"));
for (URL url : contentURLs) {
VineRipper ripper = new VineRipper(url);
videoTestHelper(ripper);
}
}
public void testYoupornRipper() throws IOException {
List<URL> contentURLs = new ArrayList<URL>();
contentURLs.add(new URL("http://www.youporn.com/watch/7669155/mrs-li-amateur-69-orgasm/?from=categ"));
for (URL url : contentURLs) {
YoupornRipper ripper = new YoupornRipper(url);
videoTestHelper(ripper);
}
}
}