From 7360313ff7555253fdf01390d582574ed745bffd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 24 Sep 2018 17:26:08 +0200 Subject: [PATCH] Add LocalAuthServer test This is to ensure that once we try to login, it actually attempts to start the local server CURA-5744 --- tests/TestOAuth2.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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)