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)
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")
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_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")
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_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_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' } })
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'}})