feat: event ids, outbox identity migration

This commit is contained in:
2026-10-25 23:57:24 +01:00
parent c31aa033cc
commit 32dfc84697
14 changed files with 287 additions and 39 deletions

View File

@@ -105,3 +105,29 @@ fn image_stored_event_type() {
});
assert_eq!(payload.event_type(), "ImageStored");
}
#[test]
fn a_message_round_trips_its_event_id_and_decodes_without_one() {
use event_payload::EventMessage;
let with_id = EventMessage {
event_id: Some(Uuid::new_v4().to_string()),
payload: EventPayload::from(&review_logged()),
};
let json = serde_json::to_string(&with_id).unwrap();
assert_eq!(
serde_json::from_str::<EventMessage>(&json).unwrap(),
with_id
);
let legacy = serde_json::to_string(&EventPayload::from(&review_logged())).unwrap();
let decoded: EventMessage = serde_json::from_str(&legacy).unwrap();
assert_eq!(decoded.event_id, None);
let unit = EventMessage {
event_id: Some("x".into()),
payload: EventPayload::SearchReindexRequested,
};
let json = serde_json::to_string(&unit).unwrap();
assert_eq!(serde_json::from_str::<EventMessage>(&json).unwrap(), unit);
}