Fix ID token verification (#87)
diff --git a/tests/oauth2/test_id_token.py b/tests/oauth2/test_id_token.py
index f3da663..7f89547 100644
--- a/tests/oauth2/test_id_token.py
+++ b/tests/oauth2/test_id_token.py
@@ -18,6 +18,7 @@
import pytest
from google.auth import exceptions
+import google.auth.transport
from google.oauth2 import id_token
@@ -28,7 +29,7 @@
if data is not None:
response.data = json.dumps(data).encode('utf-8')
- return mock.Mock(return_value=response)
+ return mock.Mock(return_value=response, spec=google.auth.transport.Request)
def test__fetch_certs_success():
@@ -37,7 +38,7 @@
returned_certs = id_token._fetch_certs(request, mock.sentinel.cert_url)
- request.assert_called_once_with('GET', mock.sentinel.cert_url)
+ request.assert_called_once_with(mock.sentinel.cert_url, method='GET')
assert returned_certs == certs
@@ -47,7 +48,7 @@
with pytest.raises(exceptions.TransportError):
id_token._fetch_certs(request, mock.sentinel.cert_url)
- request.assert_called_once_with('GET', mock.sentinel.cert_url)
+ request.assert_called_once_with(mock.sentinel.cert_url, method='GET')
@mock.patch('google.auth.jwt.decode', autospec=True)
diff --git a/tests/test__helpers.py b/tests/test__helpers.py
index d413adc..b067faa 100644
--- a/tests/test__helpers.py
+++ b/tests/test__helpers.py
@@ -151,3 +151,19 @@
for case, expected in cases:
assert _helpers.string_to_scopes(case) == expected
+
+
+def test_padded_urlsafe_b64decode():
+ cases = [
+ ('YQ==', b'a'),
+ ('YQ', b'a'),
+ ('YWE=', b'aa'),
+ ('YWE', b'aa'),
+ ('YWFhYQ==', b'aaaa'),
+ ('YWFhYQ', b'aaaa'),
+ ('YWFhYWE=', b'aaaaa'),
+ ('YWFhYWE', b'aaaaa'),
+ ]
+
+ for case, expected in cases:
+ assert _helpers.padded_urlsafe_b64decode(case) == expected