mirror of
https://github.com/simple-login/app.git
synced 2024-09-29 21:21:29 +02:00
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 flask import url_for
|
||||||
|
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from app.models import User, AccountActivation
|
from app.models import User, AccountActivation
|
||||||
|
|
||||||
|
|
||||||
def test_auth_login_success_mfa_disabled(flask_client):
|
@pytest.mark.parametrize("mfa", (True, False), ids=("MFA", "no MFA"))
|
||||||
User.create(
|
def test_auth_login_success(flask_client, mfa: bool):
|
||||||
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):
|
|
||||||
User.create(
|
User.create(
|
||||||
email="abcd@gmail.com",
|
email="abcd@gmail.com",
|
||||||
password="password",
|
password="password",
|
||||||
name="Test User",
|
name="Test User",
|
||||||
activated=True,
|
activated=True,
|
||||||
enable_otp=True,
|
enable_otp=mfa,
|
||||||
)
|
)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
@ -47,10 +26,17 @@ def test_auth_login_success_mfa_enabled(flask_client):
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert r.status_code == 200
|
assert r.status_code == 200
|
||||||
|
assert r.json["name"] == "Test User"
|
||||||
|
assert r.json["email"]
|
||||||
|
|
||||||
|
if mfa:
|
||||||
assert r.json["api_key"] is None
|
assert r.json["api_key"] is None
|
||||||
assert r.json["mfa_enabled"]
|
assert r.json["mfa_enabled"]
|
||||||
assert r.json["mfa_key"]
|
assert r.json["mfa_key"]
|
||||||
assert r.json["name"] == "Test User"
|
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):
|
def test_auth_login_device_exist(flask_client):
|
||||||
|
Loading…
Reference in New Issue
Block a user