diff options
Diffstat (limited to 'tests/oauth2/test_credentials.py')
-rw-r--r-- | tests/oauth2/test_credentials.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/oauth2/test_credentials.py b/tests/oauth2/test_credentials.py index 5e09d6f..9064363 100644 --- a/tests/oauth2/test_credentials.py +++ b/tests/oauth2/test_credentials.py @@ -13,6 +13,8 @@ # limitations under the License. import datetime +import json +import os import mock @@ -21,6 +23,14 @@ from google.auth import transport from google.oauth2 import credentials +DATA_DIR = os.path.join(os.path.dirname(__file__), '..', 'data') + +AUTH_USER_JSON_FILE = os.path.join(DATA_DIR, 'authorized_user.json') + +with open(AUTH_USER_JSON_FILE, 'r') as fh: + AUTH_USER_INFO = json.load(fh) + + class TestCredentials(object): TOKEN_URI = 'https://example.com/oauth2/token' REFRESH_TOKEN = 'refresh_token' @@ -84,3 +94,42 @@ class TestCredentials(object): # Check that the credentials are valid (have a token and are not # expired) assert credentials.valid + + def test_from_authorized_user_info(self): + info = AUTH_USER_INFO.copy() + + creds = credentials.Credentials.from_authorized_user_info(info) + assert creds.client_secret == info['client_secret'] + assert creds.client_id == info['client_id'] + assert creds.refresh_token == info['refresh_token'] + assert creds.token_uri == credentials._GOOGLE_OAUTH2_TOKEN_ENDPOINT + assert creds.scopes is None + + scopes = ['email', 'profile'] + creds = credentials.Credentials.from_authorized_user_info( + info, scopes) + assert creds.client_secret == info['client_secret'] + assert creds.client_id == info['client_id'] + assert creds.refresh_token == info['refresh_token'] + assert creds.token_uri == credentials._GOOGLE_OAUTH2_TOKEN_ENDPOINT + assert creds.scopes == scopes + + def test_from_authorized_user_file(self): + info = AUTH_USER_INFO.copy() + + creds = credentials.Credentials.from_authorized_user_file( + AUTH_USER_JSON_FILE) + assert creds.client_secret == info['client_secret'] + assert creds.client_id == info['client_id'] + assert creds.refresh_token == info['refresh_token'] + assert creds.token_uri == credentials._GOOGLE_OAUTH2_TOKEN_ENDPOINT + assert creds.scopes is None + + scopes = ['email', 'profile'] + creds = credentials.Credentials.from_authorized_user_file( + AUTH_USER_JSON_FILE, scopes) + assert creds.client_secret == info['client_secret'] + assert creds.client_id == info['client_id'] + assert creds.refresh_token == info['refresh_token'] + assert creds.token_uri == credentials._GOOGLE_OAUTH2_TOKEN_ENDPOINT + assert creds.scopes == scopes |