1+ package com .sapher .youtubedl ;
2+
3+ import com .sapher .youtubedl .mapper .VideoFormat ;
4+ import com .sapher .youtubedl .mapper .VideoInfo ;
5+ import com .sapher .youtubedl .mapper .VideoThumbnail ;
6+ import com .sapher .youtubedl .YoutubeDLProxychains ;
7+ import org .junit .Test ;
8+ import org .junit .Assert ;
9+
10+ import java .util .List ;
11+
12+ public class YoutubeDLProxychainsTest {
13+
14+ private final static String DIRECTORY = System .getProperty ("java.io.tmpdir" );
15+ private final static String VIDEO_URL = "https://www.youtube.com/watch?v=nMfPqeZjc2c" ;
16+ private final static String NONE_EXISTENT_VIDEO_URL = "https://www.youtube.com/watch?v=dQw4w9WgXcZ" ;
17+
18+ /**@Test
19+ public void testUsingOwnExecutablePath() throws YoutubeDLException {
20+ YoutubeDLProxychains.setExecutablePath("/usr/bin/youtube-dl");
21+ Assert.assertNotNull(YoutubeDLProxychains.getVersion());
22+ }**/
23+
24+ @ Test
25+ public void testGetVersion () throws YoutubeDLException {
26+ Assert .assertNotNull (YoutubeDLProxychains .getVersion ());
27+ }
28+
29+ @ Test
30+ public void testElapsedTime () throws YoutubeDLException {
31+
32+ long startTime = System .nanoTime ();
33+
34+ YoutubeDLRequest request = new YoutubeDLRequest ();
35+ request .setOption ("version" );
36+ YoutubeDLResponse response = YoutubeDLProxychains .execute (request );
37+
38+ int elapsedTime = (int ) (System .nanoTime () - startTime );
39+
40+ Assert .assertTrue (elapsedTime > response .getElapsedTime ());
41+ }
42+
43+
44+ @ Test
45+ public void testSimulateDownload () throws YoutubeDLException {
46+
47+ YoutubeDLRequest request = new YoutubeDLRequest ();
48+ request .setUrl (VIDEO_URL );
49+ request .setOption ("simulate" );
50+
51+ YoutubeDLResponse response = YoutubeDLProxychains .execute (request );
52+ System .out .println (response .getCommand ());
53+ Assert .assertEquals ("proxychains youtube-dl " + VIDEO_URL + " --simulate" , response .getCommand ());
54+ }
55+
56+ @ Test
57+ public void testDirectory () throws YoutubeDLException {
58+
59+ YoutubeDLRequest request = new YoutubeDLRequest (VIDEO_URL , DIRECTORY );
60+ request .setOption ("simulate" );
61+
62+ YoutubeDLResponse response = YoutubeDLProxychains .execute (request );
63+
64+ Assert .assertEquals (DIRECTORY , response .getDirectory ());
65+ }
66+
67+ @ Test
68+ public void testGetVideoInfo () throws YoutubeDLException {
69+ VideoInfo videoInfo = YoutubeDLProxychains .getVideoInfo (VIDEO_URL );
70+ Assert .assertNotNull (videoInfo );
71+ }
72+
73+ @ Test
74+ public void testGetVideoInfoInDetails () throws YoutubeDLException {
75+ VideoInfo videoInfo = YoutubeDLProxychains .getVideoInfo (VIDEO_URL );
76+ Assert .assertNotNull (videoInfo );
77+ //Let's check we can access key elements from video info
78+ Assert .assertNotNull (videoInfo .getId ());
79+ Assert .assertNotNull (videoInfo .getTitle ());
80+ Assert .assertNotNull (videoInfo .getFulltitle ());
81+ Assert .assertNotNull (videoInfo .getDescription ());
82+ Assert .assertNotNull (videoInfo .getThumbnail ());
83+ Assert .assertNotNull (videoInfo .getUploaderId ());
84+ Assert .assertNotNull (videoInfo .getUploader ());
85+ Assert .assertNotNull (videoInfo .getUploadDate ());
86+ Assert .assertNotNull (videoInfo .getDuration ());
87+ Assert .assertNotNull (videoInfo .getViewCount ());
88+ Assert .assertNotNull (videoInfo .getLikeCount ());
89+ Assert .assertNotNull (videoInfo .getDislikeCount ());
90+ Assert .assertNotNull (videoInfo .getAverageRating ());
91+ //Let's print the whole object
92+ System .out .println ("videoInfo:" +videoInfo .toString ());
93+
94+
95+ }
96+
97+ @ Test
98+ public void testGetVideoInfoInDetailsWithProxychains () throws YoutubeDLException {
99+ VideoInfo videoInfo = YoutubeDLProxychains .getVideoInfo (VIDEO_URL );
100+ Assert .assertNotNull (videoInfo );
101+ //Let's check we can access key elements from video info
102+ Assert .assertNotNull (videoInfo .getId ());
103+ Assert .assertNotNull (videoInfo .getTitle ());
104+ Assert .assertNotNull (videoInfo .getFulltitle ());
105+ Assert .assertNotNull (videoInfo .getDescription ());
106+ Assert .assertNotNull (videoInfo .getThumbnail ());
107+ Assert .assertNotNull (videoInfo .getUploaderId ());
108+ Assert .assertNotNull (videoInfo .getUploader ());
109+ Assert .assertNotNull (videoInfo .getUploadDate ());
110+ Assert .assertNotNull (videoInfo .getDuration ());
111+ Assert .assertNotNull (videoInfo .getViewCount ());
112+ Assert .assertNotNull (videoInfo .getLikeCount ());
113+ Assert .assertNotNull (videoInfo .getDislikeCount ());
114+ Assert .assertNotNull (videoInfo .getAverageRating ());
115+ //Let's print the whole object
116+ System .out .println ("videoInfo:" +videoInfo .toString ());
117+
118+
119+ }
120+
121+ @ Test
122+ public void testGetFormats () throws YoutubeDLException {
123+ List <VideoFormat > formats = YoutubeDLProxychains .getFormats (VIDEO_URL );
124+ System .out .println ("formats : " +formats );
125+ Assert .assertNotNull (formats );
126+ Assert .assertTrue (formats .size () > 0 );
127+ }
128+
129+ @ Test
130+ public void testGetThumbnails () throws YoutubeDLException {
131+ List <VideoThumbnail > thumbnails = YoutubeDLProxychains .getThumbnails (VIDEO_URL );
132+ Assert .assertNotNull (thumbnails );
133+ Assert .assertTrue (thumbnails .size () > 0 );
134+ }
135+
136+ @ Test
137+ public void testGetTags () throws YoutubeDLException {
138+ List <String > tags = YoutubeDLProxychains .getTags (VIDEO_URL );
139+ Assert .assertNotNull (tags );
140+ Assert .assertTrue (tags .size () > 0 );
141+ }
142+
143+ @ Test
144+ public void testGetCategories () throws YoutubeDLException {
145+ List <String > categories = YoutubeDLProxychains .getCategories (VIDEO_URL );
146+ Assert .assertNotNull (categories );
147+ Assert .assertTrue (categories .size () > 0 );
148+ }
149+
150+ @ Test (expected = YoutubeDLException .class )
151+ public void testFailGetNonExistentVideoInfo () throws YoutubeDLException {
152+ YoutubeDLProxychains .getVideoInfo (NONE_EXISTENT_VIDEO_URL );
153+ }
154+ }
0 commit comments