def test_getLoginInfo_should_ask_for_cookies(self):
        sys.modules["__main__"].settings.getSetting.return_value = "" 
        sys.modules["__main__"].common.parseDOM.side_effect = [["honk honk"], ["honk honk2"]] 
        sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""
        login = YouTubeLogin()

        result = login._getLoginInfo("   USERNAME', 'some_value" + '")')
        sys.modules["__main__"].common.getCookieInfoAsHTML.assert_called_with()
    def test_getLoginInfo_should_ask_for_cookies(self):
        sys.modules["__main__"].settings.getSetting.return_value = ""
        sys.modules["__main__"].common.parseDOM.side_effect = [["honk honk"],
                                                               ["honk honk2"]]
        sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""
        login = YouTubeLogin()

        result = login._getLoginInfo("   USERNAME', 'some_value" + '")')
        sys.modules["__main__"].common.getCookieInfoAsHTML.assert_called_with()
    def test_httpLogin_should_call_findErrors_on_login_failure(self):
        sys.modules["__main__"].core._findErrors.return_value = False
        sys.modules["__main__"].core._fetchPage.return_value = {"content":"","status":200}
        sys.modules["__main__"].settings.getSetting.return_value = "smokey" 
        sys.modules["__main__"].common.parseDOM.return_value = ""
        login = YouTubeLogin()
        login._getLoginInfo = Mock()
        
        result = login._httpLogin({"new":"true"})

        sys.modules["__main__"].core._findErrors.assert_called_with({'content': '', 'status': 200})
    def test_getLoginInfo_should_return_proper_status_on_success(self):
        dummy_content = Mock()
        dummy_content.find.return_value = -1
        sys.modules["__main__"].settings.getSetting.return_value = "" 
        sys.modules["__main__"].common.parseDOM.side_effect = [["honk"], ["honk honk"], ["honk honk2"]]
        sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""

        login = YouTubeLogin()

        result = login._getLoginInfo("")
        
        assert(result == 200)
    def test_httpLogin_should_call_getLoginInfo_on_login_success(self):
        sys.modules["__main__"].core._findErrors.return_value = False
        sys.modules["__main__"].core._fetchPage.return_value = {"content":"<span class='masthead-user-username'>USERNAME</class>","status":200}
        sys.modules["__main__"].settings.getSetting.return_value = "smokey" 
        sys.modules["__main__"].common.parseDOM.side_effect = [ ["USERNAME"], ["USERNAME"]]
        login = YouTubeLogin()
        login._getLoginInfo = Mock()
        login._getLoginInfo.return_value = 200
        
        result = login._httpLogin({"new":"true"})

        login._getLoginInfo.assert_called_with(["USERNAME"])
    def test_httpLogin_should_look_for_user_name_to_indicate_login_success(self):
        sys.modules["__main__"].core._findErrors.return_value = False
        sys.modules["__main__"].core._fetchPage.return_value = {"content": "logged_in","status":200}
        sys.modules["__main__"].settings.getSetting.return_value = "smokey" 
        sys.modules["__main__"].common.parseDOM.side_effect = [ ["USERNAME"], ["USERNAME"]]
        login = YouTubeLogin()
        login._getLoginInfo = Mock()

        result = login._httpLogin({"new":"true"})

        assert(sys.modules["__main__"].core._fetchPage.call_count == 1)
        login._getLoginInfo.assert_called_with(["USERNAME"])
    def test_getLoginInfo_should_return_error_status_on_failure(self):
        dummy_content = Mock()
        dummy_content.find.return_value = -1
        sys.modules["__main__"].cookiejar = Mock()
        sys.modules["__main__"].cookiejar = ""
        sys.modules["__main__"].settings.getSetting.return_value = ""
        sys.modules["__main__"].common.parseDOM.return_value = ""
        sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""
        login = YouTubeLogin()

        result = login._getLoginInfo("")

        assert (result == 303)
 def test_getLoginInfo_should_return_error_status_on_failure(self):
     dummy_content = Mock()
     dummy_content.find.return_value = -1
     sys.modules[ "__main__" ].cookiejar = Mock()
     sys.modules[ "__main__" ].cookiejar = ""
     sys.modules["__main__"].settings.getSetting.return_value = "" 
     sys.modules["__main__"].common.parseDOM.return_value = ""
     sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""
     login = YouTubeLogin()
     
     result = login._getLoginInfo("")
     
     assert(result == 303)
    def test_getLoginInfo_should_return_proper_status_on_success(self):
        dummy_content = Mock()
        dummy_content.find.return_value = -1
        sys.modules["__main__"].settings.getSetting.return_value = ""
        sys.modules["__main__"].common.parseDOM.side_effect = [["honk"],
                                                               ["honk honk"],
                                                               ["honk honk2"]]
        sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""

        login = YouTubeLogin()

        result = login._getLoginInfo("")

        assert (result == 200)
