コード例 #1
0
    def test_LSNicoSeiga(self):
        """静画ページ取得クラス初期状態チェック
        """
        with ExitStack() as stack:
            mocknslogin = stack.enter_context(patch("PictureGathering.LSNicoSeiga.LSNicoSeiga.Login"))
            mocknslogin = self.__MakeLoginMock(mocknslogin)

            # 正常系
            lsns_cont = LSNicoSeiga.LSNicoSeiga(self.email, self.password, self.TEST_BASE_PATH)

            self.assertEqual(self.headers, lsns_cont.headers)
            self.assertIsNotNone(lsns_cont.session)
            self.assertTrue(lsns_cont.auth_success)
            self.assertEqual(self.TEST_BASE_PATH, lsns_cont.base_path)

            # 異常系
            with self.assertRaises(SystemExit):
                lsns_cont = LSNicoSeiga.LSNicoSeiga("invalid email", "invalid password", self.TEST_BASE_PATH)
コード例 #2
0
    def test_Login(self):
        """セッション開始とログイン機能をチェック
        """
        with ExitStack() as stack:
            # モック置き換え
            mocksession = stack.enter_context(patch("PictureGathering.LSNicoSeiga.requests.session"))
            mocksession.side_effect = self.__MakeSessionMock

            lsns_cont = LSNicoSeiga.LSNicoSeiga(self.email, self.password, self.TEST_BASE_PATH)
            self.assertEqual(self.headers, lsns_cont.headers)
            self.assertIsNotNone(lsns_cont.session)
            self.assertTrue(lsns_cont.auth_success)
            self.assertEqual(self.TEST_BASE_PATH, lsns_cont.base_path)
コード例 #3
0
    def test_IsTargetUrl(self):
        """URLがニコニコ静画のURLかどうか判定する機能をチェック
        """
        with ExitStack() as stack:
            mocknslogin = stack.enter_context(patch("PictureGathering.LSNicoSeiga.LSNicoSeiga.Login"))
            mocknslogin = self.__MakeLoginMock(mocknslogin)
            lsns_cont = LSNicoSeiga.LSNicoSeiga(self.email, self.password, self.TEST_BASE_PATH)

            # 正常系
            # 作品ページURL
            url_s = "https://seiga.nicovideo.jp/seiga/im5360137"
            self.assertEqual(True, lsns_cont.IsTargetUrl(url_s))

            # 作品ページURL(クエリつき)
            url_s = "https://seiga.nicovideo.jp/seiga/im5360137?track=ranking"
            self.assertEqual(True, lsns_cont.IsTargetUrl(url_s))

            # 異常系
            # 全く関係ないアドレス(Google)
            url_s = "https://www.google.co.jp/"
            self.assertEqual(False, lsns_cont.IsTargetUrl(url_s))

            # 全く関係ないアドレス(pixiv)
            url_s = "https://www.pixiv.net/artworks/24010650"
            self.assertEqual(False, lsns_cont.IsTargetUrl(url_s))

            # 漫画ページ
            url_s = "https://seiga.nicovideo.jp/watch/mg558273"
            self.assertEqual(False, lsns_cont.IsTargetUrl(url_s))

            # httpsでなくhttp
            url_s = "http://seiga.nicovideo.jp/seiga/im5360137"
            self.assertEqual(False, lsns_cont.IsTargetUrl(url_s))

            # 静画の別ページ
            url_s = "https://seiga.nicovideo.jp/illust/ranking/point/hourly?save=1"
            self.assertEqual(False, lsns_cont.IsTargetUrl(url_s))

            # プリフィックスエラー
            url_s = "ftp://seiga.nicovideo.jp/seiga/im5360137"
            self.assertEqual(False, lsns_cont.IsTargetUrl(url_s))
コード例 #4
0
    def test_GetIllustId(self):
        """ニコニコ静画作品ページURLからイラストIDを取得する機能をチェック
        """
        with ExitStack() as stack:
            mocknslogin = stack.enter_context(patch("PictureGathering.LSNicoSeiga.LSNicoSeiga.Login"))
            mocknslogin = self.__MakeLoginMock(mocknslogin)
            lsns_cont = LSNicoSeiga.LSNicoSeiga(self.email, self.password, self.TEST_BASE_PATH)

            # 正常系
            r = "{:0>7}".format(random.randint(0, 9999999))
            # 作品ページURL
            url_s = "https://seiga.nicovideo.jp/seiga/im{}".format(r)
            expect = int(r)
            actual = lsns_cont.GetIllustId(url_s)
            self.assertEqual(expect, actual)

            # 異常系
            # 漫画ページ
            url_s = "https://seiga.nicovideo.jp/watch/mg{}".format(r)
            expect = -1
            actual = lsns_cont.GetIllustId(url_s)
            self.assertEqual(expect, actual)