-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_setup.py
31 lines (25 loc) · 1.03 KB
/
test_setup.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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from CTFd.utils import get_config
from CTFd.utils.security.csrf import generate_nonce
from CTFd.utils.security.signing import serialize
from tests.helpers import create_ctfd, destroy_ctfd, login_as_user, register_user
def test_setup_integrations():
app = create_ctfd()
with app.app_context():
register_user(app)
user = login_as_user(app)
r = user.get("/setup/integrations")
assert r.status_code == 403
admin = login_as_user(app, "admin")
r = admin.get("/setup/integrations")
assert r.status_code == 403
admin = login_as_user(app, "admin")
url = "/setup/integrations?state={state}&mlc_client_id=client_id&mlc_client_secret=client_secret&name=mlc".format(
state=serialize(generate_nonce())
)
r = admin.get(url)
assert r.status_code == 200
assert get_config("oauth_client_id") == "client_id"
assert get_config("oauth_client_secret") == "client_secret"
destroy_ctfd(app)