Skip to content

Commit

Permalink
better test for checking that spring workflows are detected
Browse files Browse the repository at this point in the history
  • Loading branch information
Edvard Fonsell committed Dec 12, 2014
1 parent 2d8541d commit 86456e8
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
import static com.nitorcreations.nflow.engine.workflow.definition.NextAction.moveToState;
import static com.nitorcreations.nflow.engine.workflow.definition.NextAction.stopInState;

import org.springframework.stereotype.Component;

import com.nitorcreations.nflow.engine.workflow.definition.NextAction;
import com.nitorcreations.nflow.engine.workflow.definition.StateExecution;
import com.nitorcreations.nflow.engine.workflow.definition.WorkflowDefinition;
import com.nitorcreations.nflow.engine.workflow.definition.WorkflowStateType;

@Component
public class SpringDummyTestWorkflow extends WorkflowDefinition<SpringDummyTestWorkflow.SpringDummyTestState> {

public static enum SpringDummyTestState implements com.nitorcreations.nflow.engine.workflow.definition.WorkflowState {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import static org.mockito.Mockito.when;

import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.List;

import org.junit.Before;
Expand Down Expand Up @@ -54,15 +53,6 @@ public void initDuplicateWorkflows() throws Exception {
service.initNonSpringWorkflowDefinitions();
}

@Test
public void springWorkflowsWork() {
List<WorkflowDefinition<? extends WorkflowState>> definitions = service.getWorkflowDefinitions();
List<WorkflowDefinition<? extends WorkflowState>> list = new ArrayList<>();
list.add(new SpringDummyTestWorkflow());
service.setWorkflowDefinitions(list);
assertThat(definitions.size(), is(equalTo(1)));
}

@Test
public void demoWorkflowLoadedSuccessfully() {
List<WorkflowDefinition<? extends WorkflowState>> definitions = service.getWorkflowDefinitions();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package com.nitorcreations.nflow.engine.service;

import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.AbstractResource;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;

import com.nitorcreations.nflow.engine.internal.config.NFlow;
import com.nitorcreations.nflow.engine.internal.dao.ExecutorDao;
import com.nitorcreations.nflow.engine.internal.dao.StatisticsDao;
import com.nitorcreations.nflow.engine.internal.dao.WorkflowInstanceDao;
import com.nitorcreations.nflow.engine.workflow.definition.WorkflowDefinition;
import com.nitorcreations.nflow.engine.workflow.definition.WorkflowState;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class)
public class WorkflowDefinitionServiceWithSpringTest {

@Configuration
@ComponentScan(basePackageClasses = SpringDummyTestWorkflow.class)
static class ContextConfiguration {

@Bean
@NFlow
public AbstractResource nflowNonSpringWorkflowsListing() {
return null;
}

@Bean
public WorkflowInstanceDao workflowInstanceDao() {
return mock(WorkflowInstanceDao.class);
}

@Bean
public ExecutorDao executorDao() {
return mock(ExecutorDao.class);
}

@Bean
public StatisticsDao statisticsDao() {
return mock(StatisticsDao.class);
}
}

@Autowired
private WorkflowDefinitionService service;

@Test
public void springWorkflowDefinitionsAreDetected() {
List<WorkflowDefinition<? extends WorkflowState>> definitions = service.getWorkflowDefinitions();
assertThat(definitions.size(), is(equalTo(1)));
assertThat(definitions.get(0).getType(), is(new SpringDummyTestWorkflow().getType()));
}
}

0 comments on commit 86456e8

Please sign in to comment.