diff options
author | Jaime van Kessel <nallath@gmail.com> | 2018-09-24 18:26:08 +0300 |
---|---|---|
committer | Jaime van Kessel <nallath@gmail.com> | 2018-09-24 18:26:08 +0300 |
commit | 7360313ff7555253fdf01390d582574ed745bffd (patch) | |
tree | 1e00c5be23ad367726a749be1eb8b766c522880b /tests/TestOAuth2.py | |
parent | fe85c020b1bed640277df95160d3e77ef2a0e614 (diff) |
Add LocalAuthServer test
This is to ensure that once we try to login, it actually attempts to start the local server
CURA-5744
Diffstat (limited to 'tests/TestOAuth2.py')
-rw-r--r-- | tests/TestOAuth2.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 10578eaeb0..708dd2d41b 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -1,8 +1,10 @@ +import webbrowser from unittest.mock import MagicMock, patch from UM.Preferences import Preferences from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers from cura.OAuth2.AuthorizationService import AuthorizationService +from cura.OAuth2.LocalAuthorizationServer import LocalAuthorizationServer from cura.OAuth2.Models import OAuth2Settings, AuthenticationResponse, UserProfile CALLBACK_PORT = 32118 @@ -53,6 +55,24 @@ def test_failedLogin(): assert authorization_service.getAccessToken() is None +def test_localAuthServer(): + preferences = Preferences() + authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + with patch.object(webbrowser, "open_new") as webrowser_open: + with patch.object(LocalAuthorizationServer, "start") as start_auth_server: + with patch.object(LocalAuthorizationServer, "stop") as stop_auth_server: + authorization_service.startAuthorizationFlow() + assert webrowser_open.call_count == 1 + + # Ensure that the Authorization service tried to start the server. + assert start_auth_server.call_count == 1 + assert stop_auth_server.call_count == 0 + authorization_service._onAuthStateChanged(FAILED_AUTH_RESPONSE) + + # Ensure that it stopped the server. + assert stop_auth_server.call_count == 1 + + def test_loginAndLogout(): preferences = Preferences() authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) |