diff --git a/lib/en57/repository.rb b/lib/en57/repository.rb index 0502a20..466c907 100644 --- a/lib/en57/repository.rb +++ b/lib/en57/repository.rb @@ -66,8 +66,6 @@ module En57 else Failure.new(position:, conflicting_events:) end - rescue PG::TRSerializationFailure - Failure.new(position: nil, conflicting_events: []) end def read(query) diff --git a/test/test_repository.rb b/test/test_repository.rb index 2f44f37..7dcd24b 100644 --- a/test/test_repository.rb +++ b/test/test_repository.rb @@ -595,7 +595,7 @@ module En57 end end - def test_append_returns_failure_on_serialization_failure + def test_append_lets_serialization_failure_surface with_connection do |connection| connection.expect(:exec, nil, ["BEGIN ISOLATION LEVEL SERIALIZABLE"]) connection.expect(:exec, nil, ["ROLLBACK"]) @@ -603,13 +603,12 @@ module En57 raise PG::TRSerializationFailure.new end - result = + assert_raises(PG::TRSerializationFailure) do Repository.new( PgAdapter.for_connection(connection), JsonSerializer.new, ).append([], fail_if: Query.all) - - assert_equal(Failure.new(position: nil, conflicting_events: []), result) + end end end diff --git a/test/test_stress.rb b/test/test_stress.rb index e361afc..eb22720 100644 --- a/test/test_stress.rb +++ b/test/test_stress.rb @@ -42,12 +42,14 @@ module En57 ], fail_if: account_scope.of_type("CreditsUsed"), ) + rescue PG::TRSerializationFailure => e + e end end assert_equal( (concurrency - 1), - threads.map(&:value).count(&:failure?), + threads.map(&:value).reject { Success === it }.size, ) assert_equal( 1,