From 68baa30eeae43bcccf8cb3f120dd546b12287e84 Mon Sep 17 00:00:00 2001 From: Danilo Cianfrone Date: Thu, 2 Mar 2023 11:15:03 +0100 Subject: [PATCH 1/2] fix(event): remove trailing parenthesis from AppendError --- eventually-postgres/src/event.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eventually-postgres/src/event.rs b/eventually-postgres/src/event.rs index 8d80f7f4..805cd10c 100644 --- a/eventually-postgres/src/event.rs +++ b/eventually-postgres/src/event.rs @@ -35,9 +35,9 @@ pub enum StreamError { #[derive(Debug, thiserror::Error)] pub enum AppendError { - #[error("conflict error detected: {0})")] + #[error("conflict error detected: {0}")] Conflict(#[source] version::ConflictError), - #[error("concurrent update detected, represented as a conflict error: {0})")] + #[error("concurrent update detected, represented as a conflict error: {0}")] Concurrency(#[source] version::ConflictError), #[error("failed to begin transaction: {0}")] BeginTransaction(#[source] sqlx::Error), From 1d0ce3959962bcfc7f896ceae5d1d3e39e49e12c Mon Sep 17 00:00:00 2001 From: Danilo Cianfrone Date: Thu, 2 Mar 2023 11:15:42 +0100 Subject: [PATCH 2/2] fix(tests/event_store): use if-let-else for result assertion in case of concurrency --- eventually-postgres/tests/event_store.rs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/eventually-postgres/tests/event_store.rs b/eventually-postgres/tests/event_store.rs index 26f6698a..6bc26bee 100644 --- a/eventually-postgres/tests/event_store.rs +++ b/eventually-postgres/tests/event_store.rs @@ -182,15 +182,11 @@ async fn it_handles_concurrent_writes_to_the_same_stream() { match result { (Ok(_), Err(err)) | (Err(err), Ok(_)) => { - let expected_err = event::AppendError::Concurrency(version::ConflictError { - expected: 0, - actual: 1, - }); - - let actual_err_msg = format!("{}", err); - let expected_err_msg = format!("{}", expected_err); - - assert_eq!(expected_err_msg, actual_err_msg); + if let event::AppendError::Conflict(_) | event::AppendError::Concurrency(_) = err { + // This is the expected scenario :) + } else { + panic!("unexpected error, {:?}", err); + } } (first, second) => panic!( "invalid state detected, first: {:?}, second: {:?}",