Hi ,
Its been more than a week that i have failed to invoke a subsequent second GET call in my Scenario.
The GET call is not being made .
The scenario first does a POST request on a API which is asynchronous and starts to run a Job.
I am required to make a second GET call to know the status of the job that was triggered by the first POST call.
I am using the uniqueId ( UID) generated from the first POST call to know the latest status , using the GET call.
Below is the implementation and i see that the GET call is not being invoked. I am starting to think if this is a Bug.
The reason why i am think that this could be a Bug is because i am able to see the GET call being made when i replace the Polling with tryMax.
just for your information , i have posted the implementation using tryMax at the Bottom.
val scn: ScenarioBuilder = scenario("Stress test scenario for records_included=All")
.feed(feeder.customFeeder)
.repeat(3, "counterName") {
doWhile("$execState".equals("COMPLETED")) {
exec(http("Submit Alerts for Execution").post("/_execute/?wait_for_completion_seconds=0")
.body(StringBody(execution))
.check(status.is(200))
//.check(substring("COMPLETED").exists)
.check(jsonPath("$.uid").saveAs("execUID")))
.pause(1)
.exec(session => {
execUID = session("execUID").as[String]
println("execUID ( Var ) :>>>>>>>>>>" + execUID)
//println(session)
session.set("temp","temp")
})
.exec(
polling
.every(15 )
.exec(http("Retrieve Execution Status").get("/_execute/"+"${execUID}"+"?wait_for_completion_seconds="+TestConfig.duration)
.check(status.is(200))
.check(jsonPath("$.state").saveAs("execState"))
.check(bodyString.saveAs("BODY"))
.check(substring("COMPLETED").exists))
)
.exec(session => {
val response = session("BODY").as[String]
println(s"GET Response body ----*****: \n$response")
session
})
}
}
setUp(
scn.inject(atOnceUsers(TestConfig.usersFile))
).protocols(httpConf)
Below is the implementation using tryMax.I am able to see the GET call being made using the below implementation.