|
@@ -41,10 +41,7 @@ import static org.hamcrest.Matchers.equalTo;
|
|
|
import static org.hamcrest.Matchers.greaterThan;
|
|
|
import static org.hamcrest.Matchers.is;
|
|
|
import static org.mockito.Matchers.any;
|
|
|
-import static org.mockito.Matchers.eq;
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
-import static org.mockito.Mockito.times;
|
|
|
-import static org.mockito.Mockito.verify;
|
|
|
import static org.mockito.Mockito.when;
|
|
|
|
|
|
public class NativeAutodetectProcessTests extends ESTestCase {
|
|
@@ -76,13 +73,14 @@ public class NativeAutodetectProcessTests extends ESTestCase {
|
|
|
when(processPipes.getProcessOutStream()).thenReturn(Optional.of(outputStream));
|
|
|
when(processPipes.getRestoreStream()).thenReturn(Optional.of(restoreStream));
|
|
|
when(processPipes.getPersistStream()).thenReturn(Optional.of(persistStream));
|
|
|
+ when(processPipes.getTimeout()).thenReturn(Duration.ofSeconds(randomIntBetween(5, 100)));
|
|
|
}
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
public void testProcessStartTime() throws Exception {
|
|
|
try (NativeAutodetectProcess process = new NativeAutodetectProcess("foo", mock(NativeController.class),
|
|
|
processPipes, NUMBER_FIELDS, null,
|
|
|
- new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class), Duration.ZERO)) {
|
|
|
+ new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class))) {
|
|
|
process.start(executorService, mock(IndexingStateProcessor.class));
|
|
|
|
|
|
ZonedDateTime startTime = process.getProcessStartTime();
|
|
@@ -100,7 +98,7 @@ public class NativeAutodetectProcessTests extends ESTestCase {
|
|
|
String[] record = {"r1", "r2", "r3", "r4", "r5"};
|
|
|
try (NativeAutodetectProcess process = new NativeAutodetectProcess("foo", mock(NativeController.class),
|
|
|
processPipes, NUMBER_FIELDS, Collections.emptyList(),
|
|
|
- new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class), Duration.ZERO)) {
|
|
|
+ new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class))) {
|
|
|
process.start(executorService, mock(IndexingStateProcessor.class));
|
|
|
|
|
|
process.writeRecord(record);
|
|
@@ -130,7 +128,7 @@ public class NativeAutodetectProcessTests extends ESTestCase {
|
|
|
public void testFlush() throws IOException {
|
|
|
try (NativeAutodetectProcess process = new NativeAutodetectProcess("foo", mock(NativeController.class),
|
|
|
processPipes, NUMBER_FIELDS, Collections.emptyList(),
|
|
|
- new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class), Duration.ZERO)) {
|
|
|
+ new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class))) {
|
|
|
process.start(executorService, mock(IndexingStateProcessor.class));
|
|
|
|
|
|
FlushJobParams params = FlushJobParams.builder().build();
|
|
@@ -159,8 +157,7 @@ public class NativeAutodetectProcessTests extends ESTestCase {
|
|
|
|
|
|
try (NativeAutodetectProcess process = new NativeAutodetectProcess("foo", mock(NativeController.class),
|
|
|
processPipes, NUMBER_FIELDS, Collections.emptyList(),
|
|
|
- new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class),
|
|
|
- Duration.ZERO)) {
|
|
|
+ new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class))) {
|
|
|
|
|
|
process.start(executorService);
|
|
|
process.consumeAndCloseOutputStream();
|
|
@@ -168,28 +165,11 @@ public class NativeAutodetectProcessTests extends ESTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
- public void testPipeConnectTimeout() throws IOException {
|
|
|
-
|
|
|
- int timeoutSeconds = randomIntBetween(5, 100);
|
|
|
-
|
|
|
- try (NativeAutodetectProcess process = new NativeAutodetectProcess("foo", mock(NativeController.class),
|
|
|
- processPipes, NUMBER_FIELDS, Collections.emptyList(),
|
|
|
- new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class),
|
|
|
- Duration.ofSeconds(timeoutSeconds))) {
|
|
|
-
|
|
|
- process.start(executorService);
|
|
|
- }
|
|
|
-
|
|
|
- verify(processPipes, times(1)).connectLogStream(eq(Duration.ofSeconds(timeoutSeconds)));
|
|
|
- verify(processPipes, times(1)).connectOtherStreams(eq(Duration.ofSeconds(timeoutSeconds)));
|
|
|
- }
|
|
|
-
|
|
|
@SuppressWarnings("unchecked")
|
|
|
private void testWriteMessage(CheckedConsumer<NativeAutodetectProcess> writeFunction, String expectedMessageCode) throws IOException {
|
|
|
try (NativeAutodetectProcess process = new NativeAutodetectProcess("foo", mock(NativeController.class),
|
|
|
processPipes, NUMBER_FIELDS, Collections.emptyList(),
|
|
|
- new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class), Duration.ZERO)) {
|
|
|
+ new ProcessResultsParser<>(AutodetectResult.PARSER, NamedXContentRegistry.EMPTY), mock(Consumer.class))) {
|
|
|
process.start(executorService, mock(IndexingStateProcessor.class));
|
|
|
|
|
|
writeFunction.accept(process);
|