Skip to content

Commit a21ff55

Browse files
committed
test(datasets): test legacy overwrite with fixture
Signed-off-by: Deepyaman Datta <[email protected]>
1 parent d26aaf2 commit a21ff55

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

kedro-datasets/tests/ibis/test_table_dataset.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -192,27 +192,30 @@ def test_append_mode_no_insert_raises(self, table_dataset, dummy_table):
192192
with pytest.raises(DatasetError, match="does not support inserts"):
193193
table_dataset.save(dummy_table)
194194

195-
@pytest.mark.parametrize("legacy_overwrite", [True, False])
196-
def test_legacy_overwrite_behavior(self, database, legacy_overwrite, dummy_table):
195+
@pytest.mark.parametrize(
196+
"save_args",
197+
[
198+
{"materialized": "table", "overwrite": True},
199+
{"materialized": "table", "overwrite": False},
200+
],
201+
indirect=True,
202+
)
203+
def test_legacy_overwrite_behavior(self, table_dataset, save_args, dummy_table):
197204
"""Legacy overwrite should map to overwrite or error behavior."""
198-
ds = TableDataset(
199-
table_name="legacy_overwrite",
200-
connection={"backend": "duckdb", "database": database},
201-
save_args={"materialized": "table", "overwrite": legacy_overwrite},
202-
)
205+
legacy_overwrite = save_args["overwrite"]
203206
df2 = ibis.memtable(pd.DataFrame({"col1": [7], "col2": [8], "col3": [9]}))
204207

205-
ds.save(dummy_table) # First save should always work
208+
table_dataset.save(dummy_table) # First save should always work
206209
if legacy_overwrite:
207210
# Should overwrite existing table with new contents
208-
ds.save(df2)
211+
table_dataset.save(df2)
209212
df2 = df2.execute()
210-
out = ds.load().execute().reset_index(drop=True)
213+
out = table_dataset.load().execute().reset_index(drop=True)
211214
assert_frame_equal(out, df2.reset_index(drop=True))
212215
else:
213216
# Should raise on second save when table exists
214217
with pytest.raises(DatasetError):
215-
ds.save(df2)
218+
table_dataset.save(df2)
216219

217220
def test_describe_includes_backend_mode_and_materialized(self, table_dataset):
218221
"""_describe should expose backend, mode and materialized; nested args exclude database."""
@@ -232,7 +235,7 @@ def test_load_extra_params(self, table_dataset, load_args):
232235
assert table_dataset._load_args[key] == value
233236

234237
@pytest.mark.parametrize("save_args", [{"materialized": "table"}], indirect=True)
235-
def test_save_extra_params(self, table_dataset, save_args, dummy_table, database):
238+
def test_save_extra_params(self, table_dataset, dummy_table, database):
236239
"""Test overriding the default save arguments."""
237240
table_dataset.save(dummy_table)
238241

0 commit comments

Comments
 (0)