UPDATE
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
import uuid
|
||||
import redis
|
||||
|
||||
from utils.http_client import http_request
|
||||
from utils.yaml_loader import load_config
|
||||
from utils.template import render
|
||||
|
||||
|
||||
config = load_config()
|
||||
|
||||
BASE_URL = config["base_url"]
|
||||
flow = config["flows"]["register_login"]
|
||||
|
||||
redis_client = redis.Redis(
|
||||
host="redis",
|
||||
port=6379,
|
||||
decode_responses=True
|
||||
)
|
||||
|
||||
|
||||
def test_auth_flow():
|
||||
|
||||
context = {}
|
||||
|
||||
context["random_username"] = f"user_{uuid.uuid4().hex[:6]}"
|
||||
|
||||
# -------- register --------
|
||||
|
||||
register = flow["register"]
|
||||
|
||||
body = render(register["body"], context)
|
||||
|
||||
res = http_request(
|
||||
register["method"],
|
||||
BASE_URL + register["path"],
|
||||
json=body
|
||||
)
|
||||
|
||||
assert res["status_code"] == register["expected_status"]
|
||||
|
||||
assert res["json"]["msg"] == register["expected_json"]["msg"]
|
||||
|
||||
# -------- login --------
|
||||
|
||||
login = flow["login"]
|
||||
|
||||
body = render(login["body"], context)
|
||||
|
||||
res = http_request(
|
||||
login["method"],
|
||||
BASE_URL + login["path"],
|
||||
json=body
|
||||
)
|
||||
|
||||
assert res["status_code"] == login["expected_status"]
|
||||
|
||||
token_field = login["extract"]["token"]
|
||||
|
||||
token = res["json"][token_field]
|
||||
|
||||
assert token is not None
|
||||
|
||||
context["token"] = token
|
||||
|
||||
# -------- redis store --------
|
||||
|
||||
redis_cfg = login["store_redis"]
|
||||
|
||||
key = render(redis_cfg["key"], context)
|
||||
|
||||
redis_client.set(
|
||||
key,
|
||||
token,
|
||||
ex=redis_cfg["ttl"]
|
||||
)
|
||||
|
||||
saved_token = redis_client.get(key)
|
||||
|
||||
assert saved_token == token
|
||||
|
||||
Reference in New Issue
Block a user