package hudson.plugins.jobConfigHistory; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import java.io.IOException; import org.junit.Test; import hudson.model.AbstractItem; import hudson.model.Item; /** * * @author Mirko Friedenhagen */ public class JobConfigHistoryJobListenerTest { final ItemListenerHistoryDao mockedConfigHistoryListenerHelper = mock( ItemListenerHistoryDao.class); final JobConfigHistoryJobListener sut = new JobConfigHistoryJobListenerWithMocks(); /** * Test of onCreated method, of class JobConfigHistoryJobListener. */ @Test public void testOnCreated() { Item item = createItem(); sut.onCreated(item); verifyZeroInteractions(mockedConfigHistoryListenerHelper); } /** * Test of onCreated method, of class JobConfigHistoryJobListener. */ @Test public void testOnCreatedAbstractItem() { AbstractItem item = createAbstractItem(); sut.onCreated(item); verify(mockedConfigHistoryListenerHelper).createNewItem(item); } /** * Test of onRenamed method, of class JobConfigHistoryJobListener. */ @Test public void testOnRenamed() { Item item = createItem(); sut.onRenamed(item, "", ""); verifyZeroInteractions(mockedConfigHistoryListenerHelper); } /** * Test of onRenamed method, of class JobConfigHistoryJobListener. */ @Test public void testOnRenamedAbstractItemWithoutConfiguredHistoryRootDir() { AbstractItem item = createAbstractItem(); sut.onRenamed(item, "oldName", "newName"); verify(mockedConfigHistoryListenerHelper).renameItem(item, "oldName", "newName"); } /** * Test of onDeleted method, of class JobConfigHistoryJobListener. */ @Test public void testOnDeleted() { Item item = createItem(); sut.onDeleted(item); verifyZeroInteractions(mockedConfigHistoryListenerHelper); } /** * Test of onDeleted method, of class JobConfigHistoryJobListener. */ @Test public void testOnDeletedAbstractItem() throws IOException { AbstractItem item = createAbstractItem(); sut.onDeleted(item); verify(mockedConfigHistoryListenerHelper).deleteItem(item); } private AbstractItem createAbstractItem() { AbstractItem item = mock(AbstractItem.class); when(item.toString()).thenReturn("abstractItem"); when(item.getConfigFile()).thenReturn(null); return item; } private Item createItem() { Item item = mock(Item.class); when(item.toString()).thenReturn("item"); return item; } private class JobConfigHistoryJobListenerWithMocks extends JobConfigHistoryJobListener { @Override ItemListenerHistoryDao getHistoryDao() { return mockedConfigHistoryListenerHelper; } } }