From 774e82d5627af9e116b56f5c0fb1ead74220860d Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sun, 26 Jul 2020 09:28:20 -0700 Subject: [PATCH] tests --- sqlite_utils/db.py | 1 - tests/test_transform_table.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 tests/test_transform_table.py diff --git a/sqlite_utils/db.py b/sqlite_utils/db.py index 84bacac..9819555 100644 --- a/sqlite_utils/db.py +++ b/sqlite_utils/db.py @@ -362,7 +362,6 @@ class Database: """.format( table=name, columns_sql=columns_sql, extra_pk=extra_pk ) - self.execute(sql) return sql def create_table( diff --git a/tests/test_transform_table.py b/tests/test_transform_table.py new file mode 100644 index 0000000..6eee33a --- /dev/null +++ b/tests/test_transform_table.py @@ -0,0 +1,32 @@ +import pytest + + +@pytest.mark.parametrize( + "params,expected_sql", + [ + ( + {}, + [ + "CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER,\n [name] TEXT,\n [age] TEXT\n);\n ", + "INSERT INTO [dogs_new_suffix] ([age], [id], [name]) SELECT [age], [id], [name] FROM [dogs]", + "DROP TABLE [dogs]", + "ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]", + ], + ), + ( + {"rename": {"age": "dog_age"}}, + [ + "CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER,\n [name] TEXT,\n [dog_age] TEXT\n);\n ", + "INSERT INTO [dogs_new_suffix] ([id], [dog_age], [name]) SELECT [id], [dog_age], [name] FROM [dogs]", + "DROP TABLE [dogs]", + "ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]", + ], + ), + ], +) +def test_transform_table_sql(fresh_db, params, expected_sql): + dogs = fresh_db["dogs"] + dogs.insert({"id": 1, "name": "Cleo", "age": "5"}, pk="id") + params["tmp_suffix"] = "suffix" + sql = dogs.transform_table_sql(**params) + assert sql == expected_sql