feat: event ids, outbox identity migration
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user