in src/it/scala/com/gu/kinesis/KinesisSourceTest.scala [29:49]
override protected def afterAll: Unit = TestKit.shutdownActorSystem(system)
protected implicit val materializer: Materializer = Materializer(system)
private val initialShardCount = 4
private val halfShardCount = initialShardCount / 2
private val doubleShardCount = initialShardCount * 2
require(initialShardCount / 2 * 2 == initialShardCount)
override type FixtureParam = TestStreamConfig
override protected def withFixture(test: OneArgTest): Outcome = {
val config = buildConfig(test.tags)
try {
KinesisResourceManager.createStream(config.regionName, config.streamName, initialShardCount)
val result = test(config)
if (result.isFailed) Try(dumpStream(config))
result
} finally {
KinesisResourceManager.deleteStream(config.regionName, config.streamName, config.applicationName)
}
}