diff options
Diffstat (limited to 'tests/http/test_notifications.py')
| -rw-r--r-- | tests/http/test_notifications.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/http/test_notifications.py b/tests/http/test_notifications.py index 4386863..508b236 100644 --- a/tests/http/test_notifications.py +++ b/tests/http/test_notifications.py @@ -8,6 +8,7 @@ from uuid import uuid4 from jb.config import JB_EVENTS_STREAM, settings from jb.models.event import MTurkEvent from jb.models.hit import Hit +from jb.models.assignment import AssignmentStub class TestNotifications: @@ -74,11 +75,18 @@ class TestNotifications: == assignment_stub_record.amt_assignment_id ) + # Confirm the stream is empty + assert redis.xlen(JB_EVENTS_STREAM) == 0 + res = await client.post( url=f"/{settings.sns_path}/", json=mturk_event_body_record ) res.raise_for_status() + # Now that we POSTed, confirm the stream has 1 event in it + # Confirm the stream is empty + assert redis.xlen(JB_EVENTS_STREAM) == 1 + # AMT SNS needs to receive a 200 response to stop retrying the notification assert res.status_code == 200 assert res.json() == {"status": "ok"} @@ -89,6 +97,9 @@ class TestNotifications: msg_id, msg = msg_res redis.xdel(JB_EVENTS_STREAM, msg_id) + # After running xdel, we can confirm the stream is empty + assert redis.xlen(JB_EVENTS_STREAM) == 0 + msg_json = msg["data"] event = MTurkEvent.model_validate_json(msg_json) |
