@Before public void setup() throws ExecutorManagerException, TriggerManagerException { this.loader = new MockTriggerLoader(); final Props props = new Props(); props.put("trigger.scan.interval", 1000); props.put(ConfigurationKeys.EXECUTOR_PORT, 12321); this.execLoader = new MockExecutorLoader(); this.apiGateway = mock(ExecutorApiGateway.class); this.runningExecutions = new RunningExecutions(); this.updaterStage = new ExecutorManagerUpdaterStage(); this.alertHolder = mock(AlerterHolder.class); this.executionFinalizer = new ExecutionFinalizer(this.execLoader, this.updaterStage, this.alertHolder, this.runningExecutions); this.commonMetrics = new CommonMetrics(new MetricsManager(new MetricRegistry())); final ExecutorManager executorManager = getExecutorManager(props); this.triggerManager = new TriggerManager(props, this.loader, executorManager); }
@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(); }
private TriggerManager loadTriggerManager(Props props) throws TriggerManagerException { TriggerLoader loader = new JdbcTriggerLoader(props); return new TriggerManager(props, loader, executorManager); }