def test_get_updated_state(patch_incremental_base_class, start_date): stream = IncrementalStravaStream(start_date) expected_cursor_field = "start_date" inputs = { "current_stream_state": { expected_cursor_field: "2015-01-01T00:00:00Z" }, "latest_record": { expected_cursor_field: "2016-01-01T00:00:00Z" }, } expected_state = {"start_date": "2016-01-01T00:00:00Z"} assert stream.get_updated_state(**inputs) == expected_state
def test_stream_slices(patch_incremental_base_class, start_date): stream = IncrementalStravaStream(start_date) cursor_field = "start_date" epoch_string = "1970-01-01T00:00:00Z" epoch_timestamp = 0 inputs = { "sync_mode": SyncMode.incremental, "cursor_field": [cursor_field], "stream_state": { cursor_field: epoch_string } } expected_stream_slice = [{"after": epoch_timestamp}] assert stream.stream_slices(**inputs) == expected_stream_slice
def test_stream_checkpoint_interval(patch_incremental_base_class, start_date): stream = IncrementalStravaStream(start_date) expected_checkpoint_interval = None assert stream.state_checkpoint_interval == expected_checkpoint_interval
def test_source_defined_cursor(patch_incremental_base_class, start_date): stream = IncrementalStravaStream(start_date) assert stream.source_defined_cursor
def test_supports_incremental(patch_incremental_base_class, mocker, start_date): mocker.patch.object(IncrementalStravaStream, "cursor_field", "dummy_field") stream = IncrementalStravaStream(start_date) assert stream.supports_incremental
def test_cursor_field(patch_incremental_base_class, start_date): stream = IncrementalStravaStream(start_date) expected_cursor_field = "start_date" assert stream.cursor_field == expected_cursor_field