Refactor make dependent fixtures to use built in scalatest helper met… (#939)

* Refactor make dependent fixtures to use built in scalatest helper methods

* Avoid unit return warning
This commit is contained in:
Chris Stewart 2019-12-15 18:25:51 -06:00 committed by GitHub
parent 2c53a39fd1
commit 2bdbc1c822

View file

@ -32,33 +32,18 @@ trait BitcoinSFixture extends BitcoinSAsyncFixtureTest {
throw err
}
val outcomeF = fixtureF.flatMap { fixture =>
val outcomeF: Future[Outcome] = fixtureF.flatMap { fixture =>
test(fixture.asInstanceOf[FixtureParam]).toFuture
}
outcomeF.failed.foreach(err =>
println(s"Failed fixture test execution=${err}"))
val futOutcome: FutureOutcome = new FutureOutcome(outcomeF)
val destroyP = Promise[Unit]()
outcomeF.onComplete { _ =>
fixtureF.foreach { fixture =>
destroy(fixture).onComplete {
case Success(_) => destroyP.success(())
case Failure(err) =>
logger.error(s"Failed to destroy fixture with err=${err}")
destroyP.failure(err)
}
}
val result: FutureOutcome = futOutcome.onOutcomeThen { _ =>
fixtureF.flatMap(f => destroy(f))
()
}
val outcomeAfterDestroyF = destroyP.future.flatMap(_ => outcomeF)
outcomeAfterDestroyF.failed.foreach { err =>
println(s"err creating and destroying fixture")
throw err
}
new FutureOutcome(outcomeAfterDestroyF)
result
}
/**