org.scalatest.concurrent.PatienceConfiguration Scala Examples
The following examples show how to use org.scalatest.concurrent.PatienceConfiguration.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
Example 1
Source File: KafkaIntSpec.scala From kafka-configurator with BSD 3-Clause "New" or "Revised" License | 5 votes |
package common import cakesolutions.kafka.testkit.KafkaServer import kafka.utils.ZkUtils import org.apache.kafka.clients.admin.AdminClient import org.apache.kafka.clients.admin.AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG import org.scalatest.BeforeAndAfterAll import org.scalatest.concurrent.PatienceConfiguration import org.scalatest.time.{ Millis, Seconds, Span } import scala.collection.JavaConverters._ import scala.concurrent.duration._ abstract class KafkaIntSpec extends BaseSpec with BeforeAndAfterAll with PatienceConfiguration { override implicit val patienceConfig = PatienceConfig(Span(3, Seconds), Span(250, Millis)) val kafkaServer = new KafkaServer() val kafkaPort = kafkaServer.kafkaPort val zkSessionTimeout = 30 seconds val zkConnectionTimeout = 30 seconds lazy val zkUtils = ZkUtils(s"localhost:${kafkaServer.zookeeperPort}", zkSessionTimeout.toMillis.toInt, zkConnectionTimeout.toMillis.toInt, isZkSecurityEnabled = false) lazy val kafkaAdminClient = AdminClient.create(Map[String, AnyRef]( BOOTSTRAP_SERVERS_CONFIG -> s"localhost:$kafkaPort" ).asJava) override def beforeAll() = kafkaServer.startup() override def afterAll() = { kafkaAdminClient.close() zkUtils.close() kafkaServer.close() } }
Example 2
Source File: UsesActorSystem.scala From scala-commons with MIT License | 5 votes |
package com.avsystem.commons package redis import akka.actor.ActorSystem import org.scalatest.concurrent.PatienceConfiguration import org.scalatest.time.{Milliseconds, Seconds, Span} import org.scalatest.{BeforeAndAfterAll, Suite} import scala.concurrent.Await import scala.concurrent.duration._ trait UsesActorSystem extends BeforeAndAfterAll with PatienceConfiguration { this: Suite => implicit lazy val actorSystem: ActorSystem = ActorSystem() implicit def executionContext: ExecutionContext = actorSystem.dispatcher override implicit def patienceConfig: PatienceConfig = PatienceConfig(scaled(Span(10, Seconds)), scaled(Span(10, Milliseconds))) override protected def afterAll(): Unit = { Await.ready(actorSystem.terminate(), Duration.Inf) super.afterAll() } def wait(duration: FiniteDuration): Future[Unit] = if (duration == Duration.Zero) Future.successful(()) else { val promise = Promise[Unit]() actorSystem.scheduler.scheduleOnce(duration)(promise.success(())) promise.future } def waitUntil(predicate: => Future[Boolean], retryInterval: FiniteDuration): Future[Unit] = predicate.flatMap { r => if (r) Future.successful(()) else wait(retryInterval).flatMap(_ => waitUntil(predicate, retryInterval)) } def waitFor[T](future: => Future[T])(condition: T => Boolean, retryInterval: FiniteDuration): Future[T] = future.flatMap { value => if (condition(value)) Future.successful(value) else wait(retryInterval).flatMap(_ => waitFor(future)(condition, retryInterval)) } }
Example 3
Source File: AcceptanceSpecPatience.scala From renku with Apache License 2.0 | 5 votes |
package ch.renku.acceptancetests.tooling import org.scalatest.concurrent.{AbstractPatienceConfiguration, PatienceConfiguration} import org.scalatest.time.{Millis, Seconds, Span} trait AcceptanceSpecPatience extends AbstractPatienceConfiguration { this: PatienceConfiguration => implicit abstract override val patienceConfig: PatienceConfig = PatienceConfig( timeout = scaled(Span(AcceptanceSpecPatience.WAIT_SCALE * 30, Seconds)), interval = scaled(Span(150, Millis)) ) } object AcceptanceSpecPatience { // Scale all wait times by a constant value. val WAIT_SCALE = 2; }
Example 4
Source File: ActorSystemFixture.scala From nexus with Apache License 2.0 | 5 votes |
package ch.epfl.bluebrain.nexus.util import akka.actor.ActorSystem import akka.cluster.Cluster import akka.testkit._ import com.typesafe.config.{Config, ConfigFactory} import org.scalatest.BeforeAndAfterAll import org.scalatest.concurrent.PatienceConfiguration import org.scalatest.concurrent.ScalaFutures._ import org.scalatest.wordspec.AnyWordSpecLike import scala.concurrent.Promise import scala.concurrent.duration._ class ActorSystemFixture(name: String, startCluster: Boolean = false, configs: Vector[Config] = Vector.empty) extends TestKit( ActorSystem( name, (configs :+ ConfigFactory.load("test.conf")) .foldLeft(ConfigFactory.empty()) { case (c, e) => c withFallback e } .resolve() ) ) with AnyWordSpecLike with PatienceConfiguration with BeforeAndAfterAll { implicit override def patienceConfig: PatienceConfig = PatienceConfig(3.seconds.dilated, 100.milliseconds.dilated) override protected def beforeAll(): Unit = { super.beforeAll() if (startCluster) { val promise = Promise[Unit] Cluster(system).registerOnMemberUp(promise.success(())) Cluster(system).join(Cluster(system).selfAddress) promise.future.futureValue } } override protected def afterAll(): Unit = { TestKit.shutdownActorSystem(system) super.afterAll() } }
Example 5
Source File: TheFlashTweetsProducerSpec.scala From KafkaPlayground with GNU General Public License v3.0 | 5 votes |
package com.github.pedrovgs.kafkaplayground.flash import java.util.Date import com.danielasfregola.twitter4s.entities.{Geo, Tweet} import com.github.pedrovgs.kafkaplayground.utils.EmbeddedKafkaServer import org.scalatest.concurrent.{PatienceConfiguration, ScalaFutures} import org.scalatest.{BeforeAndAfter, FlatSpec, Matchers} import scala.concurrent.duration._ object TheFlashTweetsProducerSpec { private val unknownLocationFlashTopic = "the-flash-tweets" private val locatedFlashTopic = "the-flash-tweets-with-location" private val anyNotGeoLocatedTweet = Tweet( created_at = new Date(), id = 1L, id_str = "1", source = "source", text = "I've seen the fastest man alive!" ) private val anyGeoLocatedTweet = anyNotGeoLocatedTweet.copy( geo = Some(Geo(Seq(12.0, 11.0), "lat-long")) ) } class TheFlashTweetsProducerSpec extends FlatSpec with Matchers with EmbeddedKafkaServer with ScalaFutures with BeforeAndAfter { import TheFlashTweetsProducerSpec._ "TheFlashTweetsProducer" should "return the tweet passed as param if the tweet has no geo location info" in { val result = produceTweet(anyNotGeoLocatedTweet) result shouldBe anyNotGeoLocatedTweet } it should "send a record with just the text of the tweet to the the-flash-tweets topic if the tweet has no geo location info" in { produceTweet(anyNotGeoLocatedTweet) val records = recordsForTopic(unknownLocationFlashTopic) val expectedMessage = s""" |{ | "message": "I've seen the fastest man alive!" |} """.stripMargin records.size shouldBe 1 records.head shouldBe expectedMessage } it should "return the tweet passed as param if the tweet has geo location info" in { val result = produceTweet(anyGeoLocatedTweet) result shouldBe anyGeoLocatedTweet } it should "send a record with just the text of the tweet to the the-flash-tweets-with-location topic if the tweet has geo location info" in { produceTweet(anyGeoLocatedTweet) val records = recordsForTopic(locatedFlashTopic) val expectedMessage = s""" |{ | "latitude": 12.0, | "longitude": 11.0, | "id": "1", | "message": "I've seen the fastest man alive!" |} """.stripMargin records.size shouldBe 1 records.head shouldBe expectedMessage } it should "send a not geo-located tweet to a topic and another geo-located to the other topic configured" in { produceTweet(anyNotGeoLocatedTweet) produceTweet(anyGeoLocatedTweet) val locatedTopicRecords = recordsForTopic(locatedFlashTopic) val unknownLocationTopicRecords = recordsForTopic(unknownLocationFlashTopic) locatedTopicRecords.size shouldBe 1 unknownLocationTopicRecords.size shouldBe 1 } private def produceTweet(tweet: Tweet) = new TheFlashTweetsProducer(kafkaServerAddress())(tweet) .futureValue(timeout = PatienceConfiguration.Timeout(1.seconds)) }
Example 6
Source File: ActorSystemFixture.scala From nexus with Apache License 2.0 | 4 votes |
package ch.epfl.bluebrain.nexus.sourcing.projections import akka.actor.ActorSystem import akka.cluster.Cluster import akka.testkit._ import com.typesafe.config.ConfigFactory import org.scalatest.BeforeAndAfterAll import org.scalatest.concurrent.PatienceConfiguration import org.scalatest.concurrent.ScalaFutures._ import org.scalatest.wordspec.AnyWordSpecLike import scala.concurrent.Promise import scala.concurrent.duration._ class ActorSystemFixture(name: String, startCluster: Boolean = false) extends TestKit(ActorSystem(name, ConfigFactory.load("service-test.conf"))) with AnyWordSpecLike with PatienceConfiguration with BeforeAndAfterAll { implicit override def patienceConfig: PatienceConfig = PatienceConfig(3.seconds.dilated, 100.milliseconds.dilated) override protected def beforeAll(): Unit = { super.beforeAll() if (startCluster) { val promise = Promise[Unit] Cluster(system).registerOnMemberUp(promise.success(())) Cluster(system).join(Cluster(system).selfAddress) promise.future.futureValue } } override protected def afterAll(): Unit = { TestKit.shutdownActorSystem(system) super.afterAll() } }