|
8 | 8 | from oauthlib.oauth2 import LegacyApplicationServer |
9 | 9 | from tests import AttrDict |
10 | 10 | from unittest import mock |
| 11 | +import unittest |
11 | 12 |
|
12 | 13 |
|
13 | 14 | class test_not_initialized(ServerTestBase): |
@@ -47,6 +48,15 @@ def test(): return 'bar' |
47 | 48 | with self.assertRaises(AssertionError): |
48 | 49 | test() |
49 | 50 |
|
| 51 | + @unittest.skip("remove skip once https://github.com/oauthlib/oauthlib/pull/677 merged") |
| 52 | + def test_create_userinfo_response(self): |
| 53 | + @self.app.route('/foo') |
| 54 | + @self.oauth.create_userinfo_response() |
| 55 | + def test(): return 'bar' |
| 56 | + |
| 57 | + with self.assertRaises(AssertionError): |
| 58 | + test() |
| 59 | + |
50 | 60 |
|
51 | 61 | class test_verify_decorators(ServerTestBase): |
52 | 62 | def setUp(self): |
@@ -168,6 +178,33 @@ def test(): return "{'valid': false}" |
168 | 178 | mocked.assert_called_once() |
169 | 179 |
|
170 | 180 |
|
| 181 | +class test_create_userinfo_decorators(ServerTestBase): |
| 182 | + def setUp(self): |
| 183 | + super().setUp() |
| 184 | + self.oauth = BottleOAuth2(self.app) |
| 185 | + self.validator = mock.MagicMock() |
| 186 | + self.server = Server(self.validator) |
| 187 | + self.oauth.initialize(self.server) |
| 188 | + |
| 189 | + self.fake_response = ({ |
| 190 | + "Content-Type": "application/json" |
| 191 | + }, "{'sub': 'johndoe123', 'foo': 'bar'}", "200 FooOK") |
| 192 | + |
| 193 | + @unittest.skip("remove skip once https://github.com/oauthlib/oauthlib/pull/677 merged") |
| 194 | + def test_valid_response(self): |
| 195 | + @self.app.route('/foo') |
| 196 | + @self.oauth.create_userinfo_response() |
| 197 | + def test(): return None |
| 198 | + |
| 199 | + with mock.patch("oauthlib.oauth2.Server.create_userinfo_response", return_value=self.fake_response) as mocked: |
| 200 | + app_response = self.urlopen("/foo") |
| 201 | + self.assertEqual(app_response['code'], 200) |
| 202 | + self.assertEqual(app_response['status'], "FooOK") |
| 203 | + self.assertEqual(app_response['body'], tob("{'valid': true, 'foo': 'bar'}")) |
| 204 | + self.assertEqual(app_response['header']['Content-Type'], "application/json") |
| 205 | + mocked.assert_called_once() |
| 206 | + |
| 207 | + |
171 | 208 | class test_create_authorization_decorators(ServerTestBase): |
172 | 209 | def setUp(self): |
173 | 210 | super().setUp() |
|
0 commit comments