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")
Exemplo n.º 2
0
 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')
Exemplo n.º 3
0
 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')
Exemplo n.º 4
0
    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 == {})                
Exemplo n.º 5
0
    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'})
Exemplo n.º 10
0
    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'})
Exemplo n.º 11
0
 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'})
Exemplo n.º 12
0
    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'})
Exemplo n.º 13
0
 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'})
Exemplo n.º 14
0
    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")