package simulations import base.BaseSimulation import scenarios.ChessUserScenario import io.gatling.core.Predef._ import io.gatling.http.Predef._ import scala.concurrent.duration._ class SpikeTestSimulation extends BaseSimulation { private val baselineUsers = sys.props.getOrElse("baselineUsers", "2").toInt private val baselineDuration = sys.props.getOrElse("baselineDuration", "20").toInt private val spikeUsers = sys.props.getOrElse("spikeUsers", "15").toInt override protected val httpProtocol = http .baseUrl(baseUrl) .header("Accept", "application/json") .header("Content-Type", "application/json") setUp( ChessUserScenario.play .inject( constantUsersPerSec(baselineUsers).during(baselineDuration.seconds), atOnceUsers(spikeUsers), nothingFor(5.seconds), constantUsersPerSec(baselineUsers).during(baselineDuration.seconds) ) ).protocols(httpProtocol) }