def test_apiLogin_should_set_oauth_specific_values_on_success(self):
        patcher = patch("time.time")
        patcher.start()
        import time
        time.time = Mock(return_value=1)

        sys.modules["__main__"].core._fetchPage.side_effect = [{
            "content":
            '{"expires_in":"12", "access_token":"my_favorite_access_token", "refresh_token":"my_favorite_refresh_token" }'
        }, {
            "content": ""
        }]
        sys.modules["__main__"].settings.getSetting.return_value = ""
        sys.modules["__main__"].common.parseDOM.return_value = ""
        login = YouTubeLogin()

        login._apiLogin()
        patcher.stop()

        sys.modules["__main__"].settings.setSetting.assert_any_call(
            "oauth2_expires_at", '13')
        sys.modules["__main__"].settings.setSetting.assert_any_call(
            "oauth2_access_token", "my_favorite_access_token")
        sys.modules["__main__"].settings.setSetting.assert_any_call(
            "oauth2_refresh_token", "my_favorite_refresh_token")
Exemplo n.º 2
0
    def test_apiLogin_should_call_oauth2_login_url_only_one_time_if_url_fails(self):
        sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
        sys.modules["__main__"].common.parseDOM.return_value = ""
        login = YouTubeLogin()
        
        login._apiLogin()

        assert(sys.modules["__main__"].core._fetchPage.call_count == 1)
