forked from OfflineLabs/python-oauth2
-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathtest_foauth.py
28 lines (21 loc) · 1.06 KB
/
test_foauth.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import mock
import unittest
import foauth2
class TestFoauth2(unittest.TestCase):
def test_section_4_1_3(self):
# test the parts we care about from http://tools.ietf.org/html/draft-ietf-oauth-v2-20#section-4.1.3
client = foauth2.Client('client_id', 'client_secret')
self.assertRaises(ValueError, client.authorization_url)
redirect_uri = 'http://example.com/'
client.authorization_url('http://example.com/oauth', redirect_uri=redirect_uri)
self.assertRaises(ValueError, client.redeem_code)
self.assertRaises(ValueError, client.redeem_code, code='code')
client._request = mock.Mock()
client._request().read._return_value = '{"access_token": "token", "code": "xyzzy"}'
client._request().code = 200
self.assertRaises(ValueError, client.redeem_code, code='code', redirect_uri='mismatch')
client.redeem_code(code='code', redirect_uri=redirect_uri)
client._authorization_redirect_uri = None
client.redeem_code(code='code')
if __name__ == '__main__':
unittest.main()