package jnpf.dmsService.search; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.springframework.context.ApplicationEventPublisher; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; class DmsSearchIndexJobServiceTest { @Test void publishesRedisTaskEventWhenSearchIsEnabled() { DmsSearchProperties properties = new DmsSearchProperties(); properties.setEnabled(true); ApplicationEventPublisher publisher = mock(ApplicationEventPublisher.class); DmsSearchIndexJobService service = new DmsSearchIndexJobService(properties, publisher); UUID documentId = UUID.randomUUID(); UUID versionId = UUID.randomUUID(); service.enqueueContentUpsert("tenant-1", documentId, versionId, "A".repeat(64)); ArgumentCaptor captor = ArgumentCaptor.forClass(DmsSearchIndexJobCreatedEvent.class); verify(publisher).publishEvent(captor.capture()); DmsSearchIndexTask task = captor.getValue().getTask(); assertEquals("tenant-1", task.getTenantId()); assertEquals(documentId, task.getDocumentId()); assertEquals(versionId, task.getFileVersionId()); assertEquals("a".repeat(64), task.getChecksumSha256()); } @Test void doesNothingWhenSearchIsDisabled() { DmsSearchProperties properties = new DmsSearchProperties(); ApplicationEventPublisher publisher = mock(ApplicationEventPublisher.class); DmsSearchIndexJobService service = new DmsSearchIndexJobService(properties, publisher); service.enqueueContentUpsert("tenant-1", UUID.randomUUID(), UUID.randomUUID(), null); verify(publisher, never()).publishEvent(org.mockito.ArgumentMatchers.any()); } }