init CTFd source
This commit is contained in:
49
tests/api/v1/test_exports.py
Normal file
49
tests/api/v1/test_exports.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from tests.helpers import (
|
||||
create_ctfd,
|
||||
destroy_ctfd,
|
||||
gen_challenge,
|
||||
login_as_user,
|
||||
register_user,
|
||||
)
|
||||
|
||||
|
||||
def test_api_export_csv():
|
||||
app = create_ctfd()
|
||||
with app.app_context():
|
||||
gen_challenge(app.db)
|
||||
data = {
|
||||
"type": "csv",
|
||||
"args": {"table": "challenges"},
|
||||
}
|
||||
|
||||
with login_as_user(app, name="admin", password="password") as client:
|
||||
r = client.post("/api/v1/exports/raw", json=data)
|
||||
assert r.status_code == 200
|
||||
assert r.headers["Content-Type"].startswith("text/csv")
|
||||
assert "chal_name" in r.get_data(as_text=True)
|
||||
|
||||
# Test that regular users cannot access the endpoint
|
||||
register_user(app)
|
||||
with login_as_user(app) as client:
|
||||
response = client.post("/api/v1/exports/raw", json=data)
|
||||
assert response.status_code == 403
|
||||
destroy_ctfd(app)
|
||||
|
||||
|
||||
def test_api_export():
|
||||
app = create_ctfd()
|
||||
with app.app_context():
|
||||
gen_challenge(app.db)
|
||||
data = {}
|
||||
|
||||
with login_as_user(app, name="admin", password="password") as client:
|
||||
r = client.post("/api/v1/exports/raw", json=data)
|
||||
assert r.status_code == 200
|
||||
assert r.headers["Content-Type"].startswith("application/zip")
|
||||
|
||||
# Test that regular users cannot access the endpoint
|
||||
register_user(app)
|
||||
with login_as_user(app) as client:
|
||||
response = client.post("/api/v1/exports/raw", json=data)
|
||||
assert response.status_code == 403
|
||||
destroy_ctfd(app)
|
||||
Reference in New Issue
Block a user