Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: third_party/gsutil/third_party/oauth2client/tests/test_gce.py

Issue 1377933002: [catapult] - Copy Telemetry's gsutilz over to third_party. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: Rename to gsutil. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/gsutil/third_party/oauth2client/tests/test_gce.py
diff --git a/third_party/gsutil/third_party/oauth2client/tests/test_gce.py b/third_party/gsutil/third_party/oauth2client/tests/test_gce.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8d39995fa85d6f156c95ebafc52fe4dfb32714b
--- /dev/null
+++ b/third_party/gsutil/third_party/oauth2client/tests/test_gce.py
@@ -0,0 +1,108 @@
+# Copyright 2014 Google Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+"""Tests for oauth2client.gce.
+
+Unit tests for oauth2client.gce.
+"""
+
+__author__ = 'jcgregorio@google.com (Joe Gregorio)'
+
+import unittest
+
+import httplib2
+import mock
+
+from oauth2client.client import AccessTokenRefreshError
+from oauth2client.client import Credentials
+from oauth2client.client import save_to_well_known_file
+from oauth2client.gce import AppAssertionCredentials
+
+
+class AssertionCredentialsTests(unittest.TestCase):
+
+ def test_good_refresh(self):
+ http = mock.MagicMock()
+ http.request = mock.MagicMock(
+ return_value=(mock.Mock(status=200),
+ '{"accessToken": "this-is-a-token"}'))
+
+ c = AppAssertionCredentials(scope=['http://example.com/a',
+ 'http://example.com/b'])
+ self.assertEquals(None, c.access_token)
+ c.refresh(http)
+ self.assertEquals('this-is-a-token', c.access_token)
+
+ http.request.assert_called_once_with(
+ 'http://metadata.google.internal/0.1/meta-data/service-accounts/'
+ 'default/acquire'
+ '?scope=http%3A%2F%2Fexample.com%2Fa%20http%3A%2F%2Fexample.com%2Fb')
+
+ def test_fail_refresh(self):
+ http = mock.MagicMock()
+ http.request = mock.MagicMock(return_value=(mock.Mock(status=400), '{}'))
+
+ c = AppAssertionCredentials(scope=['http://example.com/a',
+ 'http://example.com/b'])
+ self.assertRaises(AccessTokenRefreshError, c.refresh, http)
+
+ def test_to_from_json(self):
+ c = AppAssertionCredentials(scope=['http://example.com/a',
+ 'http://example.com/b'])
+ json = c.to_json()
+ c2 = Credentials.new_from_json(json)
+
+ self.assertEqual(c.access_token, c2.access_token)
+
+ def test_create_scoped_required_without_scopes(self):
+ credentials = AppAssertionCredentials([])
+ self.assertTrue(credentials.create_scoped_required())
+
+ def test_create_scoped_required_with_scopes(self):
+ credentials = AppAssertionCredentials(['dummy_scope'])
+ self.assertFalse(credentials.create_scoped_required())
+
+ def test_create_scoped(self):
+ credentials = AppAssertionCredentials([])
+ new_credentials = credentials.create_scoped(['dummy_scope'])
+ self.assertNotEqual(credentials, new_credentials)
+ self.assertTrue(isinstance(new_credentials, AppAssertionCredentials))
+ self.assertEqual('dummy_scope', new_credentials.scope)
+
+ def test_get_access_token(self):
+ http = mock.MagicMock()
+ http.request = mock.MagicMock(
+ return_value=(mock.Mock(status=200),
+ '{"accessToken": "this-is-a-token"}'))
+
+ credentials = AppAssertionCredentials(['dummy_scope'])
+ token = credentials.get_access_token(http=http)
+ self.assertEqual('this-is-a-token', token.access_token)
+ self.assertEqual(None, token.expires_in)
+
+ http.request.assert_called_once_with(
+ 'http://metadata.google.internal/0.1/meta-data/service-accounts/'
+ 'default/acquire?scope=dummy_scope')
+
+ def test_save_to_well_known_file(self):
+ import os
+ ORIGINAL_ISDIR = os.path.isdir
+ try:
+ os.path.isdir = lambda path: True
+ credentials = AppAssertionCredentials([])
+ self.assertRaises(NotImplementedError, save_to_well_known_file,
+ credentials)
+ finally:
+ os.path.isdir = ORIGINAL_ISDIR

Powered by Google App Engine
This is Rietveld 408576698