package brainslug.spring; import brainslug.flow.builder.FlowBuilder; import brainslug.flow.context.ExecutionContext; import brainslug.flow.execution.node.task.SimpleTask; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import java.util.concurrent.TimeUnit; import static org.mockito.Mockito.mock; @Configuration @PropertySource("classpath:brainslug.properties") public class SpringBrainslugTestConfiguration { @Bean public TestService testService() { return mock(TestService.class); } @Bean public TestServiceClass testServiceClass() { return mock(TestServiceClass.class); } @Bean public FlowBuilder testFlow() { return new FlowBuilder() { @Override public void define() { flowId(id("springTestFlow")); start(event(id("start")), every(1, TimeUnit.SECONDS)) .execute(task(id("callSpringBean"), new SimpleTask() { @Override public void execute(ExecutionContext context) { context.service(TestService.class).bar(); } })); } }; } }