mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-18 20:28:01 -06:00
Transfer the generation of the auth link into its own function
The authentication link should be prepended with a logoff link from mycloud, if it is requested. In order to make this process testable this commit separates the generation of the authentication link, based on whether it requests for a browser logoff first, into its own function. This commit also adds tests for this function. CURA-7427
This commit is contained in:
parent
96387ef2aa
commit
d3fb002d9b
2 changed files with 41 additions and 17 deletions
|
@ -7,7 +7,7 @@ from PyQt5.QtGui import QDesktopServices
|
|||
|
||||
from UM.Preferences import Preferences
|
||||
from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers, TOKEN_TIMESTAMP_FORMAT
|
||||
from cura.OAuth2.AuthorizationService import AuthorizationService
|
||||
from cura.OAuth2.AuthorizationService import AuthorizationService, MYCLOUD_LOGOFF
|
||||
from cura.OAuth2.LocalAuthorizationServer import LocalAuthorizationServer
|
||||
from cura.OAuth2.Models import OAuth2Settings, AuthenticationResponse, UserProfile
|
||||
|
||||
|
@ -226,3 +226,19 @@ def test_wrongServerResponses() -> None:
|
|||
with patch.object(AuthorizationHelpers, "parseJWT", return_value=UserProfile()):
|
||||
authorization_service._onAuthStateChanged(MALFORMED_AUTH_RESPONSE)
|
||||
assert authorization_service.getUserProfile() is None
|
||||
|
||||
|
||||
def test__generate_auth_url() -> None:
|
||||
preferences = Preferences()
|
||||
authorization_service = AuthorizationService(OAUTH_SETTINGS, preferences)
|
||||
query_parameters_dict = {
|
||||
"client_id": "",
|
||||
"redirect_uri": OAUTH_SETTINGS.CALLBACK_URL,
|
||||
"scope": OAUTH_SETTINGS.CLIENT_SCOPES,
|
||||
"response_type": "code"
|
||||
}
|
||||
auth_url = authorization_service._generate_auth_url(query_parameters_dict, force_browser_logout = False)
|
||||
assert MYCLOUD_LOGOFF + "?next=" not in auth_url
|
||||
|
||||
auth_url = authorization_service._generate_auth_url(query_parameters_dict, force_browser_logout = True)
|
||||
assert MYCLOUD_LOGOFF + "?next=" in auth_url
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue