From 74cd6b0b6936e47fed4f3a2ce6d3a3190808df89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= Date: Mon, 11 Sep 2023 16:27:02 -0600 Subject: [PATCH] Add counter-example snapshot --- samples/sample_tap_sqlite/__init__.py | 3 +++ tests/samples/test_tap_sqlite.py | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/samples/sample_tap_sqlite/__init__.py b/samples/sample_tap_sqlite/__init__.py index 908c4f57a5..49b4365f0c 100644 --- a/samples/sample_tap_sqlite/__init__.py +++ b/samples/sample_tap_sqlite/__init__.py @@ -34,6 +34,9 @@ class SQLiteStream(SQLStream): connector_class = SQLiteConnector + # Use a smaller state message frequency to check intermediate state. + STATE_MSG_FREQUENCY = 10 + class SQLiteTap(SQLTap): """The Tap class for SQLite.""" diff --git a/tests/samples/test_tap_sqlite.py b/tests/samples/test_tap_sqlite.py index e2b1940dad..3c02b19c03 100644 --- a/tests/samples/test_tap_sqlite.py +++ b/tests/samples/test_tap_sqlite.py @@ -3,7 +3,9 @@ import json import typing as t +import pytest from click.testing import CliRunner +from freezegun import freeze_time from samples.sample_tap_sqlite import SQLiteTap from samples.sample_target_csv.csv_target import SampleTargetCSV @@ -11,12 +13,15 @@ from singer_sdk._singerlib import MetadataMapping, StreamMetadata from singer_sdk.testing import ( get_standard_tap_tests, + tap_sync_test, tap_to_target_sync_test, ) if t.TYPE_CHECKING: from pathlib import Path + from pytest_snapshot.plugin import Snapshot + from singer_sdk.tap_base import SQLTap @@ -116,3 +121,13 @@ def test_sync_sqlite_to_csv(sqlite_sample_tap: SQLTap, tmp_path: Path): sqlite_sample_tap, SampleTargetCSV(config={"target_folder": f"{tmp_path}/"}), ) + + +@freeze_time("2022-01-01T00:00:00Z") +@pytest.mark.snapshot() +def test_sqlite_snapshot( + sqlite_sample_tap: SQLTap, + snapshot: Snapshot, +): + stdout, stderr = tap_sync_test(sqlite_sample_tap) + snapshot.assert_match(stdout.getvalue(), "stdout.jsonl")