Skip to content

Commit 45da042

Browse files
committed
Configure search institutions and list filings
1 parent 7d1dad5 commit 45da042

File tree

3 files changed

+31
-30
lines changed

3 files changed

+31
-30
lines changed

cluster/src/test/resources/application.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ hmda {
88
adminPort = ${?HMDA_BENCHMARK_ADMIN_PORT}
99
nrOfUsers = 10
1010
rampUpTime = 5
11+
feederFile = "institutions10.csv"
1112
}
1213
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
institutionId
2+
74140
3+
24949
4+
212465
5+
288853
6+
18827
7+
23456
8+
35570
9+
886
10+
60143
11+
4277
Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
package api.http.benchmark
22

33
import com.typesafe.config.ConfigFactory
4-
import hmda.api.protocol.admin.WriteInstitutionProtocol
5-
import hmda.model.institution.Institution
64
import io.gatling.core.Predef._
75
import io.gatling.http.Predef._
8-
6+
import scala.concurrent.duration._
97
import scala.language.postfixOps
10-
import spray.json._
118

12-
class FilingSimulation extends Simulation with WriteInstitutionProtocol {
9+
class FilingSimulation extends Simulation {
1310

1411
val config = ConfigFactory.load()
1512
val host = config.getString("hmda.benchmark.host")
1613
val port = config.getInt("hmda.benchmark.port")
1714
val adminPort = config.getInt("hmda.benchmark.adminPort")
1815
val nrOfUsers = config.getInt("hmda.benchmark.nrOfUsers")
1916
val rampUpTime = config.getInt("hmda.benchmark.rampUpTime")
17+
val feeder = csv(config.getString("hmda.benchmark.feederFile"))
2018

2119
val institutionIds = (1 to nrOfUsers).toList
2220

@@ -31,43 +29,34 @@ class FilingSimulation extends Simulation with WriteInstitutionProtocol {
3129
//.header("cfpb-hmda-institutions", institutionIds.mkString(","))
3230
.disableCaching
3331

34-
object InstitutionScenario {
32+
object Institutions {
3533

36-
def list(institutionId: String) = {
37-
exec(http("Institutions")
38-
.get("/institutions")
39-
.header("cfpb-hmda-institutions", institutionId)
40-
.check(status is 200))
41-
}
42-
43-
def create(institutionId: String) = {
44-
exec(http("Create Institution")
45-
.post(s"http://$host:$adminPort/institutions")
46-
.body(StringBody(
47-
Institution.empty.copy(id = institutionId, activityYear = 2017).toJson.toString
48-
)).asJSON
49-
.check(status is 201))
50-
}
34+
val hmdaFiling =
35+
feed(feeder)
36+
.exec(http("Search")
37+
.get("/institutions")
38+
.header("cfpb-hmda-institutions", "${institutionId}")
39+
.check(status is 200))
40+
.pause(1)
41+
.exec(http("List Filings")
42+
.get("/institutions/${institutionId}/filings/2017")
43+
.header("cfpb-hmda-institutions", "${institutionId}")
44+
.check(status is 200))
5145

5246
def filings(institutionId: String) = {
5347
exec(http("List Filings")
5448
.get(s"/institutions/$institutionId/filings/2017")
5549
.header("cfpb-hmda-institutions", institutionId)
5650
.check(status is 200))
5751
}
52+
5853
}
5954

60-
val listInstitutions = scenario("List Institutions").exec(InstitutionScenario.list("4277"))
61-
val createInstitutions = scenario("Create Institutions").exec(InstitutionScenario.create("4277"))
62-
val listFilings = scenario("List Filings").exec(InstitutionScenario.filings("4277"))
55+
val user = scenario("HMDA User")
56+
.exec(Institutions.hmdaFiling)
6357

6458
setUp(
65-
listInstitutions.inject(
66-
atOnceUsers(1)
67-
).protocols(httpProtocol),
68-
createInstitutions.inject(atOnceUsers(1)).protocols(httpProtocol),
69-
listFilings.inject(atOnceUsers(1))
70-
.protocols(httpProtocol)
59+
user.inject(rampUsers(nrOfUsers) over (rampUpTime seconds)).protocols(httpProtocol)
7160
)
7261

7362
}

0 commit comments

Comments
 (0)