Exemplo n.º 10
0
 def test_getLoginInfo_should_call_setSetting_to_save_login_info(self):
     dummy_content = Mock()
     dummy_content.find.return_value = -1
     sys.modules["__main__"].settings.getSetting.return_value = "" 
     sys.modules["__main__"].common.parseDOM.side_effect = [["honk honk"], ["honk honk2"]] 
     sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""
     login = YouTubeLogin()
     
     result = login._getLoginInfo("")
     
     sys.modules["__main__"].common.getCookieInfoAsHTML.assert_called_with()
     assert(sys.modules["__main__"].settings.setSetting.call_count == 3)
     sys.modules["__main__"].settings.setSetting.assert_any_call("login_info","honk honk")
     sys.modules["__main__"].settings.setSetting.assert_any_call("SID","honk honk2")
Exemplo n.º 11
0
    def test_httpLogin_should_call_getLoginInfo_on_login_success(self):
        sys.modules["__main__"].core._findErrors.return_value = False
        sys.modules["__main__"].core._fetchPage.return_value = {
            "content": "<span class='masthead-user-username'>USERNAME</class>",
            "status": 200
        }
        sys.modules["__main__"].settings.getSetting.return_value = "smokey"
        sys.modules["__main__"].common.parseDOM.side_effect = [["USERNAME"],
                                                               ["USERNAME"]]
        login = YouTubeLogin()
        login._getLoginInfo = Mock()
        login._getLoginInfo.return_value = 200

        result = login._httpLogin({"new": "true"})

        login._getLoginInfo.assert_called_with(["USERNAME"])
Exemplo n.º 12
0
    def test_getLoginInfo_should_call_setSetting_to_save_login_info(self):
        dummy_content = Mock()
        dummy_content.find.return_value = -1
        sys.modules["__main__"].settings.getSetting.return_value = ""
        sys.modules["__main__"].common.parseDOM.side_effect = [["honk honk"],
                                                               ["honk honk2"]]
        sys.modules["__main__"].common.getCookieInfoAsHTML.return_value = ""
        login = YouTubeLogin()

        result = login._getLoginInfo("")

        sys.modules["__main__"].common.getCookieInfoAsHTML.assert_called_with()
        assert (sys.modules["__main__"].settings.setSetting.call_count == 3)
        sys.modules["__main__"].settings.setSetting.assert_any_call(
            "login_info", "honk honk")
        sys.modules["__main__"].settings.setSetting.assert_any_call(
            "SID", "honk honk2")
Exemplo n.º 13
0
    def test_httpLogin_should_look_for_user_name_to_indicate_login_success(
            self):
        sys.modules["__main__"].core._findErrors.return_value = False
        sys.modules["__main__"].core._fetchPage.return_value = {
            "content": "logged_in",
            "status": 200
        }
        sys.modules["__main__"].settings.getSetting.return_value = "smokey"
        sys.modules["__main__"].common.parseDOM.side_effect = [["USERNAME"],
                                                               ["USERNAME"]]
        login = YouTubeLogin()
        login._getLoginInfo = Mock()

        result = login._httpLogin({"new": "true"})

        assert (sys.modules["__main__"].core._fetchPage.call_count == 1)
        login._getLoginInfo.assert_called_with(["USERNAME"])
