blob: 1876475899c0bdfe0077d056d07a03692ae6c8e2 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
*/
package unomi
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.http.config.HttpProtocolBuilder.toHttpProtocol
import io.gatling.core.structure.ScenarioBuilder
import io.gatling.core.structure.PopulatedScenarioBuilder
class AdminSimulation extends Simulation {
val httpProtocol = http
.baseURLs(Parameters.baseUrls)
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.connection("keep-alive")
.contentTypeHeader("text/plain;charset=UTF-8")
.userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:24.0) Gecko/20100101 Firefox/24.0")
// setUp(AdminScenario.scnSingle.inject(atOnceUsers(1)).protocols(httpProtocol))
val m = Map(
AdminScenario.scn -> Parameters.numberOfConcurrentAdminUsers)
val f = m.collect { case (scenario: ScenarioBuilder, count: Int) if count > 0 => scenario.inject(rampUsers(count) over Parameters.rampUpTime) }
setUp(f.asInstanceOf[List[PopulatedScenarioBuilder]]).protocols(httpProtocol)
}