Switch default testing/development domain name to examplectf.com (#1807)

* Use `examplectf.com` as testing/development domain instead of `ctfd.io`
This commit is contained in:
Kevin Chung
2021-02-20 15:11:22 -05:00
committed by GitHub
parent 5611c47487
commit 843546bfa8
40 changed files with 249 additions and 169 deletions

View File

@@ -131,7 +131,7 @@ class ServerConfig(object):
# === EMAIL === # === EMAIL ===
MAILFROM_ADDR: str = config_ini["email"]["MAILFROM_ADDR"] \ MAILFROM_ADDR: str = config_ini["email"]["MAILFROM_ADDR"] \
or "noreply@ctfd.io" or "noreply@examplectf.com"
MAIL_SERVER: str = empty_str_cast(config_ini["email"]["MAIL_SERVER"]) MAIL_SERVER: str = empty_str_cast(config_ini["email"]["MAIL_SERVER"])

View File

@@ -51,7 +51,7 @@ def test_reset():
for x in range(10): for x in range(10):
user = base_user + str(x) user = base_user + str(x)
user_email = user + "@ctfd.io" user_email = user + "@examplectf.com"
user_obj = gen_user(app.db, name=user, email=user_email) user_obj = gen_user(app.db, name=user, email=user_email)
gen_award(app.db, user_id=user_obj.id) gen_award(app.db, user_id=user_obj.id)
gen_solve(app.db, user_id=user_obj.id, challenge_id=random.randint(1, 10)) gen_solve(app.db, user_id=user_obj.id, challenge_id=random.randint(1, 10))
@@ -153,10 +153,12 @@ def test_reset_team_mode():
for x in range(10): for x in range(10):
user = base_user + str(x) user = base_user + str(x)
user_email = user + "@ctfd.io" user_email = user + "@examplectf.com"
user_obj = gen_user(app.db, name=user, email=user_email) user_obj = gen_user(app.db, name=user, email=user_email)
team_obj = gen_team( team_obj = gen_team(
app.db, name=base_team + str(x), email=base_team + str(x) + "@ctfd.io" app.db,
name=base_team + str(x),
email=base_team + str(x) + "@examplectf.com",
) )
team_obj.members.append(user_obj) team_obj.members.append(user_obj)
team_obj.captain_id = user_obj.id team_obj.captain_id = user_obj.id

View File

@@ -14,16 +14,16 @@ def test_admin_user_ip_search():
"""Can an admin search user IPs""" """Can an admin search user IPs"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
u1 = gen_user(app.db, name="user1", email="user1@ctfd.io") u1 = gen_user(app.db, name="user1", email="user1@examplectf.com")
gen_tracking(app.db, user_id=u1.id, ip="1.1.1.1") gen_tracking(app.db, user_id=u1.id, ip="1.1.1.1")
u2 = gen_user(app.db, name="user2", email="user2@ctfd.io") u2 = gen_user(app.db, name="user2", email="user2@examplectf.com")
gen_tracking(app.db, user_id=u2.id, ip="2.2.2.2") gen_tracking(app.db, user_id=u2.id, ip="2.2.2.2")
u3 = gen_user(app.db, name="user3", email="user3@ctfd.io") u3 = gen_user(app.db, name="user3", email="user3@examplectf.com")
gen_tracking(app.db, user_id=u3.id, ip="3.3.3.3") gen_tracking(app.db, user_id=u3.id, ip="3.3.3.3")
u4 = gen_user(app.db, name="user4", email="user4@ctfd.io") u4 = gen_user(app.db, name="user4", email="user4@examplectf.com")
gen_tracking(app.db, user_id=u4.id, ip="3.3.3.3") gen_tracking(app.db, user_id=u4.id, ip="3.3.3.3")
gen_tracking(app.db, user_id=u4.id, ip="4.4.4.4") gen_tracking(app.db, user_id=u4.id, ip="4.4.4.4")

View File

@@ -54,7 +54,7 @@ def test_user_token_access():
assert r.status_code == 403 assert r.status_code == 403
with app.test_client() as client: with app.test_client() as client:
user = gen_user(app.db, name="user2", email="user2@ctfd.io") user = gen_user(app.db, name="user2", email="user2@examplectf.com")
expiration = datetime.datetime.utcnow() + datetime.timedelta(days=-1) expiration = datetime.datetime.utcnow() + datetime.timedelta(days=-1)
token = generate_user_token(user, expiration=expiration) token = generate_user_token(user, expiration=expiration)
headers = {"Authorization": "token " + token.value} headers = {"Authorization": "token " + token.value}
@@ -67,12 +67,12 @@ def test_user_token_access():
assert r.status_code == 401 assert r.status_code == 401
with app.test_client() as client: with app.test_client() as client:
user = gen_user(app.db, name="user1", email="user1@ctfd.io") user = gen_user(app.db, name="user1", email="user1@examplectf.com")
token = generate_user_token(user, expiration=None) token = generate_user_token(user, expiration=None)
headers = {"Authorization": "token " + token.value} headers = {"Authorization": "token " + token.value}
r = client.get("/api/v1/users/me", headers=headers, json="") r = client.get("/api/v1/users/me", headers=headers, json="")
assert r.status_code == 200 assert r.status_code == 200
resp = r.get_json() resp = r.get_json()
assert resp["data"]["email"] == "user1@ctfd.io" assert resp["data"]["email"] == "user1@examplectf.com"
assert resp["data"]["name"] == "user1" assert resp["data"]["name"] == "user1"
destroy_ctfd(app) destroy_ctfd(app)

View File

@@ -22,7 +22,7 @@ def test_api_statistics_score_distribution():
# Add user data # Add user data
register_user(app) register_user(app)
user = Users.query.filter_by(email="user@ctfd.io").first() user = Users.query.filter_by(email="user@examplectf.com").first()
simulate_user_activity(app.db, user=user) simulate_user_activity(app.db, user=user)
# Test again # Test again

View File

@@ -94,8 +94,8 @@ def test_api_admin_can_change_captain():
"""Can admins/captains change captains for teams""" """Can admins/captains change captains for teams"""
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user1 = gen_user(app.db, name="user1", email="user1@ctfd.io") # ID 2 user1 = gen_user(app.db, name="user1", email="user1@examplectf.com") # ID 2
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") # ID 3 user2 = gen_user(app.db, name="user2", email="user2@examplectf.com") # ID 3
team = gen_team(app.db) team = gen_team(app.db)
team.members.append(user1) team.members.append(user1)
team.members.append(user2) team.members.append(user2)
@@ -128,8 +128,8 @@ def test_api_users_can_change_captain_on_self_team():
"""Can admins/captains change captains for their own team""" """Can admins/captains change captains for their own team"""
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user1 = gen_user(app.db, name="user1", email="user1@ctfd.io") # ID 2 user1 = gen_user(app.db, name="user1", email="user1@examplectf.com") # ID 2
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") # ID 3 user2 = gen_user(app.db, name="user2", email="user2@examplectf.com") # ID 3
team = gen_team(app.db) team = gen_team(app.db)
team.members.append(user1) team.members.append(user1)
team.members.append(user2) team.members.append(user2)

View File

@@ -99,7 +99,7 @@ def test_api_challenges_get_verified_emails():
gen_user( gen_user(
app.db, app.db,
name="user_name", name="user_name",
email="verified_user@ctfd.io", email="verified_user@examplectf.com",
password="password", password="password",
verified=True, verified=True,
) )
@@ -294,7 +294,7 @@ def test_api_challenge_get_verified_emails():
gen_user( gen_user(
app.db, app.db,
name="user_name", name="user_name",
email="verified_user@ctfd.io", email="verified_user@examplectf.com",
password="password", password="password",
verified=True, verified=True,
) )
@@ -558,8 +558,8 @@ def test_api_challenge_get_solves_ctf_frozen():
"""Test users can only see challenge solves that happened before freeze time""" """Test users can only see challenge solves that happened before freeze time"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
# Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST # Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST
set_config("freeze", "1507262400") set_config("freeze", "1507262400")
@@ -657,7 +657,7 @@ def test_api_challenge_get_solves_verified_emails():
gen_user( gen_user(
app.db, app.db,
name="user_name", name="user_name",
email="verified_user@ctfd.io", email="verified_user@examplectf.com",
password="password", password="password",
verified=True, verified=True,
) )

View File

@@ -163,7 +163,7 @@ def test_api_self_fields_permissions():
with client.session_transaction() as sess: with client.session_transaction() as sess:
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"nonce": sess.get("nonce"), "nonce": sess.get("nonce"),
"fields[1]": "CustomValue1", "fields[1]": "CustomValue1",

View File

@@ -20,7 +20,7 @@ def test_scoreboard_is_cached():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
# create user1 # create user1
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
# create challenge # create challenge
chal = gen_challenge(app.db, value=100) chal = gen_challenge(app.db, value=100)

View File

@@ -134,10 +134,10 @@ def test_api_teams_post_admin_duplicate():
r = client.post( r = client.post(
"/api/v1/teams", "/api/v1/teams",
json={ json={
"website": "https://ctfd.io", "website": "https://examplectf.com",
"name": "team1", "name": "team1",
"country": "TW", "country": "TW",
"email": "team1@ctfd.io", "email": "team1@examplectf.com",
"affiliation": "team", "affiliation": "team",
"password": "password", "password": "password",
}, },
@@ -152,10 +152,10 @@ def test_api_teams_post_admin_duplicate():
r = client.post( r = client.post(
"/api/v1/teams", "/api/v1/teams",
json={ json={
"website": "https://ctfd.io", "website": "https://examplectf.com",
"name": "new_team", "name": "new_team",
"country": "TW", "country": "TW",
"email": "team@ctfd.io", "email": "team@examplectf.com",
"affiliation": "team", "affiliation": "team",
"password": "password", "password": "password",
}, },
@@ -244,7 +244,7 @@ def test_api_team_patch_admin():
"/api/v1/teams/1", "/api/v1/teams/1",
json={ json={
"name": "team_name", "name": "team_name",
"email": "team@ctfd.io", "email": "team@examplectf.com",
"password": "password", "password": "password",
"affiliation": "changed", "affiliation": "changed",
}, },
@@ -328,8 +328,8 @@ def test_api_team_patch_me_logged_in_user():
"""Can a user patch /api/v1/teams/me if logged in as a regular user""" """Can a user patch /api/v1/teams/me if logged in as a regular user"""
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user1 = gen_user(app.db, name="user1", email="user1@ctfd.io") user1 = gen_user(app.db, name="user1", email="user1@examplectf.com")
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") user2 = gen_user(app.db, name="user2", email="user2@examplectf.com")
team = gen_team(app.db) team = gen_team(app.db)
team.members.append(user1) team.members.append(user1)
team.members.append(user2) team.members.append(user2)
@@ -441,7 +441,9 @@ def test_api_team_get_solves_after_freze_time():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
register_user(app) register_user(app)
team = gen_team(app.db, name="team1", email="team1@ctfd.io", member_count=1) team = gen_team(
app.db, name="team1", email="team1@examplectf.com", member_count=1
)
team_member = team.members[0] team_member = team.members[0]
tm_name = team_member.name tm_name = team_member.name
@@ -521,7 +523,9 @@ def test_api_team_get_fails_after_freze_time():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
register_user(app) register_user(app)
team = gen_team(app.db, name="team1", email="team1@ctfd.io", member_count=1) team = gen_team(
app.db, name="team1", email="team1@examplectf.com", member_count=1
)
team_member = team.members[0] team_member = team.members[0]
tm_name = team_member.name tm_name = team_member.name
@@ -598,7 +602,9 @@ def test_api_team_get_awards_after_freze_time():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
register_user(app) register_user(app)
team = gen_team(app.db, name="team1", email="team1@ctfd.io", member_count=1) team = gen_team(
app.db, name="team1", email="team1@examplectf.com", member_count=1
)
team_member = team.members[0] team_member = team.members[0]
tm_name = team_member.name tm_name = team_member.name
@@ -634,9 +640,9 @@ def test_api_team_patch_password():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user1 = gen_user( user1 = gen_user(
app.db, name="user1", email="user1@ctfd.io", password="captain" app.db, name="user1", email="user1@examplectf.com", password="captain"
) # ID 2 ) # ID 2
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") # ID 3 user2 = gen_user(app.db, name="user2", email="user2@examplectf.com") # ID 3
team = gen_team(app.db) team = gen_team(app.db)
team.members.append(user1) team.members.append(user1)
team.members.append(user2) team.members.append(user2)
@@ -704,7 +710,7 @@ def test_api_team_captain_disbanding():
team.members.append(user) team.members.append(user)
user.team_id = team.id user.team_id = team.id
team.captain_id = 2 team.captain_id = 2
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") user2 = gen_user(app.db, name="user2", email="user2@examplectf.com")
team.members.append(user2) team.members.append(user2)
app.db.session.commit() app.db.session.commit()
with login_as_user(app, name="user2") as client: with login_as_user(app, name="user2") as client:
@@ -754,7 +760,7 @@ def test_api_team_captain_disbanding_only_inactive_teams():
team.members.append(user) team.members.append(user)
user.team_id = team.id user.team_id = team.id
team.captain_id = 2 team.captain_id = 2
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") user2 = gen_user(app.db, name="user2", email="user2@examplectf.com")
team.members.append(user2) team.members.append(user2)
app.db.session.commit() app.db.session.commit()
@@ -775,8 +781,8 @@ def test_api_team_captain_disbanding_only_inactive_teams():
}, },
} }
user = gen_user(app.db, name="user3", email="user3@ctfd.io") user = gen_user(app.db, name="user3", email="user3@examplectf.com")
team = gen_team(app.db, name="team2", email="team2@ctfd.io") team = gen_team(app.db, name="team2", email="team2@examplectf.com")
print(user.id) print(user.id)
team.members.append(user) team.members.append(user)
user.team_id = team.id user.team_id = team.id
@@ -795,12 +801,12 @@ def test_api_accessing_hidden_banned_users():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
register_user(app) register_user(app)
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
register_user(app, name="visible_user", email="visible_user@ctfd.io") register_user(app, name="visible_user", email="visible_user@examplectf.com")
user = Users.query.filter_by(id=2).first() user = Users.query.filter_by(id=2).first()
team = gen_team( team = gen_team(
app.db, name="hidden_team", email="hidden_team@ctfd.io", hidden=True app.db, name="hidden_team", email="hidden_team@examplectf.com", hidden=True
) )
team.members.append(user) team.members.append(user)
user.team_id = team.id user.team_id = team.id
@@ -808,7 +814,7 @@ def test_api_accessing_hidden_banned_users():
user = Users.query.filter_by(id=3).first() user = Users.query.filter_by(id=3).first()
team = gen_team( team = gen_team(
app.db, name="banned_team", email="banned_team@ctfd.io", banned=True app.db, name="banned_team", email="banned_team@examplectf.com", banned=True
) )
team.members.append(user) team.members.append(user)
user.team_id = team.id user.team_id = team.id
@@ -865,7 +871,7 @@ def test_api_user_without_team_challenge_interaction():
) )
# Create a user with a team # Create a user with a team
user = gen_user(app.db, email="user_name@ctfd.io") user = gen_user(app.db, email="user_name@examplectf.com")
team = gen_team(app.db) team = gen_team(app.db)
team.members.append(user) team.members.append(user)
user.team_id = team.id user.team_id = team.id

