grpc wrapper for wiremock
This project aims to introduce a translation layer between grpc and json (wiremock).
To do so, it relies on the codegen
logic in the plugin to
- have access to proto files
- generate said translation layer for grpc <-> json
- generate an aggregate of all the services generated above
Then, the runtime
library provides the support needed to run the code generated above.
Lastly, the end project still need to write a few lines of code to actually run the service to make it useful and provide all the needed wiremock files.
in your project's plugins.sbt
addSbtPlugin("io.github.touchdown" % "sbt-gyremock" % "<version>")
then add these lines in your build.sbt
import gyremock.gen.scaladsl._
Compile / akkaGrpcExtraGenerators := Seq(TranslatorCodeGen, ServicesBuilderCodeGen)
along with your usual protoc settings
finally, add a file like this to bootstrap the actual service
package xyz
import akka.actor.ActorSystem
import io.github.touchdown.gyremock._
object GyreMockApp {
def main(args: Array[String]): Unit = {
implicit val system: ActorSystem = ActorSystem("GyreMockApp")
val settings = GyremockSettings(system.settings.config.getConfig("gyremock"))
new GyremockServer(settings, ServicesBuilder.build).run()
}
}