fix(qa11): fix get_token to use form data + fix check() bug
Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled
This commit is contained in:
@@ -23,21 +23,19 @@ def check(label: str, condition: bool, detail: str = ""):
|
|||||||
print(f" {PASS} {label}")
|
print(f" {PASS} {label}")
|
||||||
else:
|
else:
|
||||||
failed += 1
|
failed += 1
|
||||||
print(f" {FAIL} {label}" + (f" — {detail}" for _ in [1] if detail).__next__()
|
msg = f" {FAIL} {label}"
|
||||||
if detail else f" {FAIL} {label}")
|
if detail:
|
||||||
|
msg += f" — {detail}"
|
||||||
|
print(msg)
|
||||||
|
|
||||||
|
|
||||||
def get_token(username="admin", password="admin123"):
|
def get_token(username="admin", password="admin123"):
|
||||||
|
# Auth router uses OAuth2PasswordRequestForm (form data)
|
||||||
r = requests.post(f"{BASE}/auth/login",
|
r = requests.post(f"{BASE}/auth/login",
|
||||||
json={"username": username, "password": password})
|
|
||||||
if r.status_code == 200:
|
|
||||||
return r.json().get("access_token") or r.json().get("token")
|
|
||||||
# try form
|
|
||||||
r = requests.post(f"{BASE}/auth/token",
|
|
||||||
data={"username": username, "password": password})
|
data={"username": username, "password": password})
|
||||||
if r.status_code == 200:
|
if r.status_code == 200:
|
||||||
return r.json().get("access_token")
|
return r.json().get("access_token") or r.json().get("token")
|
||||||
raise RuntimeError(f"Login failed: {r.status_code} {r.text}")
|
raise RuntimeError(f"Login failed: {r.status_code} {r.text[:200]}")
|
||||||
|
|
||||||
|
|
||||||
def auth(token):
|
def auth(token):
|
||||||
|
|||||||
Reference in New Issue
Block a user