View File

@@ -42,7 +42,7 @@ def test_api_tag_list_get():
user = gen_user(app.db, name="user") user = gen_user(app.db, name="user")
generate_user_token(user) generate_user_token(user)
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") user2 = gen_user(app.db, name="user2", email="user2@examplectf.com")
generate_user_token(user2) generate_user_token(user2)
generate_user_token(user2) generate_user_token(user2)
with login_as_user(app) as client: with login_as_user(app) as client:
@@ -78,7 +78,7 @@ def test_api_tag_detail_get():
resp = r.get_json() resp = r.get_json()
assert sorted(resp["data"].keys()) == sorted(TokenSchema().views["admin"]) assert sorted(resp["data"].keys()) == sorted(TokenSchema().views["admin"])
gen_user(app.db, name="user2", email="user2@ctfd.io") gen_user(app.db, name="user2", email="user2@examplectf.com")
with login_as_user(app, "user2") as client: with login_as_user(app, "user2") as client:
r = client.get("/api/v1/tokens/1", json="") r = client.get("/api/v1/tokens/1", json="")
assert r.status_code == 404 assert r.status_code == 404
@@ -114,7 +114,7 @@ def test_api_token_delete():
token = generate_user_token(first_user) token = generate_user_token(first_user)
token_id = token.id token_id = token.id
# Second user # Second user
second_user = gen_user(app.db, name="user2", email="user2@ctfd.io") second_user = gen_user(app.db, name="user2", email="user2@examplectf.com")
username2 = second_user.name username2 = second_user.name
with login_as_user(app, username2) as client: with login_as_user(app, username2) as client:
r = client.delete("/api/v1/tokens/" + str(token_id), json="") r = client.delete("/api/v1/tokens/" + str(token_id), json="")

