package br.gov.servicos.config; import br.gov.servicos.v3.schema.ServicoXML; import lombok.experimental.FieldDefaults; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import static br.gov.servicos.config.PortalDeServicosIndex.PORTAL_DE_SERVICOS_INDEX; import static lombok.AccessLevel.PRIVATE; import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) @FieldDefaults(level = PRIVATE) public class PortalDeServicosIndexTest { PortalDeServicosIndex esConfig; @Mock ElasticsearchTemplate es; @Before public void setUp() { esConfig = new PortalDeServicosIndex(es); } @Test public void deveCriarIndicePDSImportadorQuandoNaoExiste() throws Exception { esConfig.recriar(); verify(es, never()).deleteIndex(eq(PORTAL_DE_SERVICOS_INDEX)); verify(es).createIndex(eq(PORTAL_DE_SERVICOS_INDEX), anyString()); } @Test public void deveDeletarECriarIndicePDSImportadorQuandoExistir() throws Exception { doReturn(true) .when(es) .indexExists(PORTAL_DE_SERVICOS_INDEX); esConfig.recriar(); verify(es).deleteIndex(eq(PORTAL_DE_SERVICOS_INDEX)); verify(es).createIndex(eq(PORTAL_DE_SERVICOS_INDEX), anyString()); } @Test public void deveAdicionarMapeamentos() throws Exception { esConfig.recriar(); verify(es).putMapping(ServicoXML.class); } }