package com.btmatthews.leabharlann.service.impl; import com.btmatthews.leabharlann.service.ImportCallback; import com.btmatthews.leabharlann.service.ImportSource; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.mockito.Mock; import java.io.File; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.MockitoAnnotations.initMocks; /** * Created with IntelliJ IDEA. * User: bmatthews68 * Date: 14/05/2013 * Time: 20:16 * To change this template use File | Settings | File Templates. */ public class TestFileImportSource { @Mock private ImportCallback callback; @Before public void setup() { initMocks(this); } @Test public void importFile() throws Exception { final File file = new File("target/test-classes/documents/index.html"); final ImportSource source = new FileImportSource(file); source.process(callback); verify(callback).file(eq("/index.html"), anyLong(), any(byte[].class)); verifyNoMoreInteractions(callback); } @Test public void importDirectory() throws Exception { final File file = new File("target/test-classes/documents"); final ImportSource source = new FileImportSource(file); source.process(callback); verify(callback).directory(eq("/css/")); verify(callback).directory(eq("/images/")); verify(callback).file(eq("/index.html"), anyLong(), any(byte[].class)); verify(callback).file(eq("/css/style.css"), anyLong(), any(byte[].class)); verify(callback).file(eq("/images/background.png"), anyLong(), any(byte[].class)); verifyNoMoreInteractions(callback); } }