mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 22:14:25 +01:00
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from helpers import create_ctfd, register_user, login_as_user
|
|
from CTFd.models import Teams
|
|
|
|
|
|
def test_index():
|
|
"""Does the index page return a 200 by default"""
|
|
app = create_ctfd()
|
|
with app.app_context():
|
|
with app.test_client() as client:
|
|
r = client.get('/')
|
|
assert r.status_code == 200
|
|
|
|
|
|
def test_register_user():
|
|
"""Tests whether a user can be registered"""
|
|
app = create_ctfd()
|
|
with app.app_context():
|
|
register_user(app)
|
|
team_count = app.db.session.query(app.db.func.count(Teams.id)).first()[0]
|
|
assert team_count == 2 # There's the admin user and the created user
|
|
|
|
|
|
def test_user_login():
|
|
"""Tests to see if a registered user can login"""
|
|
app = create_ctfd()
|
|
with app.app_context():
|
|
register_user(app)
|
|
client = login_as_user(app)
|
|
r = client.get('/profile')
|
|
assert r.location != "http://localhost/login" # We didn't get redirected to login
|
|
assert r.status_code == 200
|
|
|
|
|
|
def test_user_isnt_admin():
|
|
"""Tests to see if a registered user cannot access admin pages"""
|
|
app = create_ctfd()
|
|
with app.app_context():
|
|
register_user(app)
|
|
client = login_as_user(app)
|
|
r = client.get('/admin/graphs')
|
|
assert r.location == "http://localhost/login"
|
|
assert r.status_code == 302
|