Exemplo n.º 3
0
 def test_apiLogin_should_follow_redirect_if_statewrapper_present(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", "","", ["some_code"], "", "", "", ""]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     assert(sys.modules["__main__"].core._fetchPage.call_count == 2)
Exemplo n.º 4
0
    def test_apiLogin_should_call_oauth2_login_url_only_one_time_if_url_fails(self):
        sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
        sys.modules["__main__"].common.parseDOM.return_value = ""
        login = YouTubeLogin()
        
        login._apiLogin()

        assert(sys.modules["__main__"].core._fetchPage.call_count == 1)
Exemplo n.º 5
0
 def test_apiLogin_should_follow_redirect_if_statewrapper_present(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", "","", ["some_code"], "", "", "", ""]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     assert(sys.modules["__main__"].core._fetchPage.call_count == 2)
 def test_apiLogin_should_request_token_if_code_present(self):
     dom_values = ["","","",["some_code"],"",""]
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "", y ="",attrs = {},ret = {}: dom_values.pop()
     login = YouTubeLogin()
     
     login._apiLogin()
     
     assert(sys.modules["__main__"].core._fetchPage.call_count == 2)
Exemplo n.º 7
0
 def test_apiLogin_should_request_token_if_code_present(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", "","", ["some_code"], "", "", "", ""]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     print(repr(sys.modules["__main__"].core._fetchPage.call_count))
     assert(sys.modules["__main__"].core._fetchPage.call_count == 2)
 def test_apiLogin_should_follow_redirect_if_statewrapper_present(self):
     dom_values = ["","","",["some_state_wrapper"],["some_new_url"]]
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "", y ="",attrs = {},ret = {}: dom_values.pop()
     login = YouTubeLogin()
     
     login._apiLogin()
     
     assert(sys.modules["__main__"].core._fetchPage.call_count == 2)
Exemplo n.º 9
0
 def test_apiLogin_should_call_fetchPage_with_correct_params(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.return_value = ""
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].core._fetchPage.call_args
     assert(args[0][0].has_key("link"))
Exemplo n.º 10
0
 def test_apiLogin_should_request_token_if_code_present(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", "","", ["some_code"], "", "", "", ""]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     print(repr(sys.modules["__main__"].core._fetchPage.call_count))
     assert(sys.modules["__main__"].core._fetchPage.call_count == 2)
Exemplo n.º 11
0
 def test_apiLogin_should_call_fetchPage_with_correct_params(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.return_value = ""
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].core._fetchPage.call_args
     assert(args[0][0].has_key("link"))
Exemplo n.º 12
0
    def test_apiLogin_should_follow_redirect_if_statewrapper_present(self):
        dom_values = ["", "", "", ["some_state_wrapper"], ["some_new_url"]]
        sys.modules["__main__"].core._fetchPage.return_value = {"content": ""}
        sys.modules[
            "__main__"].common.parseDOM.side_effect = lambda x="", y="", attrs={
            }, ret={}: dom_values.pop()
        login = YouTubeLogin()

        login._apiLogin()

        assert (sys.modules["__main__"].core._fetchPage.call_count == 2)
Exemplo n.º 13
0
    def test_apiLogin_should_request_token_if_code_present(self):
        dom_values = ["", "", "", ["some_code"], "", ""]
        sys.modules["__main__"].core._fetchPage.return_value = {"content": ""}
        sys.modules[
            "__main__"].common.parseDOM.side_effect = lambda x="", y="", attrs={
            }, ret={}: dom_values.pop()
        login = YouTubeLogin()

        login._apiLogin()

        assert (sys.modules["__main__"].core._fetchPage.call_count == 2)
Exemplo n.º 14
0
 def test_apiLogin_should_search_for_state_wrapper_and_new_url(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", "","","","some_state_wrapper","some_new_url"]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].common.parseDOM.call_args
     assert(args[0] == ("","input"))
     assert(args[1].has_key("attrs"))
     assert(args[1]["attrs"].has_key("id"))
     assert(args[1]["attrs"]["id"] == "code")
Exemplo n.º 15
0
 def test_apiLogin_should_call_fetchPage_with_correct_params_on_redirect(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", ["some_new_url"], ["some_state_wrapper"], "", "", "", ""]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].core._fetchPage.call_args
     print(repr(args))
     assert(args[0][0]["link"] == "some_new_url")
     assert(args[0][0]["url_data"]["submit_access"] == "true" )
     assert(args[0][0]["url_data"]["state_wrapper"] == "some_state_wrapper" )
Exemplo n.º 16
0
 def test_apiLogin_should_call_fetchPage_with_correct_params_on_redirect(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", ["some_new_url"], ["some_state_wrapper"], "", "", "", ""]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].core._fetchPage.call_args
     print(repr(args))
     assert(args[0][0]["link"] == "some_new_url")
     assert(args[0][0]["url_data"]["submit_access"] == "true" )
     assert(args[0][0]["url_data"]["state_wrapper"] == "some_state_wrapper" )
Exemplo n.º 17
0
 def test_apiLogin_should_search_for_state_wrapper_and_new_url(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = ["", "","","","some_state_wrapper","some_new_url"]
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].common.parseDOM.call_args
     assert(args[0] == ("","input"))
     assert(args[1].has_key("attrs"))
     assert(args[1]["attrs"].has_key("id"))
     assert(args[1]["attrs"]["id"] == "code")
Exemplo n.º 18
0
    def test_apiLogin_should_call_fetchPage_with_correct_params_when_fetching_request_token(self):
        sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
        sys.modules["__main__"].common.parseDOM.side_effect = ["","",["some_code"],"","",""]
        login = YouTubeLogin()
        
        login._apiLogin()

        args = sys.modules["__main__"].core._fetchPage.call_args[0][0]

        assert(args["link"] == "https://accounts.google.com/o/oauth2/token")
        assert(args.has_key("url_data"))
        assert(args["url_data"]["code"] == "some_code" )
        assert(args["url_data"]["grant_type"] == "authorization_code" )
Exemplo n.º 19
0
 def test_apiLogin_should_call_fetchPage_with_correct_params_on_redirect(self):
     dom_values = ["","","",["some_state_wrapper"],["some_new_url"]]
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.side_effect = lambda x = "", y ="",attrs = {},ret = {}: dom_values.pop()
     login = YouTubeLogin()
     
     login._apiLogin()
     
     args = sys.modules["__main__"].core._fetchPage.call_args
     assert(args[0][0]["link"] == "some_new_url")
     assert(args[0][0]["no-language-cookie"] == "true")
     assert(args[0][0]["url_data"]["submit_access"] == "true" )
     assert(args[0][0]["url_data"]["state_wrapper"] == "some_state_wrapper" )
Exemplo n.º 20
0
    def test_apiLogin_should_call_fetchPage_with_correct_params_when_fetching_request_token(self):
        sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
        sys.modules["__main__"].common.parseDOM.side_effect = ["", "","", ["some_code"], "", "", "", ""]
        login = YouTubeLogin()
        
        login._apiLogin()

        args = sys.modules["__main__"].core._fetchPage.call_args[0][0]

        print(repr(args))
        assert(args["link"] == "https://accounts.google.com/o/oauth2/token")
        assert(args.has_key("url_data"))
        assert(args["url_data"]["code"] == "some_code" )
        assert(args["url_data"]["grant_type"] == "authorization_code" )
Exemplo n.º 21
0
    def test_apiLogin_should_call_fetchPage_with_correct_params_on_redirect(
            self):
        dom_values = ["", "", "", ["some_state_wrapper"], ["some_new_url"]]
        sys.modules["__main__"].core._fetchPage.return_value = {"content": ""}
        sys.modules[
            "__main__"].common.parseDOM.side_effect = lambda x="", y="", attrs={
            }, ret={}: dom_values.pop()
        login = YouTubeLogin()

        login._apiLogin()

        args = sys.modules["__main__"].core._fetchPage.call_args
        assert (args[0][0]["link"] == "some_new_url")
        assert (args[0][0]["no-language-cookie"] == "true")
        assert (args[0][0]["url_data"]["submit_access"] == "true")
        assert (
            args[0][0]["url_data"]["state_wrapper"] == "some_state_wrapper")
Exemplo n.º 22
0
    def test_apiLogin_should_set_oauth_specific_values_on_success(self):
        patcher = patch("time.time")
        patcher.start()
        import time
        time.time = Mock(return_value=1)

        sys.modules["__main__"].core._fetchPage.side_effect = [{"content":'{"expires_in":"12", "access_token":"my_favorite_access_token", "refresh_token":"my_favorite_refresh_token" }'},{"content":""}]
        sys.modules["__main__"].settings.getSetting.return_value = ""
        sys.modules["__main__"].common.parseDOM.return_value = ""
        login = YouTubeLogin()
        
        login._apiLogin()
        patcher.stop()

        sys.modules["__main__"].settings.setSetting.assert_any_call("oauth2_expires_at", '13')
        sys.modules["__main__"].settings.setSetting.assert_any_call("oauth2_access_token", "my_favorite_access_token")
        sys.modules["__main__"].settings.setSetting.assert_any_call("oauth2_refresh_token", "my_favorite_refresh_token")
Exemplo n.º 23
0
 def test_apiLogin_should_provide_correct_message_and_failure_status_code_on_failure(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.return_value = ""
     login = YouTubeLogin()
     
     result = login._apiLogin()
     
     sys.modules["__main__"].language.assert_called_with(30609)
     assert(result[1] == 303)	
Exemplo n.º 24
0
    def test_authorize_should_call_apiLogin_if_httplogin_succeded(self):
        login = YouTubeLogin()
        login._apiLogin = Mock(return_value=("",200))
        login._httpLogin = Mock(return_value=("",200))

        login.authorize()

        login._httpLogin.assert_any_call({ "new": "true"})
        login._apiLogin.assert_any_call()
Exemplo n.º 25
0
 def test_apiLogin_should_provide_correct_message_and_failure_status_code_on_failure(self):
     sys.modules["__main__"].core._fetchPage.return_value = {"content":""}
     sys.modules["__main__"].common.parseDOM.return_value = ""
     login = YouTubeLogin()
     
     result = login._apiLogin()
     
     sys.modules["__main__"].language.assert_called_with(30609)
     assert(result[1] == 303)	
Exemplo n.º 26
0
    def test_authorize_should_call_apiLogin_if_httplogin_succeded(self):
        login = YouTubeLogin()
        login._apiLogin = Mock(return_value=("",200))
        login._httpLogin = Mock(return_value=("",200))

        login.authorize()

        login._httpLogin.assert_any_call({ "new": "true"})
        login._apiLogin.assert_any_call()
Exemplo n.º 27
0
 def test_apiLogin_should_provide_correct_message_and_success_status_code_on_success(self):
     fetch_values = [{"content":""},{"content":'{"expires_in":"12", "access_token":"my_favorite_access_token", "refresh_token":"my_favorite_refresh_token" }'}]
     sys.modules["__main__"].core._fetchPage.side_effect = lambda x: fetch_values.pop()
     sys.modules["__main__"].settings.getSetting.return_value = "" 
     sys.modules["__main__"].common.parseDOM.return_value = ""
     login = YouTubeLogin()
     
     result = login._apiLogin()
     
     sys.modules["__main__"].language.assert_called_with(30030)
     assert(result[1] == 200)
Exemplo n.º 28
0
    def test_authorize_should_show_refreshing_folder_message_on_success(self):
        sys.modules["__main__"].language.side_effect = ["string1", "string2"]

        login = YouTubeLogin()
        login._apiLogin = Mock(return_value=("",200))
        login._httpLogin = Mock(return_value=("",200))

        login.authorize()

        sys.modules["__main__"].utils.showErrorMessage.assert_called_with("string1","",303)
        sys.modules["__main__"].language.assert_called_with(30031)
Exemplo n.º 29
0
 def test_apiLogin_should_provide_correct_message_and_success_status_code_on_success(self):
     fetch_values = [{"content":""},{"content":'{"expires_in":"12", "access_token":"my_favorite_access_token", "refresh_token":"my_favorite_refresh_token" }'}]
     sys.modules["__main__"].core._fetchPage.side_effect = lambda x: fetch_values.pop()
     sys.modules["__main__"].settings.getSetting.return_value = "" 
     sys.modules["__main__"].common.parseDOM.return_value = ""
     login = YouTubeLogin()
     
     result = login._apiLogin()
     
     sys.modules["__main__"].language.assert_called_with(30030)
     assert(result[1] == 200)
Exemplo n.º 30
0
    def test_authorize_should_show_error_message_on_api_login_failure(self):
        sys.modules["__main__"].language.side_effect = ["string1", "string2"]

        login = YouTubeLogin()
        login._apiLogin = Mock(return_value=("",500))
        login._httpLogin = Mock(return_value=("",200))

        login.authorize()

        sys.modules["__main__"].utils.showErrorMessage.assert_called_with("string1","",500)
        sys.modules["__main__"].language.assert_called_with(30609)
Exemplo n.º 31
0
    def test_authorize_should_show_error_message_on_api_login_failure(self):
        sys.modules["__main__"].language.side_effect = ["string1", "string2"]

        login = YouTubeLogin()
        login._apiLogin = Mock(return_value=("",500))
        login._httpLogin = Mock(return_value=("",200))

        login.authorize()

        sys.modules["__main__"].utils.showErrorMessage.assert_called_with("string1","",500)
        sys.modules["__main__"].language.assert_called_with(30609)
Exemplo n.º 32
0
    def test_authorize_should_show_refreshing_folder_message_on_success(self):
        sys.modules["__main__"].language.side_effect = ["string1", "string2"]

        login = YouTubeLogin()
        login._apiLogin = Mock(return_value=("",200))
        login._httpLogin = Mock(return_value=("",200))

        login.authorize()

        sys.modules["__main__"].utils.showErrorMessage.assert_called_with("string1","",303)
        sys.modules["__main__"].language.assert_called_with(30031)