From 1a71fb17646f5c40ed399103cb046a069753b7af Mon Sep 17 00:00:00 2001 From: guygo87 Date: Sun, 29 Jan 2023 12:36:58 +0200 Subject: [PATCH] When using `provide` method to build the dependency tree automatically, the tests are flaky (the actual failing reason is that one of the [Ref] that we use is empty, i.e `consume topic` tests fails as it expects the ref to be non empty). It looks like some layers are shared between tests/ leaking between tests, or something similar. When using `provideLayer`, and building the dependency tree manually everything is working (this is the logic at the moment in master). --- .../test/scala/greyhound/SidecarServiceTest.scala | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/greyhoundsidecar/src/test/scala/greyhound/SidecarServiceTest.scala b/greyhoundsidecar/src/test/scala/greyhound/SidecarServiceTest.scala index 5c18fbe6..2db687ca 100644 --- a/greyhoundsidecar/src/test/scala/greyhound/SidecarServiceTest.scala +++ b/greyhoundsidecar/src/test/scala/greyhound/SidecarServiceTest.scala @@ -58,12 +58,15 @@ object SidecarServiceTest extends JUnitRunnableSpec with KafkaTestSupport with C records = requests.head.records } yield assert(records.size)(equalTo(2)) }, - ).provideLayer( - TestContext.layer ++ - ZLayer.succeed(zio.Scope.global) ++ - TestSidecarUser.layer ++ - (TestSidecarUser.layer >>> sidecarUserServerLayer) ++ - ((ConsumerRegistryLive.layer ++ RegisterLive.layer ++ TestKafkaInfo.layer) >>> SidecarService.layer)) @@ + ).provide( + TestContext.layer, + ZLayer.succeed(zio.Scope.global), + TestSidecarUser.layer, + sidecarUserServerLayer, + ConsumerRegistryLive.layer, + RegisterLive.layer, + TestKafkaInfo.layer, + SidecarService.layer) @@ TestAspect.withLiveClock @@ runKafka(kafkaPort, zooKeeperPort) @@ sequential