@Before
public void setup() throws Exception {
final Project project = new Project(1, "test-project");
project.setFlows(ImmutableMap.of("test-flow", new Flow("test-flow")));
when(projectManager.getProject(1)).thenReturn(project);
when(executorManagerAdapter.submitExecutableFlow(any(), any()))
.thenThrow(new ExecutorManagerException("Flow is already running. Skipping execution.",
ExecutorManagerException.Reason.SkippedExecution));
ExecuteFlowAction.setExecutorManager(this.executorManagerAdapter);
ExecuteFlowAction.setProjectManager(this.projectManager);
ExecuteFlowAction.setTriggerManager(this.triggerManager);
final Props props = new Props();
props.put("trigger.scan.interval", 300);
this.triggerManager = new TriggerManager(props, triggerLoader, executorManagerAdapter);
this.triggerManager.registerCheckerType(ThresholdChecker.type,
ThresholdChecker.class);
this.triggerManager.registerActionType(DummyTriggerAction.type,
DummyTriggerAction.class);
this.triggerManager.start();
}