View File

@@ -144,7 +144,11 @@ def test_api_users_post_admin_duplicate_information():
# Duplicate email # Duplicate email
r = client.post( r = client.post(
"/api/v1/users", "/api/v1/users",
json={"name": "user2", "email": "user@ctfd.io", "password": "password"}, json={
"name": "user2",
"email": "user@examplectf.com",
"password": "password",
},
) )
resp = r.get_json() resp = r.get_json()
assert r.status_code == 400 assert r.status_code == 400
@@ -155,7 +159,11 @@ def test_api_users_post_admin_duplicate_information():
# Duplicate user # Duplicate user
r = client.post( r = client.post(
"/api/v1/users", "/api/v1/users",
json={"name": "user", "email": "user2@ctfd.io", "password": "password"}, json={
"name": "user",
"email": "user2@examplectf.com",
"password": "password",
},
) )
resp = r.get_json() resp = r.get_json()
assert r.status_code == 400 assert r.status_code == 400
@@ -169,13 +177,21 @@ def test_api_users_patch_admin_duplicate_information():
"""Can an admin modify a user with duplicate information""" """Can an admin modify a user with duplicate information"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io", password="password") register_user(
register_user(app, name="user2", email="user2@ctfd.io", password="password") app, name="user1", email="user1@examplectf.com", password="password"
)
register_user(
app, name="user2", email="user2@examplectf.com", password="password"
)
with login_as_user(app, "admin") as client: with login_as_user(app, "admin") as client:
# Duplicate name # Duplicate name
r = client.patch( r = client.patch(
"/api/v1/users/1", "/api/v1/users/1",
json={"name": "user2", "email": "user@ctfd.io", "password": "password"}, json={
"name": "user2",
"email": "user@examplectf.com",
"password": "password",
},
) )
resp = r.get_json() resp = r.get_json()
assert r.status_code == 400 assert r.status_code == 400
@@ -185,7 +201,11 @@ def test_api_users_patch_admin_duplicate_information():
# Duplicate email # Duplicate email
r = client.patch( r = client.patch(
"/api/v1/users/1", "/api/v1/users/1",
json={"name": "user", "email": "user2@ctfd.io", "password": "password"}, json={
"name": "user",
"email": "user2@examplectf.com",
"password": "password",
},
) )
resp = r.get_json() resp = r.get_json()
assert r.status_code == 400 assert r.status_code == 400
@@ -199,13 +219,21 @@ def test_api_users_patch_duplicate_information():
"""Can a user modify their information to another user's""" """Can a user modify their information to another user's"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io", password="password") register_user(
register_user(app, name="user2", email="user2@ctfd.io", password="password") app, name="user1", email="user1@examplectf.com", password="password"
)
register_user(
app, name="user2", email="user2@examplectf.com", password="password"
)
with login_as_user(app, "user1") as client: with login_as_user(app, "user1") as client:
# Duplicate email # Duplicate email
r = client.patch( r = client.patch(
"/api/v1/users/me", "/api/v1/users/me",
json={"name": "user1", "email": "user2@ctfd.io", "confirm": "password"}, json={
"name": "user1",
"email": "user2@examplectf.com",
"confirm": "password",
},
) )
resp = r.get_json() resp = r.get_json()
assert r.status_code == 400 assert r.status_code == 400
@@ -215,7 +243,11 @@ def test_api_users_patch_duplicate_information():
# Duplicate user # Duplicate user
r = client.patch( r = client.patch(
"/api/v1/users/me", "/api/v1/users/me",
json={"name": "user2", "email": "user1@ctfd.io", "confirm": "password"}, json={
"name": "user2",
"email": "user1@examplectf.com",
"confirm": "password",
},
) )
resp = r.get_json() resp = r.get_json()
assert r.status_code == 400 assert r.status_code == 400
@@ -301,7 +333,7 @@ def test_api_user_patch_admin():
"/api/v1/users/2", "/api/v1/users/2",
json={ json={
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"country": "US", "country": "US",
"verified": True, "verified": True,
@@ -381,7 +413,7 @@ def test_api_user_patch_me_logged_in():
"/api/v1/users/me", "/api/v1/users/me",
json={ json={
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"confirm": "password", "confirm": "password",
"country": "US", "country": "US",
@@ -401,7 +433,7 @@ def test_api_admin_user_patch_me_logged_in():
"/api/v1/users/me", "/api/v1/users/me",
json={ json={
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"confirm": "password", "confirm": "password",
"country": "US", "country": "US",
@@ -412,7 +444,7 @@ def test_api_admin_user_patch_me_logged_in():
user = Users.query.filter_by(id=1).first() user = Users.query.filter_by(id=1).first()
assert user.name == "user" assert user.name == "user"
assert user.email == "user@ctfd.io" assert user.email == "user@examplectf.com"
destroy_ctfd(app) destroy_ctfd(app)
@@ -571,8 +603,8 @@ def test_api_user_get_solves_after_freze_time():
"""Can a user get /api/v1/users/<user_id>/solves after freeze time""" """Can a user get /api/v1/users/<user_id>/solves after freeze time"""
app = create_ctfd(user_mode="users") app = create_ctfd(user_mode="users")
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
# Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST # Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST
set_config("freeze", "1507262400") set_config("freeze", "1507262400")
@@ -646,8 +678,8 @@ def test_api_user_get_fails_after_freze_time():
"""Can a user get /api/v1/users/<user_id>/fails after freeze time""" """Can a user get /api/v1/users/<user_id>/fails after freeze time"""
app = create_ctfd(user_mode="users") app = create_ctfd(user_mode="users")
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
# Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST # Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST
set_config("freeze", "1507262400") set_config("freeze", "1507262400")
@@ -718,8 +750,8 @@ def test_api_user_get_awards_after_freze_time():
"""Can a user get /api/v1/users/<user_id>/awards after freeze time""" """Can a user get /api/v1/users/<user_id>/awards after freeze time"""
app = create_ctfd(user_mode="users") app = create_ctfd(user_mode="users")
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
# Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST # Friday, October 6, 2017 12:00:00 AM GMT-04:00 DST
set_config("freeze", "1507262400") set_config("freeze", "1507262400")
@@ -757,8 +789,10 @@ def test_api_accessing_hidden_users():
"""Hidden users should not be visible to normal users, only to admins""" """Hidden users should not be visible to normal users, only to admins"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="visible_user", email="visible_user@ctfd.io") register_user(app, name="visible_user", email="visible_user@examplectf.com")
register_user(app, name="hidden_user", email="hidden_user@ctfd.io") # ID 3 register_user(
app, name="hidden_user", email="hidden_user@examplectf.com"
) # ID 3
user = Users.query.filter_by(name="hidden_user").first() user = Users.query.filter_by(name="hidden_user").first()
user.hidden = True user.hidden = True
app.db.session.commit() app.db.session.commit()
@@ -788,8 +822,10 @@ def test_api_accessing_banned_users():
"""Banned users should not be visible to normal users, only to admins""" """Banned users should not be visible to normal users, only to admins"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="visible_user", email="visible_user@ctfd.io") register_user(app, name="visible_user", email="visible_user@examplectf.com")
register_user(app, name="banned_user", email="banned_user@ctfd.io") # ID 3 register_user(
app, name="banned_user", email="banned_user@examplectf.com"
) # ID 3
user = Users.query.filter_by(name="banned_user").first() user = Users.query.filter_by(name="banned_user").first()
user.banned = True user.banned = True
app.db.session.commit() app.db.session.commit()
@@ -866,8 +902,8 @@ def test_api_user_get_schema():
"""Can a user get /api/v1/users/<user_id> doesn't return unnecessary data""" """Can a user get /api/v1/users/<user_id> doesn't return unnecessary data"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") # ID 2 register_user(app, name="user1", email="user1@examplectf.com") # ID 2
register_user(app, name="user2", email="user2@ctfd.io") # ID 3 register_user(app, name="user2", email="user2@examplectf.com") # ID 3
with app.test_client() as client: with app.test_client() as client:
r = client.get("/api/v1/users/3") r = client.get("/api/v1/users/3")

View File

@@ -106,7 +106,7 @@ def test_api_challenge_list_verified_emails():
gen_user( gen_user(
app.db, app.db,
name="user_name", name="user_name",
email="verified_user@ctfd.io", email="verified_user@examplectf.com",
password="password", password="password",
verified=True, verified=True,
) )
@@ -209,7 +209,7 @@ def test_api_challenge_verified_emails():
gen_user( gen_user(
app.db, app.db,
name="user_name", name="user_name",
email="verified_user@ctfd.io", email="verified_user@examplectf.com",
password="password", password="password",
verified=True, verified=True,
) )
@@ -333,7 +333,7 @@ def test_api_challenge_solves_verified_emails():
gen_user( gen_user(
app.db, app.db,
name="user_name", name="user_name",
email="verified_user@ctfd.io", email="verified_user@examplectf.com",
password="password", password="password",
verified=True, verified=True,
) )

View File

@@ -123,7 +123,7 @@ def test_users_dont_prevent_other_users_from_unlocking_hints():
chal = gen_challenge(app.db) chal = gen_challenge(app.db)
gen_hint(app.db, chal.id, content="This is a hint", cost=1, type="standard") gen_hint(app.db, chal.id, content="This is a hint", cost=1, type="standard")
register_user(app) register_user(app)
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
# Give users points with an award # Give users points with an award
gen_award(app.db, user_id=2) gen_award(app.db, user_id=2)

View File

@@ -205,7 +205,7 @@ def test_dynamic_challenge_loses_value_properly():
for i, team_id in enumerate(range(2, 26)): for i, team_id in enumerate(range(2, 26)):
name = "user{}".format(team_id) name = "user{}".format(team_id)
email = "user{}@ctfd.io".format(team_id) email = "user{}@examplectf.com".format(team_id)
# We need to bypass rate-limiting so gen_user instead of register_user # We need to bypass rate-limiting so gen_user instead of register_user
user = gen_user(app.db, name=name, email=email) user = gen_user(app.db, name=name, email=email)
user_id = user.id user_id = user.id
@@ -295,7 +295,7 @@ def test_dynamic_challenge_value_isnt_affected_by_hidden_users():
# Make solves as hidden users. Also should not affect value # Make solves as hidden users. Also should not affect value
for i, team_id in enumerate(range(2, 26)): for i, team_id in enumerate(range(2, 26)):
name = "user{}".format(team_id) name = "user{}".format(team_id)
email = "user{}@ctfd.io".format(team_id) email = "user{}@examplectf.com".format(team_id)
# We need to bypass rate-limiting so gen_user instead of register_user # We need to bypass rate-limiting so gen_user instead of register_user
user = gen_user(app.db, name=name, email=email) user = gen_user(app.db, name=name, email=email)
user.hidden = True user.hidden = True

View File

@@ -65,7 +65,7 @@ def create_ctfd(
ctf_name="CTFd", ctf_name="CTFd",
ctf_description="CTF description", ctf_description="CTF description",
name="admin", name="admin",
email="admin@ctfd.io", email="admin@examplectf.com",
password="password", password="password",
user_mode="users", user_mode="users",
setup=True, setup=True,
@@ -105,7 +105,7 @@ def setup_ctfd(
ctf_name="CTFd", ctf_name="CTFd",
ctf_description="CTF description", ctf_description="CTF description",
name="admin", name="admin",
email="admin@ctfd.io", email="admin@examplectf.com",
password="password", password="password",
user_mode="users", user_mode="users",
): ):
@@ -134,7 +134,11 @@ def destroy_ctfd(app):
def register_user( def register_user(
app, name="user", email="user@ctfd.io", password="password", raise_for_error=True app,
name="user",
email="user@examplectf.com",
password="password",
raise_for_error=True,
): ):
with app.app_context(): with app.app_context():
with app.test_client() as client: with app.test_client() as client:
@@ -185,7 +189,7 @@ def login_with_mlc(
app, app,
name="user", name="user",
scope="profile%20team", scope="profile%20team",
email="user@ctfd.io", email="user@examplectf.com",
oauth_id=1337, oauth_id=1337,
team_name="TestTeam", team_name="TestTeam",
team_oauth_id=1234, team_oauth_id=1234,
@@ -315,7 +319,9 @@ def gen_flag(db, challenge_id, content="flag", type="static", data=None, **kwarg
return flag return flag
def gen_user(db, name="user_name", email="user@ctfd.io", password="password", **kwargs): def gen_user(
db, name="user_name", email="user@examplectf.com", password="password", **kwargs
):
user = Users(name=name, email=email, password=password, **kwargs) user = Users(name=name, email=email, password=password, **kwargs)
db.session.add(user) db.session.add(user)
db.session.commit() db.session.commit()
@@ -325,7 +331,7 @@ def gen_user(db, name="user_name", email="user@ctfd.io", password="password", **
def gen_team( def gen_team(
db, db,
name="team_name", name="team_name",
email="team@ctfd.io", email="team@examplectf.com",
password="password", password="password",
member_count=4, member_count=4,
**kwargs **kwargs
@@ -333,7 +339,7 @@ def gen_team(
team = Teams(name=name, email=email, password=password, **kwargs) team = Teams(name=name, email=email, password=password, **kwargs)
for i in range(member_count): for i in range(member_count):
name = "user-{}-{}".format(random_string(), str(i)) name = "user-{}-{}".format(random_string(), str(i))
user = gen_user(db, name=name, email=name + "@ctfd.io", team_id=team.id) user = gen_user(db, name=name, email=name + "@examplectf.com", team_id=team.id)
if i == 0: if i == 0:
team.captain_id = user.id team.captain_id = user.id
team.members.append(user) team.members.append(user)

View File

@@ -55,7 +55,7 @@ def test_oauth_configured_flow():
# Users should be able to register now # Users should be able to register now
assert Users.query.count() == 2 assert Users.query.count() == 2
user = Users.query.filter_by(email="user@ctfd.io").first() user = Users.query.filter_by(email="user@examplectf.com").first()
assert user.oauth_id == 1337 assert user.oauth_id == 1337
assert user.team_id == 1 assert user.team_id == 1

View File

@@ -72,8 +72,8 @@ def test_teams_join_when_already_on_team():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
gen_user(app.db, name="user") gen_user(app.db, name="user")
gen_team(app.db, email="team1@ctfd.io", name="team1") gen_team(app.db, email="team1@examplectf.com", name="team1")
gen_team(app.db, email="team2@ctfd.io", name="team2") gen_team(app.db, email="team2@examplectf.com", name="team2")
with login_as_user(app) as client: with login_as_user(app) as client:
r = client.get("/teams/join") r = client.get("/teams/join")
assert r.status_code == 200 assert r.status_code == 200

View File

@@ -18,7 +18,7 @@ def test_challenge_team_submit():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user = gen_user(app.db) user = gen_user(app.db)
second_user = gen_user(app.db, name="user", email="second@ctfd.io") second_user = gen_user(app.db, name="user", email="second@examplectf.com")
team = gen_team(app.db) team = gen_team(app.db)
user.team_id = team.id user.team_id = team.id
second_user.team_id = team.id second_user.team_id = team.id

View File

@@ -12,14 +12,14 @@ from tests.helpers import (
def setup_app(app): def setup_app(app):
user1 = gen_user(app.db, name="user1", email="user1@ctfd.io") user1 = gen_user(app.db, name="user1", email="user1@examplectf.com")
team1 = gen_team(app.db, name="team1", email="team1@ctfd.io") team1 = gen_team(app.db, name="team1", email="team1@examplectf.com")
user1.team_id = team1.id user1.team_id = team1.id
team1.members.append(user1) team1.members.append(user1)
team1.hidden = True team1.hidden = True
user2 = gen_user(app.db, name="user2", email="user2@ctfd.io") user2 = gen_user(app.db, name="user2", email="user2@examplectf.com")
team2 = gen_team(app.db, name="team2", email="team2@ctfd.io") team2 = gen_team(app.db, name="team2", email="team2@examplectf.com")
user2.team_id = team2.id user2.team_id = team2.id
team2.members.append(user2) team2.members.append(user2)

View File

@@ -19,7 +19,7 @@ def test_hint_team_unlock():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user = gen_user(app.db) user = gen_user(app.db)
second_user = gen_user(app.db, name="user", email="second@ctfd.io") second_user = gen_user(app.db, name="user", email="second@examplectf.com")
team = gen_team(app.db) team = gen_team(app.db)
user.team_id = team.id user.team_id = team.id
second_user.team_id = team.id second_user.team_id = team.id
@@ -75,7 +75,7 @@ def test_hint_team_unlocking_without_points():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
user = gen_user(app.db) user = gen_user(app.db)
second_user = gen_user(app.db, name="user", email="second@ctfd.io") second_user = gen_user(app.db, name="user", email="second@examplectf.com")
team = gen_team(app.db) team = gen_team(app.db)
user.team_id = team.id user.team_id = team.id
second_user.team_id = team.id second_user.team_id = team.id
@@ -106,8 +106,8 @@ def test_teams_dont_prevent_other_teams_from_unlocking_hints():
chal = gen_challenge(app.db) chal = gen_challenge(app.db)
gen_hint(app.db, chal.id, content="This is a hint", cost=1, type="standard") gen_hint(app.db, chal.id, content="This is a hint", cost=1, type="standard")
team1 = gen_team(app.db, name="team1", email="team1@ctfd.io") team1 = gen_team(app.db, name="team1", email="team1@examplectf.com")
team2 = gen_team(app.db, name="team2", email="team2@ctfd.io") team2 = gen_team(app.db, name="team2", email="team2@examplectf.com")
# Give users points with an award # Give users points with an award
gen_award(app.db, user_id=team1.captain_id) gen_award(app.db, user_id=team1.captain_id)

View File

@@ -11,7 +11,7 @@ from tests.helpers import create_ctfd, destroy_ctfd, gen_team, gen_user, login_a
def test_team_invite_codes(): def test_team_invite_codes():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
team1 = gen_team(app.db, name="team1", email="team1@ctfd.io") team1 = gen_team(app.db, name="team1", email="team1@examplectf.com")
with freeze_time("2017-10-7 00:00:00"): with freeze_time("2017-10-7 00:00:00"):
invite_code = team1.get_invite_code() invite_code = team1.get_invite_code()
team = Teams.load_invite_code(invite_code) team = Teams.load_invite_code(invite_code)
@@ -45,7 +45,7 @@ def test_team_invite_codes():
def test_api_user_facing_invite_tokens(): def test_api_user_facing_invite_tokens():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
team1 = gen_team(app.db, name="team1", email="team1@ctfd.io") team1 = gen_team(app.db, name="team1", email="team1@examplectf.com")
user = team1.captain user = team1.captain
with login_as_user(app, name=user.name) as captain: with login_as_user(app, name=user.name) as captain:
r = captain.post("/api/v1/teams/me/members", json="") r = captain.post("/api/v1/teams/me/members", json="")
@@ -67,7 +67,7 @@ def test_api_user_facing_invite_tokens():
# Test team size limits # Test team size limits
set_config("team_size", 1) set_config("team_size", 1)
new_user2 = gen_user(app.db, name="new_user2", email="new_user2@ctfd.io") new_user2 = gen_user(app.db, name="new_user2", email="new_user2@examplectf.com")
with login_as_user(app, name=new_user2.name) as user: with login_as_user(app, name=new_user2.name) as user:
url = f"/teams/invite?code={invite_code}" url = f"/teams/invite?code={invite_code}"
user.get(url) user.get(url)

View File

@@ -36,7 +36,7 @@ def test_accessing_hidden_teams():
app = create_ctfd(user_mode="teams") app = create_ctfd(user_mode="teams")
with app.app_context(): with app.app_context():
register_user(app) register_user(app)
register_user(app, name="visible_user", email="visible_user@ctfd.io") register_user(app, name="visible_user", email="visible_user@examplectf.com")
with login_as_user(app, name="visible_user") as client: with login_as_user(app, name="visible_user") as client:
user = Users.query.filter_by(id=2).first() user = Users.query.filter_by(id=2).first()
team = gen_team(app.db, name="visible_team", hidden=True) team = gen_team(app.db, name="visible_team", hidden=True)

View File

@@ -78,12 +78,12 @@ def test_register_plugin_script():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_plugin_script("/fake/script/path.js") register_plugin_script("/fake/script/path.js")
register_plugin_script("http://ctfd.io/fake/script/path.js") register_plugin_script("http://examplectf.com/fake/script/path.js")
with app.test_client() as client: with app.test_client() as client:
r = client.get("/") r = client.get("/")
output = r.get_data(as_text=True) output = r.get_data(as_text=True)
assert "/fake/script/path.js" in output assert "/fake/script/path.js" in output
assert "http://ctfd.io/fake/script/path.js" in output assert "http://examplectf.com/fake/script/path.js" in output
destroy_ctfd(app) destroy_ctfd(app)
@@ -92,12 +92,12 @@ def test_register_plugin_stylesheet():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_plugin_script("/fake/stylesheet/path.css") register_plugin_script("/fake/stylesheet/path.css")
register_plugin_script("http://ctfd.io/fake/stylesheet/path.css") register_plugin_script("http://examplectf.com/fake/stylesheet/path.css")
with app.test_client() as client: with app.test_client() as client:
r = client.get("/") r = client.get("/")
output = r.get_data(as_text=True) output = r.get_data(as_text=True)
assert "/fake/stylesheet/path.css" in output assert "/fake/stylesheet/path.css" in output
assert "http://ctfd.io/fake/stylesheet/path.css" in output assert "http://examplectf.com/fake/stylesheet/path.css" in output
destroy_ctfd(app) destroy_ctfd(app)
@@ -106,12 +106,12 @@ def test_register_admin_plugin_script():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_admin_plugin_script("/fake/script/path.js") register_admin_plugin_script("/fake/script/path.js")
register_admin_plugin_script("http://ctfd.io/fake/script/path.js") register_admin_plugin_script("http://examplectf.com/fake/script/path.js")
with login_as_user(app, name="admin") as client: with login_as_user(app, name="admin") as client:
r = client.get("/admin/statistics") r = client.get("/admin/statistics")
output = r.get_data(as_text=True) output = r.get_data(as_text=True)
assert "/fake/script/path.js" in output assert "/fake/script/path.js" in output
assert "http://ctfd.io/fake/script/path.js" in output assert "http://examplectf.com/fake/script/path.js" in output
destroy_ctfd(app) destroy_ctfd(app)
@@ -120,12 +120,14 @@ def test_register_admin_plugin_stylesheet():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_admin_plugin_stylesheet("/fake/stylesheet/path.css") register_admin_plugin_stylesheet("/fake/stylesheet/path.css")
register_admin_plugin_stylesheet("http://ctfd.io/fake/stylesheet/path.css") register_admin_plugin_stylesheet(
"http://examplectf.com/fake/stylesheet/path.css"
)
with login_as_user(app, name="admin") as client: with login_as_user(app, name="admin") as client:
r = client.get("/admin/statistics") r = client.get("/admin/statistics")
output = r.get_data(as_text=True) output = r.get_data(as_text=True)
assert "/fake/stylesheet/path.css" in output assert "/fake/stylesheet/path.css" in output
assert "http://ctfd.io/fake/stylesheet/path.css" in output assert "http://examplectf.com/fake/stylesheet/path.css" in output
destroy_ctfd(app) destroy_ctfd(app)

View File

@@ -92,7 +92,7 @@ def test_that_ctfd_can_be_deployed_in_subdir():
"ctf_name": "CTFd", "ctf_name": "CTFd",
"ctf_description": "CTF description", "ctf_description": "CTF description",
"name": "admin", "name": "admin",
"email": "admin@ctfd.io", "email": "admin@examplectf.com",
"password": "password", "password": "password",
"user_mode": "users", "user_mode": "users",
"nonce": sess.get("nonce"), "nonce": sess.get("nonce"),

View File

@@ -39,21 +39,21 @@ def test_register_duplicate_username():
register_user( register_user(
app, app,
name="user1", name="user1",
email="user1@ctfd.io", email="user1@examplectf.com",
password="password", password="password",
raise_for_error=False, raise_for_error=False,
) )
register_user( register_user(
app, app,
name="user1", name="user1",
email="user2@ctfd.io", email="user2@examplectf.com",
password="password", password="password",
raise_for_error=False, raise_for_error=False,
) )
register_user( register_user(
app, app,
name="admin ", name="admin ",
email="admin2@ctfd.io", email="admin2@examplectf.com",
password="password", password="password",
raise_for_error=False, raise_for_error=False,
) )
@@ -69,14 +69,14 @@ def test_register_duplicate_email():
register_user( register_user(
app, app,
name="user1", name="user1",
email="user1@ctfd.io", email="user1@examplectf.com",
password="password", password="password",
raise_for_error=False, raise_for_error=False,
) )
register_user( register_user(
app, app,
name="user2", name="user2",
email="user1@ctfd.io", email="user1@examplectf.com",
password="password", password="password",
raise_for_error=False, raise_for_error=False,
) )
@@ -144,7 +144,7 @@ def test_user_login_with_email():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app) register_user(app)
client = login_as_user(app, name="user@ctfd.io", password="password") client = login_as_user(app, name="user@examplectf.com", password="password")
r = client.get("/profile") r = client.get("/profile")
assert ( assert (
r.location != "http://localhost/login" r.location != "http://localhost/login"

View File

@@ -76,7 +76,7 @@ def test_viewing_challenge():
# # Generate 5 users # # Generate 5 users
# for c in range(1, 6): # for c in range(1, 6):
# name = "user{}".format(c) # name = "user{}".format(c)
# email = "user{}@ctfd.io".format(c) # email = "user{}@examplectf.com".format(c)
# register_user(app, name=name, email=email, password="password") # register_user(app, name=name, email=email, password="password")
# #
# # Generate 5 challenges # # Generate 5 challenges

View File

@@ -62,7 +62,7 @@ def test_fields_required_on_register():
with client.session_transaction() as sess: with client.session_transaction() as sess:
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"nonce": sess.get("nonce"), "nonce": sess.get("nonce"),
} }
@@ -73,7 +73,7 @@ def test_fields_required_on_register():
with client.session_transaction() as sess: with client.session_transaction() as sess:
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"fields[1]": "custom_field_value", "fields[1]": "custom_field_value",
"nonce": sess.get("nonce"), "nonce": sess.get("nonce"),
@@ -178,7 +178,7 @@ def test_boolean_checkbox_field():
with client.session_transaction() as sess: with client.session_transaction() as sess:
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"password": "password", "password": "password",
"nonce": sess.get("nonce"), "nonce": sess.get("nonce"),
"fields[1]": "y", "fields[1]": "y",

View File

@@ -22,7 +22,7 @@ def test_user_cannot_unlock_hint():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
with app.test_client(): with app.test_client():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
chal = gen_challenge(app.db, value=100) chal = gen_challenge(app.db, value=100)
chal_id = chal.id chal_id = chal.id
@@ -47,7 +47,7 @@ def test_user_can_unlock_hint():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
with app.test_client(): with app.test_client():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
chal = gen_challenge(app.db, value=100) chal = gen_challenge(app.db, value=100)
chal_id = chal.id chal_id = chal.id

View File

@@ -13,25 +13,25 @@ def test_email_cannot_be_changed_without_password():
register_user(app) register_user(app)
client = login_as_user(app) client = login_as_user(app)
data = {"name": "user", "email": "user2@ctfd.io"} data = {"name": "user", "email": "user2@examplectf.com"}
r = client.patch("/api/v1/users/me", json=data) r = client.patch("/api/v1/users/me", json=data)
assert r.status_code == 400 assert r.status_code == 400
user = Users.query.filter_by(id=2).first() user = Users.query.filter_by(id=2).first()
assert user.email == "user@ctfd.io" assert user.email == "user@examplectf.com"
data = {"name": "user", "email": "user2@ctfd.io", "confirm": "asdf"} data = {"name": "user", "email": "user2@examplectf.com", "confirm": "asdf"}
r = client.patch("/api/v1/users/me", json=data) r = client.patch("/api/v1/users/me", json=data)
assert r.status_code == 400 assert r.status_code == 400
user = Users.query.filter_by(id=2).first() user = Users.query.filter_by(id=2).first()
assert user.email == "user@ctfd.io" assert user.email == "user@examplectf.com"
data = {"name": "user", "email": "user2@ctfd.io", "confirm": "password"} data = {"name": "user", "email": "user2@examplectf.com", "confirm": "password"}
r = client.patch("/api/v1/users/me", json=data) r = client.patch("/api/v1/users/me", json=data)
assert r.status_code == 200 assert r.status_code == 200
user = Users.query.filter_by(id=2).first() user = Users.query.filter_by(id=2).first()
assert user.email == "user2@ctfd.io" assert user.email == "user2@examplectf.com"
assert verify_password(plaintext="password", ciphertext=user.password) assert verify_password(plaintext="password", ciphertext=user.password)
destroy_ctfd(app) destroy_ctfd(app)

View File

@@ -45,7 +45,7 @@ def test_user_score_is_correct():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
# create user1 # create user1
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
# create challenge # create challenge
chal = gen_challenge(app.db, value=100) chal = gen_challenge(app.db, value=100)
@@ -61,7 +61,7 @@ def test_user_score_is_correct():
assert user1.place == "1st" assert user1.place == "1st"
# create user2 # create user2
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
# user2 solves the challenge # user2 solves the challenge
gen_solve(app.db, 3, challenge_id=chal_id) gen_solve(app.db, 3, challenge_id=chal_id)
@@ -84,8 +84,8 @@ def test_top_10():
"""Make sure top10 returns correct information""" """Make sure top10 returns correct information"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") register_user(app, name="user1", email="user1@examplectf.com")
register_user(app, name="user2", email="user2@ctfd.io") register_user(app, name="user2", email="user2@examplectf.com")
register_user(app) register_user(app)
chal1 = gen_challenge(app.db) chal1 = gen_challenge(app.db)
@@ -159,9 +159,13 @@ def test_scoring_logic():
with app.app_context(): with app.app_context():
admin = login_as_user(app, name="admin", password="password") admin = login_as_user(app, name="admin", password="password")
register_user(app, name="user1", email="user1@ctfd.io", password="password") register_user(
app, name="user1", email="user1@examplectf.com", password="password"
)
client1 = login_as_user(app, name="user1", password="password") client1 = login_as_user(app, name="user1", password="password")
register_user(app, name="user2", email="user2@ctfd.io", password="password") register_user(
app, name="user2", email="user2@examplectf.com", password="password"
)
client2 = login_as_user(app, name="user2", password="password") client2 = login_as_user(app, name="user2", password="password")
chal1 = gen_challenge(app.db) chal1 = gen_challenge(app.db)
@@ -214,9 +218,13 @@ def test_scoring_logic_with_zero_point_challenges():
with app.app_context(): with app.app_context():
admin = login_as_user(app, name="admin", password="password") admin = login_as_user(app, name="admin", password="password")
register_user(app, name="user1", email="user1@ctfd.io", password="password") register_user(
app, name="user1", email="user1@examplectf.com", password="password"
)
client1 = login_as_user(app, name="user1", password="password") client1 = login_as_user(app, name="user1", password="password")
register_user(app, name="user2", email="user2@ctfd.io", password="password") register_user(
app, name="user2", email="user2@examplectf.com", password="password"
)
client2 = login_as_user(app, name="user2", password="password") client2 = login_as_user(app, name="user2", password="password")
chal1 = gen_challenge(app.db) chal1 = gen_challenge(app.db)
@@ -281,9 +289,15 @@ def test_scoring_logic_with_zero_point_challenges():
def test_hidden_users_should_not_influence_scores(): def test_hidden_users_should_not_influence_scores():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io", password="password") register_user(
register_user(app, name="user2", email="user2@ctfd.io", password="password") app, name="user1", email="user1@examplectf.com", password="password"
register_user(app, name="user3", email="user3@ctfd.io", password="password") )
register_user(
app, name="user2", email="user2@examplectf.com", password="password"
)
register_user(
app, name="user3", email="user3@examplectf.com", password="password"
)
user = Users.query.filter_by(name="user3").first() user = Users.query.filter_by(name="user3").first()
user.hidden = True user.hidden = True

View File

@@ -15,11 +15,11 @@ def test_user_set_profile():
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"confirm": "", "confirm": "",
"password": "", "password": "",
"affiliation": "affiliation_test", "affiliation": "affiliation_test",
"website": "https://ctfd.io", "website": "https://examplectf.com",
"country": "US", "country": "US",
} }
@@ -38,7 +38,7 @@ def test_user_set_profile():
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"confirm": "", "confirm": "",
"password": "", "password": "",
"affiliation": "", "affiliation": "",
@@ -65,7 +65,7 @@ def test_user_can_change_password():
data = { data = {
"name": "user", "name": "user",
"email": "user@ctfd.io", "email": "user@examplectf.com",
"confirm": "", "confirm": "",
"password": "new_password", "password": "new_password",
"affiliation": "", "affiliation": "",

View File

@@ -32,7 +32,7 @@ def test_ctfd_setup_verification():
"ctf_name": "CTFd", "ctf_name": "CTFd",
"ctf_description": "CTF description", "ctf_description": "CTF description",
"name": "test", "name": "test",
"email": "test@ctfd.io", "email": "test@examplectf.com",
"password": "", "password": "",
"user_mode": "users", "user_mode": "users",
"nonce": sess.get("nonce"), "nonce": sess.get("nonce"),
@@ -40,7 +40,7 @@ def test_ctfd_setup_verification():
r = client.post("/setup", data=data) r = client.post("/setup", data=data)
assert "longer password" in r.get_data(as_text=True) assert "longer password" in r.get_data(as_text=True)
gen_user(app.db, name="test", email="test@ctfd.io") gen_user(app.db, name="test", email="test@examplectf.com")
data["password"] = "password" data["password"] = "password"
r = client.post("/setup", data=data) r = client.post("/setup", data=data)
@@ -49,7 +49,7 @@ def test_ctfd_setup_verification():
assert "name is already taken" in resp assert "name is already taken" in resp
data["name"] = "admin" data["name"] = "admin"
data["email"] = "admin@ctfd.io" data["email"] = "admin@examplectf.com"
r = client.post("/setup", data=data) r = client.post("/setup", data=data)
assert r.status_code == 302 assert r.status_code == 302
assert r.location == "http://localhost/" assert r.location == "http://localhost/"

View File

@@ -29,8 +29,8 @@ def test_user_get_another_public_solves():
"""Can a registered user load public solves page of another user""" """Can a registered user load public solves page of another user"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") # ID 2 register_user(app, name="user1", email="user1@examplectf.com") # ID 2
register_user(app, name="user2", email="user2@ctfd.io") # ID 3 register_user(app, name="user2", email="user2@examplectf.com") # ID 3
client = login_as_user(app, name="user2") client = login_as_user(app, name="user2")
r = client.get("/api/v1/users/2/solves") r = client.get("/api/v1/users/2/solves")
assert r.status_code == 200 assert r.status_code == 200
@@ -63,8 +63,8 @@ def test_user_get_another_public_fails():
"""Can a registered user load public fails page of another user""" """Can a registered user load public fails page of another user"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") # ID 2 register_user(app, name="user1", email="user1@examplectf.com") # ID 2
register_user(app, name="user2", email="user2@ctfd.io") # ID 3 register_user(app, name="user2", email="user2@examplectf.com") # ID 3
client = login_as_user(app, name="user2") client = login_as_user(app, name="user2")
r = client.get("/api/v1/users/2/fails") r = client.get("/api/v1/users/2/fails")
assert r.status_code == 200 assert r.status_code == 200
@@ -86,8 +86,8 @@ def test_user_get_another_public_team_page():
"""Can a registered user load the public profile of another user (/users/1)""" """Can a registered user load the public profile of another user (/users/1)"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="user1", email="user1@ctfd.io") # ID 2 register_user(app, name="user1", email="user1@examplectf.com") # ID 2
register_user(app, name="user2", email="user2@ctfd.io") # ID 3 register_user(app, name="user2", email="user2@examplectf.com") # ID 3
client = login_as_user(app, name="user2") client = login_as_user(app, name="user2")
r = client.get("/users/2") r = client.get("/users/2")
assert r.status_code == 200 assert r.status_code == 200

View File

@@ -15,9 +15,15 @@ def test_accessing_hidden_users():
"""Hidden users should not give any data from /users or /api/v1/users""" """Hidden users should not give any data from /users or /api/v1/users"""
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_user(app, name="visible_user", email="visible_user@ctfd.io") # ID 2 register_user(
register_user(app, name="hidden_user", email="hidden_user@ctfd.io") # ID 3 app, name="visible_user", email="visible_user@examplectf.com"
register_user(app, name="banned_user", email="banned_user@ctfd.io") # ID 4 ) # ID 2
register_user(
app, name="hidden_user", email="hidden_user@examplectf.com"
) # ID 3
register_user(
app, name="banned_user", email="banned_user@examplectf.com"
) # ID 4
user = Users.query.filter_by(name="hidden_user").first() user = Users.query.filter_by(name="hidden_user").first()
user.hidden = True user.hidden = True
app.db.session.commit() app.db.session.commit()

View File

@@ -109,7 +109,7 @@ def test_sendmail_with_mailgun_from_config_file(fake_post_request):
assert kwargs["data"] == { assert kwargs["data"] == {
"to": ["user@user.com"], "to": ["user@user.com"],
"text": "this is a test", "text": "this is a test",
"from": "CTFd <noreply@ctfd.io>", "from": "CTFd <noreply@examplectf.com>",
"subject": "Message from CTFd", "subject": "Message from CTFd",
} }
@@ -149,7 +149,7 @@ def test_sendmail_with_mailgun_from_db_config(fake_post_request):
assert kwargs["data"] == { assert kwargs["data"] == {
"to": ["user@user.com"], "to": ["user@user.com"],
"text": "this is a test", "text": "this is a test",
"from": "CTFd <noreply@ctfd.io>", "from": "CTFd <noreply@examplectf.com>",
"subject": "Message from CTFd", "subject": "Message from CTFd",
} }

View File

@@ -30,7 +30,9 @@ def test_base64encode():
base64encode('"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4') base64encode('"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4')
== "InRlc3RAbWFpbGluYXRvci5jb20iLkRHeGVvQS5sQ3NzVTNNMlF1QmZvaE8tRnRkZ0RRTEtiVTQ" == "InRlc3RAbWFpbGluYXRvci5jb20iLkRHeGVvQS5sQ3NzVTNNMlF1QmZvaE8tRnRkZ0RRTEtiVTQ"
) )
assert base64encode("user+user@ctfd.io") == "dXNlcit1c2VyQGN0ZmQuaW8" assert (
base64encode("user+user@examplectf.com") == "dXNlcit1c2VyQGV4YW1wbGVjdGYuY29t"
)
assert base64encode("😆") == "8J-Yhg" assert base64encode("😆") == "8J-Yhg"
@@ -43,5 +45,7 @@ def test_base64decode():
) )
== '"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4' == '"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4'
) )
assert base64decode("dXNlcit1c2VyQGN0ZmQuaW8") == "user+user@ctfd.io" assert (
base64decode("dXNlcit1c2VyQGV4YW1wbGVjdGYuY29t") == "user+user@examplectf.com"
)
assert base64decode("8J-Yhg") == "😆" assert base64decode("8J-Yhg") == "😆"

View File

@@ -60,13 +60,13 @@ def test_import_ctf():
base_user = "user" base_user = "user"
for x in range(10): for x in range(10):
user = base_user + str(x) user = base_user + str(x)
user_email = user + "@ctfd.io" user_email = user + "@examplectf.com"
gen_user(app.db, name=user, email=user_email) gen_user(app.db, name=user, email=user_email)
base_team = "team" base_team = "team"
for x in range(5): for x in range(5):
team = base_team + str(x) team = base_team + str(x)
team_email = team + "@ctfd.io" team_email = team + "@examplectf.com"
gen_team(app.db, name=team, email=team_email) gen_team(app.db, name=team, email=team_email)
for x in range(9): for x in range(9):

View File

@@ -34,12 +34,12 @@ def test_register_plugin_script():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_plugin_script("/fake/script/path.js") register_plugin_script("/fake/script/path.js")
register_plugin_script("http://ctfd.io/fake/script/path.js") register_plugin_script("http://examplectf.com/fake/script/path.js")
with app.test_client() as client: with app.test_client() as client:
r = client.get("/") r = client.get("/")
output = r.get_data(as_text=True) output = r.get_data(as_text=True)
assert "/fake/script/path.js" in output assert "/fake/script/path.js" in output
assert "http://ctfd.io/fake/script/path.js" in output assert "http://examplectf.com/fake/script/path.js" in output
destroy_ctfd(app) destroy_ctfd(app)
@@ -48,10 +48,10 @@ def test_register_plugin_stylesheet():
app = create_ctfd() app = create_ctfd()
with app.app_context(): with app.app_context():
register_plugin_script("/fake/stylesheet/path.css") register_plugin_script("/fake/stylesheet/path.css")
register_plugin_script("http://ctfd.io/fake/stylesheet/path.css") register_plugin_script("http://examplectf.com/fake/stylesheet/path.css")
with app.test_client() as client: with app.test_client() as client:
r = client.get("/") r = client.get("/")
output = r.get_data(as_text=True) output = r.get_data(as_text=True)
assert "/fake/stylesheet/path.css" in output assert "/fake/stylesheet/path.css" in output
assert "http://ctfd.io/fake/stylesheet/path.css" in output assert "http://examplectf.com/fake/stylesheet/path.css" in output
destroy_ctfd(app) destroy_ctfd(app)

View File

@@ -14,18 +14,22 @@ def test_validate_country_code():
def test_validate_email(): def test_validate_email():
"""Test that the check_email_format() works properly""" """Test that the check_email_format() works properly"""
assert validate_email("user@ctfd.io") is True assert validate_email("user@examplectf.com") is True
assert validate_email("user+plus@gmail.com") is True assert validate_email("user+plus@gmail.com") is True
assert validate_email("user.period1234@gmail.com") is True assert validate_email("user.period1234@gmail.com") is True
assert validate_email("user.period1234@b.c") is True assert validate_email("user.period1234@b.c") is True
assert validate_email("user.period1234@b") is False assert validate_email("user.period1234@b") is False
assert validate_email("no.ampersand") is False assert validate_email("no.ampersand") is False
assert validate_email("user@") is False assert validate_email("user@") is False
assert validate_email("@ctfd.io") is False assert validate_email("@examplectf.com") is False
assert validate_email("user.io@ctfd") is False assert validate_email("user.io@ctfd") is False
assert validate_email("user\\@ctfd") is False assert validate_email("user\\@ctfd") is False
for invalid_email in ["user.@ctfd.io", ".user@ctfd.io", "user@ctfd..io"]: for invalid_email in [
"user.@examplectf.com",
".user@examplectf.com",
"user@ctfd..io",
]:
try: try:
assert validate_email(invalid_email) is False assert validate_email(invalid_email) is False
except AssertionError: except AssertionError: