mirror of https://github.com/JohnHammond/CTFd.git
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
#!/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)
|