OSDN Git Service

2009/03/23リリース。
[coroid/NicoBrowser.git] / test / nicobrowser / NicoHttpClientTest.java
index 710add0..ae8254a 100644 (file)
@@ -2,6 +2,8 @@
 package nicobrowser;
 
 import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -11,6 +13,8 @@ import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.EntityTransaction;
 import javax.persistence.Persistence;
+import nicobrowser.entity.NicoContent.Status;
+import org.apache.http.HttpException;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -26,7 +30,7 @@ public class NicoHttpClientTest {
 
     static final String OK_MAIL = "niconico.senyou@live.jp";
     static final String OK_PASS = "piyopiyo";
-    static final String OK_LIST_NO = "4315046";
+    static final String OK_LIST_NO = "3693055";
 
     public NicoHttpClientTest() {
     }
@@ -65,7 +69,7 @@ public class NicoHttpClientTest {
      * Test of login method, of class NicoHttpClient.
      */
     @Test
-    public void login() {
+    public void login() throws HttpException, URISyntaxException, InterruptedException {
         System.out.println("login");
         NicoHttpClient instance = NicoHttpClient.getInstance();
 
@@ -83,7 +87,7 @@ public class NicoHttpClientTest {
     }
 
     @Test
-    public void logout() {
+    public void logout() throws URISyntaxException, HttpException, InterruptedException {
         System.out.println("logout");
 
         boolean result;
@@ -95,7 +99,7 @@ public class NicoHttpClientTest {
     }
 
     @Test
-    public void loadMyList() {
+    public void loadMyList() throws URISyntaxException, HttpException, InterruptedException {
         System.out.println("loadMyList");
 
         NicoHttpClient instance = NicoHttpClient.getInstance();
@@ -114,7 +118,7 @@ public class NicoHttpClientTest {
     }
 
     @Test
-    public void loadMyListDaily() {
+    public void loadMyListDaily() throws URISyntaxException, HttpException, InterruptedException {
         System.out.println("loadMyListDaily");
         NicoHttpClient instance = NicoHttpClient.getInstance();
         List<NicoContent> list = instance.loadMyListDaily();
@@ -151,13 +155,13 @@ public class NicoHttpClientTest {
     }
 
     @Test
-    public void getFlvUrl() {
+    public void getFlvUrl() throws URISyntaxException, HttpException, InterruptedException, IOException {
         System.out.println("getFlv");
 
         NicoHttpClient instance = NicoHttpClient.getInstance();
         instance.login(OK_MAIL, OK_PASS);
         try {
-            URL str = instance.getFlvUrl("sm9");
+            URL str = instance.getFlvUrl("sm1359820");
             System.out.println(str);
         } catch (IOException ex) {
             fail();
@@ -167,17 +171,88 @@ public class NicoHttpClientTest {
     }
 
     @Test
-    public void downLoad() {
+    public void downLoad() throws URISyntaxException, IOException, HttpException, InterruptedException {
         System.out.println("downLoad");
 
         NicoHttpClient instance = NicoHttpClient.getInstance();
         instance.login(OK_MAIL, OK_PASS);
 
         try {
-            instance.getFlvFile("sm9");
+            instance.getFlvFile("sm183036", "sm183036", NicoContent.Status.GET_INFO, false);
         } catch (IOException ex) {
             Logger.getLogger(NicoHttpClientTest.class.getName()).log(Level.SEVERE, null, ex);
             fail();
         }
     }
+
+    /**
+     * Test of getFlvFile method, of class NicoHttpClient.
+     */
+    @Test
+    public void getFlvFile_String() throws HttpException, InterruptedException, URISyntaxException {
+        System.out.println("getFlvFile");
+        String videoID = "sm1097445";
+        NicoHttpClient instance = NicoHttpClient.getInstance();
+        instance.login(OK_MAIL, OK_PASS);
+        Status result;
+        try {
+            result = instance.getFlvFile(videoID);
+            System.out.println(result);
+            assertNotSame(Status.GET_INFO, result);
+        } catch (Exception ex) {
+            Logger.getLogger(NicoHttpClientTest.class.getName()).log(Level.SEVERE, null, ex);
+            fail();
+        }
+
+        // 権限が無い動画?の取得
+        // http://www.nicovideo.jp/watch/1231042440
+        // 【亡き王女の為のセプテット・ツェペシュの幼き末裔】Priere -プリエール-
+        try {
+            result = instance.getFlvFile("1231042440");
+            fail("権限が無い動画を取得しようとした場合は例外が送出される");
+        } catch (IOException ex) {
+            Logger.getLogger(NicoHttpClientTest.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+
+    @Test
+    public void search() throws URISyntaxException, InterruptedException, HttpException, IOException {
+        System.out.println("search");
+        NicoHttpClient instance = NicoHttpClient.getInstance();
+        instance.login(OK_MAIL, OK_PASS);
+
+        List<NicoContent> conts = instance.search("初音ミク");
+        System.out.println("検索結果件数: " + conts.size());
+        assertTrue(conts.size() > 0);
+        assertTrue(conts.size() > 100);
+
+    }
+
+    @Test
+    public void loadMyMovie() throws URISyntaxException, InterruptedException, HttpException, IOException {
+        System.out.println("search");
+        NicoHttpClient instance = NicoHttpClient.getInstance();
+        instance.login(OK_MAIL, OK_PASS);
+
+        NicoContent cont;
+
+        // 通常の動画
+        cont = instance.loadMyMovie("sm9");
+        assertNotNull(cont);
+        assertEquals("sm9", cont.getNicoId());
+
+        // チャンネル動画はnull(statusがfailなので)
+        cont = instance.loadMyMovie("1228201771");
+        assertNull(cont);
+
+        // 削除済み
+        cont = instance.loadMyMovie("sm1");
+        assertNull(cont);
+
+        // 存在しない
+        cont = instance.loadMyMovie("xxx");
+        assertNull(cont);
+
+
+    }
 }