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<DmsSearchIndexJobCreatedEvent> 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());
|
}
|
}
|