Exemplo n.º 14
0
    def test_httpLogin_should_call_findErrors_on_login_failure(self):
        sys.modules["__main__"].core._findErrors.return_value = False
        sys.modules["__main__"].core._fetchPage.return_value = {
            "content": "",
            "status": 200
        }
        sys.modules["__main__"].settings.getSetting.return_value = "smokey"
        sys.modules["__main__"].common.parseDOM.return_value = ""
        login = YouTubeLogin()
        login._getLoginInfo = Mock()

        result = login._httpLogin({"new": "true"})

        sys.modules["__main__"].core._findErrors.assert_called_with({
            'content':
            '',
            'status':
            200
        })
Exemplo n.º 15
0
    def test_httpLogin_should_call_fetchPage_with_correct_fetch_options_if_smsToken_is_found(
            self):
        sys.modules["__main__"].core._findErrors.return_value = False
        dom_values = [
            "USERNAME", ["some cont"], ["some smsToken"], "", "", "", "",
            ["galx"], "", ""
        ]
        login_values = [("", ""), ("some_galx", "some_url_data")]
        sys.modules["__main__"].core._fetchPage.return_value = {
            "content": "",
            "status": 200,
            "location": "here"
        }
        sys.modules["__main__"].settings.getSetting.return_value = "smokey"
        sys.modules[
            "__main__"].common.parseDOM.side_effect = lambda x="", y="", attrs={
            }, ret="": dom_values.pop()

        login = YouTubeLogin()
        login._getLoginInfo = Mock()
        login._getLoginInfo.return_value = 200
        login._fillLoginInfo = Mock()
        login._fillLoginInfo.side_effect = lambda x: login_values.pop()

        result = login._httpLogin({"new": "true"})

        print sys.modules["__main__"].core._fetchPage.call_count
        assert (sys.modules["__main__"].core._fetchPage.call_count == 3)
        print repr(sys.modules["__main__"].core._fetchPage.call_args_list)
        sys.modules["__main__"].core._fetchPage.assert_called_with({
            'referer':
            'here',
            'link':
            'some cont',
            'no-language-cookie':
            'true',
            'url_data': {
                'service': 'youtube',
                'GALX': 'some_galx',
                'PersistentCookie': 'yes',
                'smsToken': 'some smsToken'
            }
        })
Exemplo n.º 16
0
    def test_httpLogin_should_call_fetchPage_with_correct_fetch_options_if_smsToken_is_found(self):
        sys.modules["__main__"].core._findErrors.return_value = False
        dom_values = ["USERNAME", ["some cont"], ["some smsToken"], "", "", "", "", ["galx"], "", ""]
        login_values = [("",""), ("some_galx", "some_url_data")]
        sys.modules["__main__"].core._fetchPage.return_value = {"content":"","status":200, "location": "here"}
        sys.modules["__main__"].settings.getSetting.return_value = "smokey" 
        sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "",y = "",attrs = {},ret = "": dom_values.pop()

        login = YouTubeLogin()
        login._getLoginInfo = Mock()
        login._getLoginInfo.return_value = 200
        login._fillLoginInfo = Mock()
        login._fillLoginInfo.side_effect = lambda x: login_values.pop()

        result = login._httpLogin({"new":"true"})

        print sys.modules["__main__"].core._fetchPage.call_count
        assert(sys.modules["__main__"].core._fetchPage.call_count == 3)
        print repr(sys.modules["__main__"].core._fetchPage.call_args_list)
        sys.modules["__main__"].core._fetchPage.assert_called_with({'referer': 'here', 'link': 'some cont', 'no-language-cookie': 'true', 'url_data': {'service': 'youtube', 'GALX': 'some_galx', 'PersistentCookie': 'yes', 'smsToken': 'some smsToken'}})