-
Notifications
You must be signed in to change notification settings - Fork 443
/
Copy pathtest_oauth.py
71 lines (61 loc) · 2.49 KB
/
test_oauth.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
from urllib.parse import parse_qs, urlparse
import stripe
class TestOAuth(object):
def test_authorize_url(self):
url = stripe.OAuth.authorize_url(
scope="read_write",
state="csrf_token",
stripe_user={
"email": "[email protected]",
"url": "https://example.com/profile/test",
"country": "US",
},
)
o = urlparse(url)
params = parse_qs(o.query)
url_express = stripe.OAuth.authorize_url(
express=True, scope="read_write", state="csrf_token"
)
o_express = urlparse(url_express)
assert o.scheme == "https"
assert o.netloc == "connect.stripe.com"
assert o.path == "/oauth/authorize"
assert o_express.path == "/express/oauth/authorize"
assert params["client_id"] == ["ca_123"]
assert params["scope"] == ["read_write"]
assert params["stripe_user[email]"] == ["[email protected]"]
assert params["stripe_user[url]"] == [
"https://example.com/profile/test"
]
assert params["stripe_user[country]"] == ["US"]
def test_token(self, http_client_mock):
http_client_mock.stub_request(
"post",
path="/oauth/token",
rbody='{"access_token":"sk_access_token","scope":"read_only","livemode":"false","token_type":"bearer","refresh_token":"sk_refresh_token","stripe_user_id":"acct_test","stripe_publishable_key":"pk_test"}',
)
resp = stripe.OAuth.token(
grant_type="authorization_code",
code="this_is_an_authorization_code",
)
http_client_mock.assert_requested(
"post",
api_base=stripe.connect_api_base,
path="/oauth/token",
post_data="grant_type=authorization_code&code=this_is_an_authorization_code",
)
assert resp["access_token"] == "sk_access_token"
def test_deauthorize(self, http_client_mock):
http_client_mock.stub_request(
"post",
path="/oauth/deauthorize",
rbody='{"stripe_user_id":"acct_test_deauth"}',
)
resp = stripe.OAuth.deauthorize(stripe_user_id="acct_test_deauth")
http_client_mock.assert_requested(
"post",
api_base=stripe.connect_api_base,
path="/oauth/deauthorize",
post_data="client_id=ca_123&stripe_user_id=acct_test_deauth",
)
assert resp["stripe_user_id"] == "acct_test_deauth"