From cf1d73dc593dfe4c16a85c9a5c0bf3577f02f662 Mon Sep 17 00:00:00 2001 From: Vasilis Nicolaou Date: Sat, 1 Dec 2018 23:26:04 +0000 Subject: [PATCH] Fix laws and dependencies --- README.md | 10 +++++----- build.sbt | 4 ++-- .../src/main/scala/talos/laws/EventBusLaws.scala | 16 ++++++++-------- project/Dependencies.scala | 9 ++++++++- site/src/main/tut/dashboard/hystrixDashboard.md | 2 +- site/src/main/tut/events/events.md | 4 ++-- site/src/main/tut/kamon/kamon.md | 2 +- site/src/main/tut/monix/monix.md | 4 ++-- 8 files changed, 29 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 8c323e7..842427b 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,10 @@ Talos is a set of tools for enabling fine grained monitoring of the Akka and mon Talos is modularised. You can twist it and pick the dependencies that fit your need. But let's go step by step. ```scala -libraryDependencies += "org.vaslabs.talos" %% "taloscore" % "0.5.0" -libraryDependencies += "org.vaslabs.talos" %% "talosakkasupport" % "0.5.0" -libraryDependencies += "org.vaslabs.talos" %% "taloskamon" % "0.5.0" -libraryDependencies += "org.vaslabs.talos" %% "hystrixreporter" % "0.5.0" +libraryDependencies += "org.vaslabs.talos" %% "taloscore" % "0.5.1" +libraryDependencies += "org.vaslabs.talos" %% "talosakkasupport" % "0.5.1" +libraryDependencies += "org.vaslabs.talos" %% "taloskamon" % "0.5.1" +libraryDependencies += "org.vaslabs.talos" %% "hystrixreporter" % "0.5.1" ``` The events library provides a way to stream events on what's happening in the circuit breakers. E.g. combining with the talosakkasupport you can do: ```scala @@ -86,7 +86,7 @@ https://github.com/vaslabs/talos/blob/master/examples/src/main/scala/talos/examp ### Laws If you wish to implement your own TalosCircuitBreaker typeclasses you can test them against the laws library: ```scala -libraryDependencies += "org.vaslabs.talos" %% "taloslaws" % "0.5.0" % Test +libraryDependencies += "org.vaslabs.talos" %% "taloslaws" % "0.5.1" % Test ``` diff --git a/build.sbt b/build.sbt index f68eb7f..5beb80b 100644 --- a/build.sbt +++ b/build.sbt @@ -63,14 +63,14 @@ lazy val compilerSettings = { lazy val talosCore = (project in file("core")) .settings( - libraryDependencies ++= Seq(libraries.ScalaTest.scalatest, libraries.Cats.effect, libraries.ScalaTest.scalacheck) + libraryDependencies ++= Seq(libraries.ScalaTest.scalatest % Test, libraries.Cats.effect) ).settings( compilerSettings ).settings(publishSettings) lazy val talosLaws = (project in file("laws")) .settings( - libraryDependencies ++= libraries.ScalaTest.all + libraryDependencies ++= libraries.ScalaCheck.all ).settings( compilerSettings ).settings( diff --git a/laws/src/main/scala/talos/laws/EventBusLaws.scala b/laws/src/main/scala/talos/laws/EventBusLaws.scala index fa688eb..2621ca5 100644 --- a/laws/src/main/scala/talos/laws/EventBusLaws.scala +++ b/laws/src/main/scala/talos/laws/EventBusLaws.scala @@ -1,23 +1,23 @@ package talos.laws -import talos.circuitbreakers.EventBus import org.scalacheck._ -import Gen._ import org.scalatest.Matchers -import talos.events.TalosEvents.model.{CircuitBreakerEvent, SuccessfulCall} +import talos.circuitbreakers.EventBus +import talos.events.TalosEvents.model.CircuitBreakerEvent +import org.scalacheck.ScalacheckShapeless._ trait EventBusLaws[S] extends Matchers{ def acceptMsg: CircuitBreakerEvent implicit def eventBus: EventBus[S] - private def genSuccessfulCall: Gen[SuccessfulCall] = for { - elapsedTime <- finiteDuration - name <- alphaNumStr - } yield SuccessfulCall(name, elapsedTime) + private[laws] def canConsumeMessagesPublishedToTheEventBus = { - val successfulCall = genSuccessfulCall.sample.get + + val circuitBreakerEvent = implicitly[Arbitrary[CircuitBreakerEvent]] + + val successfulCall = circuitBreakerEvent.arbitrary.sample.get eventBus publish successfulCall diff --git a/project/Dependencies.scala b/project/Dependencies.scala index d861321..84a0104 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -3,6 +3,8 @@ import sbt._ object Dependencies { object versions { + val scalacheckshapeless: String = "1.2.0" + val scalcheck: String = "1.14.0" val pureconfig: String = "0.10.0" @@ -66,10 +68,15 @@ object Dependencies { object ScalaTest { val scalatest = "org.scalatest" %% "scalatest" % versions.scalatest - val scalacheck = "org.scalacheck" %% "scalacheck" % versions.scalcheck val all = Seq(scalatest % Test) } + object ScalaCheck { + val scalacheck = "org.scalacheck" %% "scalacheck" % versions.scalcheck + val scalacheckshapeless = "com.github.alexarchambault" %% "scalacheck-shapeless_1.14" % versions.scalacheckshapeless + val all = Seq(scalacheck, scalacheckshapeless, ScalaTest.scalatest) + } + object PureConf { val core = "com.github.pureconfig" %% "pureconfig" % versions.pureconfig } diff --git a/site/src/main/tut/dashboard/hystrixDashboard.md b/site/src/main/tut/dashboard/hystrixDashboard.md index 9ed892f..c45684b 100644 --- a/site/src/main/tut/dashboard/hystrixDashboard.md +++ b/site/src/main/tut/dashboard/hystrixDashboard.md @@ -14,7 +14,7 @@ deliver fine grained visualisations. ### Usage ```scala -libraryDependencies += "org.vaslabs.talos" %% "hystrixreporter" % "0.5.0" +libraryDependencies += "org.vaslabs.talos" %% "hystrixreporter" % "0.5.1" ``` Get an akka directive diff --git a/site/src/main/tut/events/events.md b/site/src/main/tut/events/events.md index fd273fd..d7ef595 100644 --- a/site/src/main/tut/events/events.md +++ b/site/src/main/tut/events/events.md @@ -13,8 +13,8 @@ This is the basic documentation for exposing the Akka circuit breaker events. Fo ```scala libraryDependencies ++= Seq( - "org.vaslabs.talos" %% "taloscore" % "0.5.0", - "org.vaslabs.talos" %% "talosakkasupport" % "0.5.0" + "org.vaslabs.talos" %% "taloscore" % "0.5.1", + "org.vaslabs.talos" %% "talosakkasupport" % "0.5.1" ) ``` ## Usage example diff --git a/site/src/main/tut/kamon/kamon.md b/site/src/main/tut/kamon/kamon.md index 6e8c368..1193ffd 100644 --- a/site/src/main/tut/kamon/kamon.md +++ b/site/src/main/tut/kamon/kamon.md @@ -10,7 +10,7 @@ number: 2 ## Dependency ```scala -libraryDependencies += "org.vaslabs.talos" %% "taloskamon" % "0.5.0" +libraryDependencies += "org.vaslabs.talos" %% "taloskamon" % "0.5.1" ``` ```tut:silent diff --git a/site/src/main/tut/monix/monix.md b/site/src/main/tut/monix/monix.md index b07cc2a..1ae7bdb 100644 --- a/site/src/main/tut/monix/monix.md +++ b/site/src/main/tut/monix/monix.md @@ -12,8 +12,8 @@ To use monix declare the talos monix support dependency. ```scala libraryDependencies ++= Seq( - "org.vaslabs.talos" %% "taloscore" % "0.5.0", - "org.vaslabs.talos" %% "talosmonixsupport" % "0.5.0" + "org.vaslabs.talos" %% "taloscore" % "0.5.1", + "org.vaslabs.talos" %% "talosmonixsupport" % "0.5.1" ) ```