diff options
Diffstat (limited to 'tests/oauth2/rfc6749/clients/test_backend_application.py')
-rw-r--r-- | tests/oauth2/rfc6749/clients/test_backend_application.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/oauth2/rfc6749/clients/test_backend_application.py b/tests/oauth2/rfc6749/clients/test_backend_application.py index 19ff1ef..ad6f9f2 100644 --- a/tests/oauth2/rfc6749/clients/test_backend_application.py +++ b/tests/oauth2/rfc6749/clients/test_backend_application.py @@ -4,6 +4,7 @@ from __future__ import absolute_import, unicode_literals from mock import patch from oauthlib.oauth2 import BackendApplicationClient +from oauthlib import signals from ....unittest import TestCase @@ -63,4 +64,17 @@ class BackendApplicationClientTest(TestCase): self.assertEqual(client.token_type, response.get("token_type")) # Mismatching state - self.assertRaises(Warning, client.parse_request_body_response, self.token_json, scope="invalid") + scope_changes_recorded = [] + def record_scope_change(sender, message, old, new): + scope_changes_recorded.append((message, old, new)) + + signals.scope_changed.connect(record_scope_change) + try: + client.parse_request_body_response(self.token_json, scope="invalid") + self.assertEqual(len(scope_changes_recorded), 1) + message, old, new = scope_changes_recorded[0] + self.assertEqual(message, 'Scope has changed from "invalid" to "/profile".') + self.assertEqual(old, ['invalid']) + self.assertEqual(new, ['/profile']) + finally: + signals.scope_changed.disconnect(record_scope_change) |