From dff7414cb7926d1467fe7334b6d97febccd63637 Mon Sep 17 00:00:00 2001 From: Orest Bolohan Date: Mon, 2 Jun 2014 17:19:54 -0700 Subject: [PATCH] Make OAuth2Crdentials.get_access_token() method return a collections.namedtuple rather than a dictionary. --- oauth2client/client.py | 7 ++++++- tests/test_appengine.py | 4 ++-- tests/test_gce.py | 4 ++-- tests/test_oauth2client.py | 12 ++++++------ tests/test_service_account.py | 12 ++++++------ 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/oauth2client/client.py b/oauth2client/client.py index aedfecf..c4e31cd 100644 --- a/oauth2client/client.py +++ b/oauth2client/client.py @@ -31,6 +31,7 @@ import time import urllib import urlparse +from collections import namedtuple from oauth2client import GOOGLE_AUTH_URI from oauth2client import GOOGLE_REVOKE_URI from oauth2client import GOOGLE_TOKEN_URI @@ -75,6 +76,9 @@ SERVICE_ACCOUNT = 'service_account' # The environment variable pointing the file with local Default Credentials. GOOGLE_CREDENTIALS_DEFAULT = 'GOOGLE_CREDENTIALS_DEFAULT' +# The access token along with the seconds in which it expires. +AccessTokenInfo = namedtuple('AccessTokenInfo', ['access_token', 'expires_in']) + class Error(Exception): """Base error for this module.""" @@ -609,7 +613,8 @@ class OAuth2Credentials(Credentials): if not http: http = httplib2.Http() self.refresh(http) - return {'access_token': self.access_token, 'expires_in': self._expires_in()} + return AccessTokenInfo(access_token=self.access_token, + expires_in=self._expires_in()) def set_store(self, store): """Set the Storage for the credential. diff --git a/tests/test_appengine.py b/tests/test_appengine.py index d783036..2bea272 100644 --- a/tests/test_appengine.py +++ b/tests/test_appengine.py @@ -245,8 +245,8 @@ class TestAppAssertionCredentials(unittest.TestCase): credentials = AppAssertionCredentials(['dummy_scope']) token = credentials.get_access_token() - self.assertEqual('a_token_123', token['access_token']) - self.assertEqual(None, token['expires_in']) + self.assertEqual('a_token_123', token.access_token) + self.assertEqual(None, token.expires_in) class TestFlowModel(db.Model): diff --git a/tests/test_gce.py b/tests/test_gce.py index 450bda1..60e876e 100644 --- a/tests/test_gce.py +++ b/tests/test_gce.py @@ -126,8 +126,8 @@ class AssertionCredentialsTests(unittest.TestCase): http.request = httplib2_request token = credentials.get_access_token(http=http) - self.assertEqual('this-is-a-token', token['access_token']) - self.assertEqual(None, token['expires_in']) + self.assertEqual('this-is-a-token', token.access_token) + self.assertEqual(None, token.expires_in) m.UnsetStubs() m.VerifyAll() diff --git a/tests/test_oauth2client.py b/tests/test_oauth2client.py index 58b3533..64a104a 100644 --- a/tests/test_oauth2client.py +++ b/tests/test_oauth2client.py @@ -591,14 +591,14 @@ class BasicCredentialsTests(unittest.TestCase): ]) token = self.credentials.get_access_token(http=http) - self.assertEqual('first_token', token['access_token']) - self.assertEqual(1, token['expires_in']) + self.assertEqual('first_token', token.access_token) + self.assertEqual(1, token.expires_in) self.assertFalse(self.credentials.access_token_expired) self.assertEqual(token_response_first, self.credentials.token_response) token = self.credentials.get_access_token(http=http) - self.assertEqual('first_token', token['access_token']) - self.assertEqual(1, token['expires_in']) + self.assertEqual('first_token', token.access_token) + self.assertEqual(1, token.expires_in) self.assertFalse(self.credentials.access_token_expired) self.assertEqual(token_response_first, self.credentials.token_response) @@ -606,8 +606,8 @@ class BasicCredentialsTests(unittest.TestCase): self.assertTrue(self.credentials.access_token_expired) token = self.credentials.get_access_token(http=http) - self.assertEqual('second_token', token['access_token']) - self.assertEqual(1, token['expires_in']) + self.assertEqual('second_token', token.access_token) + self.assertEqual(1, token.expires_in) self.assertFalse(self.credentials.access_token_expired) self.assertEqual(token_response_second, self.credentials.token_response) diff --git a/tests/test_service_account.py b/tests/test_service_account.py index 20d5fdf..952483c 100644 --- a/tests/test_service_account.py +++ b/tests/test_service_account.py @@ -102,14 +102,14 @@ class ServiceAccountCredentialsTests(unittest.TestCase): ]) token = self.credentials.get_access_token(http=http) - self.assertEqual('first_token', token['access_token']) - self.assertEqual(1, token['expires_in']) + self.assertEqual('first_token', token.access_token) + self.assertEqual(1, token.expires_in) self.assertFalse(self.credentials.access_token_expired) self.assertEqual(token_response_first, self.credentials.token_response) token = self.credentials.get_access_token(http=http) - self.assertEqual('first_token', token['access_token']) - self.assertEqual(1, token['expires_in']) + self.assertEqual('first_token', token.access_token) + self.assertEqual(1, token.expires_in) self.assertFalse(self.credentials.access_token_expired) self.assertEqual(token_response_first, self.credentials.token_response) @@ -117,7 +117,7 @@ class ServiceAccountCredentialsTests(unittest.TestCase): self.assertTrue(self.credentials.access_token_expired) token = self.credentials.get_access_token(http=http) - self.assertEqual('second_token', token['access_token']) - self.assertEqual(1, token['expires_in']) + self.assertEqual('second_token', token.access_token) + self.assertEqual(1, token.expires_in) self.assertFalse(self.credentials.access_token_expired) self.assertEqual(token_response_second, self.credentials.token_response)