aboutsummaryrefslogtreecommitdiff
path: root/tests/http/test_magic.py
diff options
context:
space:
mode:
authorMax Nanis2026-09-10 19:47:53 -0700
committerMax Nanis2026-09-10 19:47:53 -0700
commit2759f4cdfd1450cb891dfa806dc93d1101533d96 (patch)
tree380fbde9cded5dfba93886e4478ecb4205c7215a /tests/http/test_magic.py
parented201936813d9a720b51e6cb40a05267b94e7314 (diff)
downloadamt-jb-2759f4cdfd1450cb891dfa806dc93d1101533d96.tar.gz
amt-jb-2759f4cdfd1450cb891dfa806dc93d1101533d96.zip
Simple Magic Link tests (just to use redis_config param)
Diffstat (limited to 'tests/http/test_magic.py')
-rw-r--r--tests/http/test_magic.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/http/test_magic.py b/tests/http/test_magic.py
new file mode 100644
index 0000000..f645677
--- /dev/null
+++ b/tests/http/test_magic.py
@@ -0,0 +1,48 @@
+from uuid import uuid4
+
+from generalresearch.redis_helper import RedisConfig
+
+from jb.api.magic_token import (
+ consume_amt_account_link_token,
+ consume_magic_token,
+ create_amt_account_link_token,
+ create_magic_token,
+)
+from jb.models.auth import AmtAccountLink
+
+
+class TestViewFunctions:
+
+ def test_create_amt_account_link_token(
+ self, redis_config: RedisConfig, amt_worker_id: str
+ ):
+ email = f"{uuid4().hex[:8]}@jamesbillings67.com"
+ res = create_amt_account_link_token(
+ email=email, amt_worker_id=amt_worker_id, redis_config=redis_config
+ )
+ assert isinstance(res, str)
+
+ def test_create_and_retrieve_token(
+ self, redis_config: RedisConfig, amt_worker_id: str
+ ):
+ email = f"{uuid4().hex[:8]}@jamesbillings67.com"
+ token = create_amt_account_link_token(
+ email=email, amt_worker_id=amt_worker_id, redis_config=redis_config
+ )
+
+ res = consume_amt_account_link_token(token=token, redis_config=redis_config)
+ assert isinstance(res, AmtAccountLink)
+ assert res.email == email
+ assert res.amt_worker_id == amt_worker_id
+
+ def test_create_magic_link(self, redis_config: RedisConfig, amt_worker_id: str):
+ email = f"{uuid4().hex[:8]}@jamesbillings67.com"
+ res = create_magic_token(user_email=email, redis_config=redis_config)
+ assert isinstance(res, str)
+
+ def test_consume_magic_link(self, redis_config: RedisConfig, amt_worker_id: str):
+ email = f"{uuid4().hex[:8]}@jamesbillings67.com"
+ token = create_magic_token(user_email=email, redis_config=redis_config)
+
+ res = consume_magic_token(token=token, redis_config=redis_config)
+ assert res == email