Added unit tests for Worker Builder IKinesisProxy injection validation
Refactored unit tests as per comments in the pull request.
This commit is contained in:
parent
03c949ff58
commit
f15c0fd8e0
2 changed files with 31 additions and 0 deletions
|
|
@ -997,6 +997,11 @@ public class Worker implements Runnable {
|
|||
metricsFactory, execService);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
StreamConfig getStreamConfig() {
|
||||
return streamConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* Given configuration, returns appropriate metrics factory.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ import com.amazonaws.services.kinesis.clientlibrary.interfaces.v2.IRecordProcess
|
|||
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.WorkerCWMetricsFactory;
|
||||
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.WorkerThreadPoolExecutor;
|
||||
import com.amazonaws.services.kinesis.clientlibrary.proxies.IKinesisProxy;
|
||||
import com.amazonaws.services.kinesis.clientlibrary.proxies.KinesisProxy;
|
||||
import com.amazonaws.services.kinesis.clientlibrary.proxies.KinesisLocalFileProxy;
|
||||
import com.amazonaws.services.kinesis.clientlibrary.proxies.util.KinesisLocalFileDataCreator;
|
||||
import com.amazonaws.services.kinesis.clientlibrary.types.ExtendedSequenceNumber;
|
||||
|
|
@ -1474,6 +1475,31 @@ public class WorkerTest {
|
|||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderWithDefaultKinesisProxy() {
|
||||
IRecordProcessorFactory recordProcessorFactory = mock(IRecordProcessorFactory.class);
|
||||
Worker worker = new Worker.Builder()
|
||||
.recordProcessorFactory(recordProcessorFactory)
|
||||
.config(config)
|
||||
.build();
|
||||
Assert.assertNotNull(worker.getStreamConfig().getStreamProxy());
|
||||
Assert.assertTrue(worker.getStreamConfig().getStreamProxy() instanceof KinesisProxy);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilderWhenKinesisProxyIsSet() {
|
||||
IRecordProcessorFactory recordProcessorFactory = mock(IRecordProcessorFactory.class);
|
||||
// Create an instance of KinesisLocalFileProxy for injection and validation
|
||||
IKinesisProxy kinesisProxy = mock(KinesisLocalFileProxy.class);
|
||||
Worker worker = new Worker.Builder()
|
||||
.recordProcessorFactory(recordProcessorFactory)
|
||||
.config(config)
|
||||
.kinesisProxy(kinesisProxy)
|
||||
.build();
|
||||
Assert.assertNotNull(worker.getStreamConfig().getStreamProxy());
|
||||
Assert.assertTrue(worker.getStreamConfig().getStreamProxy() instanceof KinesisLocalFileProxy);
|
||||
}
|
||||
|
||||
private abstract class InjectableWorker extends Worker {
|
||||
InjectableWorker(String applicationName, IRecordProcessorFactory recordProcessorFactory,
|
||||
KinesisClientLibConfiguration config, StreamConfig streamConfig,
|
||||
|
|
|
|||
Loading…
Reference in a new issue