### Question:
PubSubSource extends RichSourceFunction<OUT> implements ResultTypeQueryable<OUT>, ParallelSourceFunction<OUT>, CheckpointListener, ListCheckpointed<AcknowledgeIdsForCheckpoint<String>> { @Override public void notifyCheckpointComplete(long checkpointId) throws Exception { acknowledgeOnCheckpoint.notifyCheckpointComplete(checkpointId); } PubSubSource(PubSubDeserializationSchema<OUT> deserializationSchema,
				PubSubSubscriberFactory pubSubSubscriberFactory,
				Credentials credentials,
				int maxMessagesToAcknowledge,
				AcknowledgeOnCheckpointFactory acknowledgeOnCheckpointFactory); @Override void open(Configuration configuration); @Override void run(SourceContext<OUT> sourceContext); @Override void cancel(); @Override TypeInformation<OUT> getProducedType(); static DeserializationSchemaBuilder newBuilder(); @Override void notifyCheckpointComplete(long checkpointId); @Override List<AcknowledgeIdsForCheckpoint<String>> snapshotState(long checkpointId, long timestamp); @Override void restoreState(List<AcknowledgeIdsForCheckpoint<String>> state); static final int NO_MAX_MESSAGES_TO_ACKNOWLEDGE_LIMIT; }### Answer:
@Test public void testNotifyCheckpointComplete() throws Exception { pubSubSource.open(null); pubSubSource.notifyCheckpointComplete(45L); verify(acknowledgeOnCheckpoint, times(1)).notifyCheckpointComplete(45L); }