Skip to content

Commit

Permalink
Small fix on error-handling
Browse files Browse the repository at this point in the history
  • Loading branch information
gaelrenoux committed Feb 4, 2024
1 parent a143cb5 commit b653556
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ object ConnectionSource {
.zipRight(task(c).mapError(Right(_)))
.tapErrorCause { (queryCause: Cause[Either[DbException, E]]) =>
(if (commitOnFailure) commitConnection(c) else rollbackConnection(c))
.mapErrorCause { rollbackCause => rollbackCause.map(Left(_)) && queryCause }
.mapErrorCause { rollbackCause => queryCause ++ rollbackCause.map(Left(_)) }
}
.zipLeft(commitConnection(c).mapError(Left(_)))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ object ConnectionSourceTest extends ZIOSpec[TestEnvironment] {
val cs = new FailingConnectionSource(errorStrategies)(failOnCommit = true)
val zio: ZIO[Any, Either[DbException, String], Int] = cs.runTransaction(_ => ZIO.fail("Not a good query"), commitOnFailure = true)
zio.cause.map {
case Cause.Both(Cause.Fail(left, _), Cause.Fail(right, _)) =>
case Cause.Then(Cause.Fail(firstError, _), Cause.Fail(secondError, _)) =>
assertTrue(
left == Left(DbException.Wrapped(FailingConnectionSource.CommitException)),
right == Right("Not a good query")
firstError == Right("Not a good query"),
secondError == Left(DbException.Wrapped(FailingConnectionSource.CommitException))
)
}
}
Expand All @@ -83,10 +83,10 @@ object ConnectionSourceTest extends ZIOSpec[TestEnvironment] {
val cs = new FailingConnectionSource(errorStrategies)(failOnRollback = true)
val zio: ZIO[Any, Either[DbException, String], Int] = cs.runTransaction(_ => ZIO.fail("Not a good query"))
zio.cause.map {
case Cause.Both(Cause.Fail(left, _), Cause.Fail(right, _)) =>
case Cause.Then(Cause.Fail(firstError, _), Cause.Fail(secondError, _)) =>
assertTrue(
left == Left(DbException.Wrapped(FailingConnectionSource.RollbackException)),
right == Right("Not a good query")
firstError == Right("Not a good query"),
secondError == Left(DbException.Wrapped(FailingConnectionSource.RollbackException))
)
}
}
Expand Down

0 comments on commit b653556

Please sign in to comment.