Skip to content

Instantly share code, notes, and snippets.

@seregasheypak
Created April 17, 2016 12:34
Show Gist options
  • Save seregasheypak/d59997dd2d2dfbf82e310b16398239ca to your computer and use it in GitHub Desktop.
Save seregasheypak/d59997dd2d2dfbf82e310b16398239ca to your computer and use it in GitHub Desktop.
@Test
public void testRunAndDumpMetricsToConsole() throws Exception{
List<Users> users = readUsers();
reporter.start(10, TimeUnit.SECONDS);
IntStream.range(1, 20).forEach(i-> {
for(User user : users){
for(Trigger trigger: triggers){
if(System.getProperty("play", "notSet").equals("play")) {
executedTriggers.add(play(user, trigger));
}
else if(System.getProperty("play", "notSet").equals("playPerf")){
executedTriggers.add(playPerf(user, trigger));
}
else{
if(executeHere(user, trigger)){
executedTriggers.add(new ExecutedTrigger());
}
}
}
}
System.out.println("Round finished...");
});
System.out.println("got executed triggers: " + executedTriggers.size());
}
ExecutedTrigger play(User user, Trigger trigger){
final Timer.Context context = timer.time();
ExecutedTrigger executedTrigger = triggerPlayer.playTrigger(user, trigger);
context.stop();
executedTrigger.setExecutedTriggerId(UUID.randomUUID().toString());
executedTrigger.setExecutedTime(System.currentTimeMillis());
return executedTrigger;
}
Boolean executeHere(User user, Trigger trigger){
String triggerAsGroovy = TriggerSerializer.triggerToGroovyExpression(trigger);
HashMap<String, User> m = new HashMap<>();
m.put("user", user);
final Timer.Context context = timer.time();
Boolean result = (Boolean)triggerEngine.execute(triggerAsGroovy, m);
context.stop();
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment