def test_httpLogin_should_call_fillUserPin_if_2factor_login_needs_smsUserPin( self): sys.modules["__main__"].core._findErrors.return_value = False page_values = [{ "content": " captcha", "status": 200, "location": "here" }, { "new_url": "http://www.mock.com/", "content": "something,smsUserPin,somethingElse", "status": 200, "location": "here" }] sys.modules[ "__main__"].core._fetchPage.side_effect = lambda x: page_values.pop( ) sys.modules["__main__"].settings.getSetting.return_value = "smokey" dom_values = [["Login"], [], [], [], []] sys.modules[ "__main__"].common.parseDOM.side_effect = lambda x="", y="", attrs={ }, ret="": dom_values.pop() login = YouTubeLogin() login._fillUserPin = Mock() login._fillUserPin.return_value = "123456" result = login._httpLogin({"new": "true"}) assert (sys.modules["__main__"].core._fetchPage.call_count == 2) login._fillUserPin.assert_called_with( "something,smsUserPin,somethingElse")
def test_fillUserPin_should_ask_user_for_user_pin(self): sys.modules["__main__"].settings.getSetting.return_value = "" sys.modules["__main__"].common.parseDOM.return_value = "something" sys.modules["__main__"].language.return_value = "someTitle" sys.modules["__main__"].common.getUserInputNumbers.return_value = "123456" login = YouTubeLogin() result = login._fillUserPin("new") sys.modules["__main__"].common.getUserInputNumbers.assert_called_with('someTitle')
def test_fillUserPin_should_not_return_url_data_structure_if_values_are_missing(self): sys.modules["__main__"].settings.getSetting.return_value = "" sys.modules["__main__"].common.parseDOM.return_value = "" sys.modules["__main__"].language.return_value = "" sys.modules["__main__"].common.getUserInput.return_value = "" sys.modules["__main__"].common.getUserInputNumbers.return_value = "" login = YouTubeLogin() result = login._fillUserPin("new") assert(result == {})
def test_fillUserPin_should_return_url_data_structure_if_all_values_are_found(self): sys.modules["__main__"].settings.getSetting.return_value = "value1" sys.modules["__main__"].common.parseDOM.return_value = ["value2"] sys.modules["__main__"].language.return_value = "someTitle" sys.modules["__main__"].common.getUserInputNumbers.return_value = "value3" login = YouTubeLogin() result = login._fillUserPin("new") assert(result["smsUserPin"] == "value3") assert(result["smsToken"] == "value2")
def test_fillUserPin_should_return_url_data_structure_if_all_values_are_found( self): sys.modules["__main__"].settings.getSetting.return_value = "value1" sys.modules["__main__"].common.parseDOM.return_value = ["value2"] sys.modules["__main__"].language.return_value = "someTitle" sys.modules[ "__main__"].common.getUserInputNumbers.return_value = "value3" login = YouTubeLogin() result = login._fillUserPin("new") assert (result["smsUserPin"] == "value3") assert (result["smsToken"] == "value2")
def test_fillUserPin_should_call_parseDOM_for_smsToken(self): sys.modules["__main__"].settings.getSetting.return_value = "" sys.modules["__main__"].common.parseDOM.return_value = "something" sys.modules["__main__"].language.return_value = "" sys.modules["__main__"].common.getUserInput.return_value = "" sys.modules["__main__"].common.getUserInputNumbers.return_value = "123456" login = YouTubeLogin() result = login._fillUserPin("new") args = sys.modules["__main__"].common.parseDOM.call_args_list assert(args[0][0] == ("new","input")) assert(args[0][1] == {'attrs': {'name': 'smsToken'}, 'ret': 'value'})
def test_fillUserPin_should_call_parseDOM_for_smsToken(self): sys.modules["__main__"].settings.getSetting.return_value = "" sys.modules["__main__"].common.parseDOM.return_value = "something" sys.modules["__main__"].language.return_value = "" sys.modules["__main__"].common.getUserInput.return_value = "" sys.modules[ "__main__"].common.getUserInputNumbers.return_value = "123456" login = YouTubeLogin() result = login._fillUserPin("new") args = sys.modules["__main__"].common.parseDOM.call_args_list assert (args[0][0] == ("new", "input")) assert (args[0][1] == {'attrs': {'name': 'smsToken'}, 'ret': 'value'})
def test_fillUserPin_should_call_parseDOM_for_smsToken(self): sys.modules["__main__"].settings.getSetting.return_value = "" sys.modules["__main__"].common.parseDOM.side_effect = [["form"], ["smsToken"], ["value2"]] sys.modules["__main__"].language.return_value = "" sys.modules["__main__"].common.getUserInput.return_value = "" sys.modules["__main__"].common.getUserInputNumbers.return_value = "123456" login = YouTubeLogin() result = login._fillUserPin("new") args = sys.modules["__main__"].common.parseDOM.call_args_list print(repr(args)) assert(args[0][0] == ("new","form")) assert(args[2][1] == {'attrs': {'name': 'smsToken'}, 'ret': 'value'})
def test_httpLogin_should_call_fetchPage_with_correct_fetch_options_if_fillUserPin_succeded(self): sys.modules["__main__"].core._findErrors.return_value = False page_values = [ {"content":" captcha","status":200, "location": "here"}, { "new_url": "http://www.mock.com", "content":"something,smsUserPin,somethingElse","status":200, "location": "here"}] sys.modules["__main__"].core._fetchPage.side_effect = lambda x: page_values.pop() sys.modules["__main__"].settings.getSetting.return_value = "smokey" dom_values = [["Login"], [], [], [], []] sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "",y = "",attrs = {},ret = "": dom_values.pop() login = YouTubeLogin() login._fillUserPin = Mock() login._fillUserPin.return_value = "some_url_data" result = login._httpLogin({"new":"true"}) assert(sys.modules["__main__"].core._fetchPage.call_count == 2) sys.modules["__main__"].core._fetchPage.assert_called_with({'referer': 'here', 'link': 'Login', 'url_data': 'some_url_data'})
def test_httpLogin_should_call_fetchPage_with_correct_fetch_options_if_fillUserPin_succeded(self): sys.modules["__main__"].core._findErrors.return_value = False page_values = [ {"content":" captcha","status":200, "location": "here"}, { "new_url": "http://www.mock.com", "content":"something,smsUserPin,somethingElse","status":200, "location": "here"}] sys.modules["__main__"].core._fetchPage.side_effect = lambda x: page_values.pop() sys.modules["__main__"].settings.getSetting.return_value = "smokey" dom_values = [["Login"], [], [], [], []] sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "",y = "",attrs = {},ret = "": dom_values.pop() login = YouTubeLogin() login._fillUserPin = Mock() login._fillUserPin.return_value = "some_url_data" result = login._httpLogin({"new":"true"}) assert(sys.modules["__main__"].core._fetchPage.call_count == 2) sys.modules["__main__"].core._fetchPage.assert_called_with({'referer': 'http://www.mock.com', 'link': 'Login', 'url_data': 'some_url_data'})
def test_httpLogin_should_call_fillUserPin_if_2factor_login_needs_smsUserPin(self): sys.modules["__main__"].core._findErrors.return_value = False page_values = [ {"content":" captcha","status":200, "location": "here"}, { "new_url": "http://www.mock.com/", "content":"something,smsUserPin,somethingElse","status":200, "location": "here"}] sys.modules["__main__"].core._fetchPage.side_effect = lambda x: page_values.pop() sys.modules["__main__"].settings.getSetting.return_value = "smokey" dom_values = [["Login"], [], [], [], []] sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "",y = "",attrs = {},ret = "": dom_values.pop() login = YouTubeLogin() login._fillUserPin = Mock() login._fillUserPin.return_value = "123456" result = login._httpLogin({"new":"true"}) assert(sys.modules["__main__"].core._fetchPage.call_count == 2) login._fillUserPin.assert_called_with("something,smsUserPin,somethingElse")