19
19
import mock
20
20
import pytest
21
21
22
+ from google .auth import external_account_authorized_user
23
+ import google .oauth2 .credentials
22
24
from google_auth_oauthlib import helpers
23
25
24
26
DATA_DIR = os .path .join (os .path .dirname (__file__ ), "data" )
@@ -85,6 +87,7 @@ def test_credentials_from_session(session):
85
87
86
88
credentials = helpers .credentials_from_session (session , CLIENT_SECRETS_INFO ["web" ])
87
89
90
+ assert isinstance (credentials , google .oauth2 .credentials .Credentials )
88
91
assert credentials .token == mock .sentinel .access_token
89
92
assert credentials .expiry == datetime .datetime (1990 , 5 , 29 , 8 , 20 , 0 )
90
93
assert credentials ._refresh_token == mock .sentinel .refresh_token
@@ -94,6 +97,27 @@ def test_credentials_from_session(session):
94
97
assert credentials ._token_uri == CLIENT_SECRETS_INFO ["web" ]["token_uri" ]
95
98
96
99
100
+ def test_credentials_from_session_3pi (session ):
101
+ session .token = {
102
+ "access_token" : mock .sentinel .access_token ,
103
+ "refresh_token" : mock .sentinel .refresh_token ,
104
+ "id_token" : mock .sentinel .id_token ,
105
+ "expires_at" : 643969200.0 ,
106
+ }
107
+
108
+ client_secrets_info = CLIENT_SECRETS_INFO ["web" ].copy ()
109
+ client_secrets_info ["3pi" ] = True
110
+ credentials = helpers .credentials_from_session (session , client_secrets_info )
111
+
112
+ assert isinstance (credentials , external_account_authorized_user .Credentials )
113
+ assert credentials .token == mock .sentinel .access_token
114
+ assert credentials .expiry == datetime .datetime (1990 , 5 , 29 , 8 , 20 , 0 )
115
+ assert credentials ._refresh_token == mock .sentinel .refresh_token
116
+ assert credentials ._client_id == CLIENT_SECRETS_INFO ["web" ]["client_id" ]
117
+ assert credentials ._client_secret == CLIENT_SECRETS_INFO ["web" ]["client_secret" ]
118
+ assert credentials ._token_url == CLIENT_SECRETS_INFO ["web" ]["token_uri" ]
119
+
120
+
97
121
def test_bad_credentials (session ):
98
122
with pytest .raises (ValueError ):
99
123
helpers .credentials_from_session (session )
0 commit comments