summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJonathan Huot <JonathanHuot@users.noreply.github.com>2019-02-21 11:33:16 +0100
committerGitHub <noreply@github.com>2019-02-21 11:33:16 +0100
commitc57d4a8233cbc679f0048f501318a888314211d9 (patch)
treea102cddb1142c5c3a7ea7d342b7f01d7b1dbc02d /tests
parent0ef0a9c4342dfee4bd3aef7d6d9fa09e7226a732 (diff)
parentf0fc21c7bfd59bba0103577c5f9ea810978dc8cb (diff)
downloadoauthlib-c57d4a8233cbc679f0048f501318a888314211d9.tar.gz
Merge branch 'master' into fix-uri-normalization
Diffstat (limited to 'tests')
-rw-r--r--tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py15
-rw-r--r--tests/oauth2/rfc6749/test_server.py39
-rw-r--r--tests/openid/connect/core/test_server.py16
3 files changed, 39 insertions, 31 deletions
diff --git a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py
index 1a2f66b..e7c66b6 100644
--- a/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py
+++ b/tests/oauth2/rfc6749/endpoints/test_credentials_preservation.py
@@ -29,12 +29,6 @@ class PreservationTest(TestCase):
self.web = WebApplicationServer(self.validator)
self.mobile = MobileApplicationServer(self.validator)
- def set_state(self, state):
- def set_request_state(client_id, code, client, request):
- request.state = state
- return True
- return set_request_state
-
def set_client(self, request):
request.client = mock.MagicMock()
request.client.client_id = 'mocked'
@@ -42,18 +36,13 @@ class PreservationTest(TestCase):
def test_state_preservation(self):
auth_uri = 'http://example.com/path?state=xyz&client_id=abc&response_type='
- token_uri = 'http://example.com/path'
# authorization grant
h, _, s = self.web.create_authorization_response(
auth_uri + 'code', scopes=['random'])
self.assertEqual(s, 302)
self.assertIn('Location', h)
- code = get_query_credentials(h['Location'])['code'][0]
- self.validator.validate_code.side_effect = self.set_state('xyz')
- _, body, _ = self.web.create_token_response(token_uri,
- body='grant_type=authorization_code&code=%s' % code)
- self.assertEqual(json.loads(body)['state'], 'xyz')
+ self.assertEqual(get_query_credentials(h['Location'])['state'][0], 'xyz')
# implicit grant
h, _, s = self.mobile.create_authorization_response(
@@ -133,7 +122,7 @@ class PreservationTest(TestCase):
# was not given in the authorization AND not in the token request.
self.validator.confirm_redirect_uri.return_value = True
code = get_query_credentials(h['Location'])['code'][0]
- self.validator.validate_code.side_effect = self.set_state('xyz')
+ self.validator.validate_code.return_value = True
_, body, s = self.web.create_token_response(token_uri,
body='grant_type=authorization_code&code=%s' % code)
self.assertEqual(s, 200)
diff --git a/tests/oauth2/rfc6749/test_server.py b/tests/oauth2/rfc6749/test_server.py
index b623a9b..2c6ecff 100644
--- a/tests/oauth2/rfc6749/test_server.py
+++ b/tests/oauth2/rfc6749/test_server.py
@@ -144,7 +144,7 @@ class TokenEndpointTest(TestCase):
@mock.patch('oauthlib.common.generate_token', new=lambda: 'abc')
def test_authorization_grant(self):
- body = 'grant_type=authorization_code&code=abc&scope=all+of+them&state=xyz'
+ body = 'grant_type=authorization_code&code=abc&scope=all+of+them'
headers, body, status_code = self.endpoint.create_token_response(
'', body=body)
token = {
@@ -152,23 +152,27 @@ class TokenEndpointTest(TestCase):
'expires_in': self.expires_in,
'access_token': 'abc',
'refresh_token': 'abc',
- 'scope': 'all of them',
- 'state': 'xyz'
+ 'scope': 'all of them'
}
self.assertEqual(json.loads(body), token)
- body = 'grant_type=authorization_code&code=abc&state=xyz'
+ body = 'grant_type=authorization_code&code=abc'
headers, body, status_code = self.endpoint.create_token_response(
'', body=body)
token = {
'token_type': 'Bearer',
'expires_in': self.expires_in,
'access_token': 'abc',
- 'refresh_token': 'abc',
- 'state': 'xyz'
+ 'refresh_token': 'abc'
}
self.assertEqual(json.loads(body), token)
+ # try with additional custom variables
+ body = 'grant_type=authorization_code&code=abc&state=foobar'
+ headers, body, status_code = self.endpoint.create_token_response(
+ '', body=body)
+ self.assertEqual(json.loads(body), token)
+
@mock.patch('oauthlib.common.generate_token', new=lambda: 'abc')
def test_password_grant(self):
body = 'grant_type=password&username=a&password=hello&scope=all+of+them'
@@ -277,7 +281,7 @@ twIDAQAB
@mock.patch('oauthlib.common.generate_token', new=lambda: 'abc')
def test_authorization_grant(self):
- body = 'client_id=me&redirect_uri=http%3A%2F%2Fback.to%2Fme&grant_type=authorization_code&code=abc&scope=all+of+them&state=xyz'
+ body = 'client_id=me&redirect_uri=http%3A%2F%2Fback.to%2Fme&grant_type=authorization_code&code=abc&scope=all+of+them'
headers, body, status_code = self.endpoint.create_token_response(
'', body=body)
body = json.loads(body)
@@ -286,12 +290,11 @@ twIDAQAB
'expires_in': self.expires_in,
'access_token': body['access_token'],
'refresh_token': 'abc',
- 'scope': 'all of them',
- 'state': 'xyz'
+ 'scope': 'all of them'
}
self.assertEqual(body, token)
- body = 'client_id=me&redirect_uri=http%3A%2F%2Fback.to%2Fme&grant_type=authorization_code&code=abc&state=xyz'
+ body = 'client_id=me&redirect_uri=http%3A%2F%2Fback.to%2Fme&grant_type=authorization_code&code=abc'
headers, body, status_code = self.endpoint.create_token_response(
'', body=body)
body = json.loads(body)
@@ -299,8 +302,20 @@ twIDAQAB
'token_type': 'Bearer',
'expires_in': self.expires_in,
'access_token': body['access_token'],
- 'refresh_token': 'abc',
- 'state': 'xyz'
+ 'refresh_token': 'abc'
+ }
+ self.assertEqual(body, token)
+
+ # try with additional custom variables
+ body = 'client_id=me&redirect_uri=http%3A%2F%2Fback.to%2Fme&grant_type=authorization_code&code=abc&state=foobar'
+ headers, body, status_code = self.endpoint.create_token_response(
+ '', body=body)
+ body = json.loads(body)
+ token = {
+ 'token_type': 'Bearer',
+ 'expires_in': self.expires_in,
+ 'access_token': body['access_token'],
+ 'refresh_token': 'abc'
}
self.assertEqual(body, token)
diff --git a/tests/openid/connect/core/test_server.py b/tests/openid/connect/core/test_server.py
index ffab7b0..756c9d0 100644
--- a/tests/openid/connect/core/test_server.py
+++ b/tests/openid/connect/core/test_server.py
@@ -143,7 +143,7 @@ class TokenEndpointTest(TestCase):
@mock.patch('oauthlib.common.generate_token', new=lambda: 'abc')
def test_authorization_grant(self):
- body = 'grant_type=authorization_code&code=abc&scope=all+of+them&state=xyz'
+ body = 'grant_type=authorization_code&code=abc&scope=all+of+them'
headers, body, status_code = self.endpoint.create_token_response(
'', body=body)
token = {
@@ -151,23 +151,27 @@ class TokenEndpointTest(TestCase):
'expires_in': self.expires_in,
'access_token': 'abc',
'refresh_token': 'abc',
- 'scope': 'all of them',
- 'state': 'xyz'
+ 'scope': 'all of them'
}
self.assertEqual(json.loads(body), token)
- body = 'grant_type=authorization_code&code=abc&state=xyz'
+ body = 'grant_type=authorization_code&code=abc'
headers, body, status_code = self.endpoint.create_token_response(
'', body=body)
token = {
'token_type': 'Bearer',
'expires_in': self.expires_in,
'access_token': 'abc',
- 'refresh_token': 'abc',
- 'state': 'xyz'
+ 'refresh_token': 'abc'
}
self.assertEqual(json.loads(body), token)
+ # ignore useless fields
+ body = 'grant_type=authorization_code&code=abc&state=foobar'
+ headers, body, status_code = self.endpoint.create_token_response(
+ '', body=body)
+ self.assertEqual(json.loads(body), token)
+
def test_missing_type(self):
_, body, _ = self.endpoint.create_token_response('', body='')
token = {'error': 'unsupported_grant_type'}