Search in sources :

Example 1 with QueryChangeStreamAction

use of org.apache.beam.sdk.io.gcp.spanner.changestreams.action.QueryChangeStreamAction in project beam by apache.

the class ReadChangeStreamPartitionDoFnTest method setUp.

@Before
public void setUp() {
    final DaoFactory daoFactory = mock(DaoFactory.class);
    final MapperFactory mapperFactory = mock(MapperFactory.class);
    final ChangeStreamMetrics metrics = mock(ChangeStreamMetrics.class);
    final ActionFactory actionFactory = mock(ActionFactory.class);
    final PartitionMetadataDao partitionMetadataDao = mock(PartitionMetadataDao.class);
    final ChangeStreamDao changeStreamDao = mock(ChangeStreamDao.class);
    final ChangeStreamRecordMapper changeStreamRecordMapper = mock(ChangeStreamRecordMapper.class);
    final PartitionMetadataMapper partitionMetadataMapper = mock(PartitionMetadataMapper.class);
    dataChangeRecordAction = mock(DataChangeRecordAction.class);
    heartbeatRecordAction = mock(HeartbeatRecordAction.class);
    childPartitionsRecordAction = mock(ChildPartitionsRecordAction.class);
    queryChangeStreamAction = mock(QueryChangeStreamAction.class);
    doFn = new ReadChangeStreamPartitionDoFn(daoFactory, mapperFactory, actionFactory, metrics);
    partition = PartitionMetadata.newBuilder().setPartitionToken(PARTITION_TOKEN).setParentTokens(Sets.newHashSet("parentToken")).setStartTimestamp(PARTITION_START_TIMESTAMP).setEndTimestamp(PARTITION_END_TIMESTAMP).setHeartbeatMillis(PARTITION_HEARTBEAT_MILLIS).setState(SCHEDULED).setWatermark(PARTITION_START_TIMESTAMP).setScheduledAt(Timestamp.now()).build();
    restriction = mock(OffsetRange.class);
    restrictionTracker = mock(RestrictionTracker.class);
    outputReceiver = mock(OutputReceiver.class);
    watermarkEstimator = mock(ManualWatermarkEstimator.class);
    bundleFinalizer = mock(BundleFinalizer.class);
    when(restrictionTracker.currentRestriction()).thenReturn(restriction);
    when(daoFactory.getPartitionMetadataDao()).thenReturn(partitionMetadataDao);
    when(daoFactory.getChangeStreamDao()).thenReturn(changeStreamDao);
    when(mapperFactory.changeStreamRecordMapper()).thenReturn(changeStreamRecordMapper);
    when(mapperFactory.partitionMetadataMapper()).thenReturn(partitionMetadataMapper);
    when(actionFactory.dataChangeRecordAction()).thenReturn(dataChangeRecordAction);
    when(actionFactory.heartbeatRecordAction(metrics)).thenReturn(heartbeatRecordAction);
    when(actionFactory.childPartitionsRecordAction(partitionMetadataDao, metrics)).thenReturn(childPartitionsRecordAction);
    when(actionFactory.queryChangeStreamAction(changeStreamDao, partitionMetadataDao, changeStreamRecordMapper, partitionMetadataMapper, dataChangeRecordAction, heartbeatRecordAction, childPartitionsRecordAction)).thenReturn(queryChangeStreamAction);
    doFn.setup();
}
Also used : RestrictionTracker(org.apache.beam.sdk.transforms.splittabledofn.RestrictionTracker) ChangeStreamDao(org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.ChangeStreamDao) ChangeStreamRecordMapper(org.apache.beam.sdk.io.gcp.spanner.changestreams.mapper.ChangeStreamRecordMapper) ChildPartitionsRecordAction(org.apache.beam.sdk.io.gcp.spanner.changestreams.action.ChildPartitionsRecordAction) DataChangeRecordAction(org.apache.beam.sdk.io.gcp.spanner.changestreams.action.DataChangeRecordAction) QueryChangeStreamAction(org.apache.beam.sdk.io.gcp.spanner.changestreams.action.QueryChangeStreamAction) HeartbeatRecordAction(org.apache.beam.sdk.io.gcp.spanner.changestreams.action.HeartbeatRecordAction) OutputReceiver(org.apache.beam.sdk.transforms.DoFn.OutputReceiver) ChangeStreamMetrics(org.apache.beam.sdk.io.gcp.spanner.changestreams.ChangeStreamMetrics) DaoFactory(org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.DaoFactory) BundleFinalizer(org.apache.beam.sdk.transforms.DoFn.BundleFinalizer) OffsetRange(org.apache.beam.sdk.io.range.OffsetRange) PartitionMetadataDao(org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.PartitionMetadataDao) PartitionMetadataMapper(org.apache.beam.sdk.io.gcp.spanner.changestreams.mapper.PartitionMetadataMapper) MapperFactory(org.apache.beam.sdk.io.gcp.spanner.changestreams.mapper.MapperFactory) ActionFactory(org.apache.beam.sdk.io.gcp.spanner.changestreams.action.ActionFactory) ManualWatermarkEstimator(org.apache.beam.sdk.transforms.splittabledofn.ManualWatermarkEstimator) Before(org.junit.Before)

Aggregations

ChangeStreamMetrics (org.apache.beam.sdk.io.gcp.spanner.changestreams.ChangeStreamMetrics)1 ActionFactory (org.apache.beam.sdk.io.gcp.spanner.changestreams.action.ActionFactory)1 ChildPartitionsRecordAction (org.apache.beam.sdk.io.gcp.spanner.changestreams.action.ChildPartitionsRecordAction)1 DataChangeRecordAction (org.apache.beam.sdk.io.gcp.spanner.changestreams.action.DataChangeRecordAction)1 HeartbeatRecordAction (org.apache.beam.sdk.io.gcp.spanner.changestreams.action.HeartbeatRecordAction)1 QueryChangeStreamAction (org.apache.beam.sdk.io.gcp.spanner.changestreams.action.QueryChangeStreamAction)1 ChangeStreamDao (org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.ChangeStreamDao)1 DaoFactory (org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.DaoFactory)1 PartitionMetadataDao (org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.PartitionMetadataDao)1 ChangeStreamRecordMapper (org.apache.beam.sdk.io.gcp.spanner.changestreams.mapper.ChangeStreamRecordMapper)1 MapperFactory (org.apache.beam.sdk.io.gcp.spanner.changestreams.mapper.MapperFactory)1 PartitionMetadataMapper (org.apache.beam.sdk.io.gcp.spanner.changestreams.mapper.PartitionMetadataMapper)1 OffsetRange (org.apache.beam.sdk.io.range.OffsetRange)1 BundleFinalizer (org.apache.beam.sdk.transforms.DoFn.BundleFinalizer)1 OutputReceiver (org.apache.beam.sdk.transforms.DoFn.OutputReceiver)1 ManualWatermarkEstimator (org.apache.beam.sdk.transforms.splittabledofn.ManualWatermarkEstimator)1 RestrictionTracker (org.apache.beam.sdk.transforms.splittabledofn.RestrictionTracker)1 Before (org.junit.Before)1