This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sbt._ | |
import Keys._ | |
import GatlingPlugin._ | |
object MinimalBuild extends Build { | |
val SNAPSHOT = "-SNAPSHOT" | |
val appName = "gatling-sbt-sample" | |
val buildVersion = "0.0.1-SNAPSHOT" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val securedByUserName = Intercept( | |
r => Cache.getAs[String]("username").toSuccess(NonEmptyList("No username")), | |
(err, v:Failure[NonEmptyList[String], String]) => Unauthorized(v.e.list.mkString("\n")) | |
) | |
val securedByUserId = Intercept( | |
r => Cache.getAs[String]("userid").map(_.toInt).toSuccess(NonEmptyList("No userid")), | |
(err, v:Failure[NonEmptyList[String], Int]) => Unauthorized(v.e.list.mkString("\n")) | |
) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val stealUserName = Intercept( | |
r => Cache.getAs[String]("username").toSuccess(NonEmptyList("No username")), | |
(err, v:Failure[NonEmptyList[String], String]) => BadRequest(v.e.list.mkString("\n")) | |
) | |
val stealUserId = Intercept( | |
r => Cache.getAs[String]("userid").map(_.toInt).toSuccess(NonEmptyList("No userid")), | |
(err, v:Failure[NonEmptyList[String], Int]) => BadRequest(v.e.list.mkString("\n")) | |
) | |
val stealUserNameAndId = Intercept( | |
r => for { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
case class ValidationPromised[E, A](promised: Promise[Validation[E, A]]) { | |
def map[B](f: A => B): ValidationPromised[E, B] = | |
ValidationPromised(promised map { valid => | |
valid.fold( | |
fail => KO(fail), | |
suc => OK(f(suc)) | |
) | |
}) | |
def flatMap[B](f: A => ValidationPromised[E, B]): ValidationPromised[E, B] = |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//creates a fake Play 2.0 server running on 3333 which defines the gatling plugin automatically | |
val server = Util.createServer(3333) | |
//function that starts the server, should be used in a specs Step BEFORE the whole specification starts | |
def startServer { | |
server.start() | |
} | |
//function that stops the server, should be used in a specs Step AFTER the whole specification has ran | |
def stopServer { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sbt._ | |
import Keys._ | |
import PlayProject._ | |
object ApplicationBuild extends Build { | |
val appName = "gatling-play2-plugin" | |
val appVersion = "1.0" | |
/* OFFICIAL GATLING REPO */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//... | |
val novusSnapsRepo = "Novus Snapshots Repository" at "http://repo.novus.com/snapshots/" | |
val salatCore = "com.novus" %% "salat-core" % "0.0.8-SNAPSHOT" withSources | |
val salatUtil = "com.novus" %% "salat-util" % "0.0.8-SNAPSHOT" withSources | |
val appDependencies = Seq( | |
// Add your project dependencies here, | |
salatCore, | |
salatUtil |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//PREVIOUSLY ::>> val neoRest = :/("localhost", 7474) | |
//NOW use `as` | |
val neoRest = :/(NEO4J_URL, NEO4J_PORT) as (NEO4J_USERNAME, NEO4J_PASSWORD) | |
val neoRestBase = neoRest / "db" / "data" | |
val neoRestNode = neoRestBase / "node" | |
val neoRestRel = neoRestBase / "relationship" | |
val neoRestCypher = neoRestBase / "cypher" | |
def selfRestUriToId(uri: String) = uri.substring(uri.lastIndexOf('/') + 1).toInt |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Groups extends Controller { | |
// create a new Group based on its given name | |
def create = Action { | |
implicit request => { | |
//a form that will create a Group based on the request body. See how apply and unapply functions are given after the mapping definition | |
Form[Group]( | |
mapping( | |
"name" -> nonEmptyText | |
)( | |
(name: String) => Group(null.asInstanceOf[Int], name) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//A trait defining some high level operation on graph, hasn't been cleaned but illustrates well what it might be meant for | |
trait GraphService[Node] { | |
//entry point of the graph | |
def root: Node | |
//get a Node based on its id | |
def getNode[T <: Node](id: Int): Option[T] | |
//return all nodes in the graph as a list |