package uk.nhs.kch.rassyeyanie.framework.processor;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import java.util.Arrays;
import java.util.List;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import uk.nhs.kch.rassyeyanie.framework.processor.MessageSelectionAdapter;
/**
*/
public class MessageSelectionAdapterTest {
private MessageSelectionAdapter adapter;
@Mock private Processor mockProcessorOne;
@Mock private Processor mockProcessorTwo;
@Mock private Exchange mockExchange;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
List<Processor> processorList = Arrays.asList(mockProcessorOne, mockProcessorTwo);
adapter = new MessageSelectionAdapter();
adapter.setProcessorList(processorList);
}
@Test
public void testAdapterDefersToProcessor() throws Exception {
adapter.process(mockExchange);
verify(mockProcessorOne).process(mockExchange);
verify(mockProcessorTwo).process(mockExchange);
}
@Test
public void testAdapterWithNoProcessors() throws Exception {
MessageSelectionAdapter localAdapter = new MessageSelectionAdapter();
localAdapter.process(mockExchange);
verifyNoMoreInteractions(mockExchange);
}
}