tests/api/test_auth_login: Refactor
Have a single “login success” test, for both MFA and no-MFA cases. No functional change to the test.
This commit is contained in:
parent
52d4d2abdb
commit
f5f4d46aa4
|
@ -1,39 +1,18 @@
|
|||
import pytest
|
||||
from flask import url_for
|
||||
|
||||
from app.extensions import db
|
||||
from app.models import User, AccountActivation
|
||||
|
||||
|
||||
def test_auth_login_success_mfa_disabled(flask_client):
|
||||
User.create(
|
||||
email="abcd@gmail.com", password="password", name="Test User", activated=True
|
||||
)
|
||||
db.session.commit()
|
||||
|
||||
r = flask_client.post(
|
||||
url_for("api.auth_login"),
|
||||
json={
|
||||
"email": "abcd@gmail.com",
|
||||
"password": "password",
|
||||
"device": "Test Device",
|
||||
},
|
||||
)
|
||||
|
||||
assert r.status_code == 200
|
||||
assert r.json["api_key"]
|
||||
assert r.json["email"]
|
||||
assert not r.json["mfa_enabled"]
|
||||
assert r.json["mfa_key"] is None
|
||||
assert r.json["name"] == "Test User"
|
||||
|
||||
|
||||
def test_auth_login_success_mfa_enabled(flask_client):
|
||||
@pytest.mark.parametrize("mfa", (True, False), ids=("MFA", "no MFA"))
|
||||
def test_auth_login_success(flask_client, mfa: bool):
|
||||
User.create(
|
||||
email="abcd@gmail.com",
|
||||
password="password",
|
||||
name="Test User",
|
||||
activated=True,
|
||||
enable_otp=True,
|
||||
enable_otp=mfa,
|
||||
)
|
||||
db.session.commit()
|
||||
|
||||
|
@ -47,10 +26,17 @@ def test_auth_login_success_mfa_enabled(flask_client):
|
|||
)
|
||||
|
||||
assert r.status_code == 200
|
||||
assert r.json["api_key"] is None
|
||||
assert r.json["mfa_enabled"]
|
||||
assert r.json["mfa_key"]
|
||||
assert r.json["name"] == "Test User"
|
||||
assert r.json["email"]
|
||||
|
||||
if mfa:
|
||||
assert r.json["api_key"] is None
|
||||
assert r.json["mfa_enabled"]
|
||||
assert r.json["mfa_key"]
|
||||
else:
|
||||
assert r.json["api_key"]
|
||||
assert not r.json["mfa_enabled"]
|
||||
assert r.json["mfa_key"] is None
|
||||
|
||||
|
||||
def test_auth_login_device_exist(flask_client):
|
||||
|
|
Loading…
Reference in New Issue