import json from datetime import timedelta from apollo_messages_views.constants.base import EventView, EVENT_VIEW_TO_INPUT_CODE from tests.data.base import meta, dt_now from tests.data.utils import set_data, serialize_datetime def create_raw_event(i, view: EventView, exclude=None, extra=None, **kwargs): data = { "id": i, "event_id": i, "account_id": i, "app": "apollo", "code": EVENT_VIEW_TO_INPUT_CODE[view.value], "ttl": 1800, "created_at": dt_now() - timedelta(minutes=(10 + i)), "meta": meta(i, **kwargs), "publisher": { "id": f"publisher_id_{i}", "owner": "apollo", }, } set_data(data, exclude=exclude, extra=extra, **kwargs) return data def pack_events(events): return { "Records": [ {"body": json.dumps({"Message": json.dumps(e, default=serialize_datetime)}, default=serialize_datetime)} for e in events ] }