package io.monokkel.actors; import akka.actor.Props; import io.monokkel.core.Indexer; import io.monokkel.domain.PageData; import io.monokkel.messages.IndexResponse; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import static java.lang.Thread.sleep; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.internal.util.collections.Sets.newSet; public class IndexActorTest extends ActorTest{ private Indexer mockedIndexer; @Before public void before(){ mockedIndexer = Mockito.mock(Indexer.class); super.before(); } @Override protected String getActorName() { return "indexActor"; } @Test public void onReceive_withIndexResponse_expectIndexerToBeCalled() throws Exception { PageData parseOutput = new PageData(newSet("http://url"),"title",1L, "sda","asd","extractedContent",null); subject.tell(new IndexResponse(parseOutput),javaTestKit.getRef()); sleep(1000L); verify(mockedIndexer, times(1)).indexParserOutput(parseOutput); } @Override protected Props getActor() { return IndexActor.props(mockedIndexer); } }