2020-07-26 09:28:20 -07:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
|
"params,expected_sql",
|
|
|
|
|
[
|
|
|
|
|
(
|
|
|
|
|
{},
|
|
|
|
|
[
|
|
|
|
|
"CREATE TABLE [dogs_new_suffix] (\n [id] INTEGER,\n [name] TEXT,\n [age] TEXT\n);\n ",
|
2020-09-21 16:19:03 -07:00
|
|
|
"INSERT INTO [dogs_new_suffix] ([id], [name], [age]) SELECT [id], [name], [age] FROM [dogs]",
|
2020-07-26 09:28:20 -07:00
|
|
|
"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 ",
|
2020-09-21 16:19:03 -07:00
|
|
|
"INSERT INTO [dogs_new_suffix] ([id], [name], [dog_age]) SELECT [id], [name], [age] FROM [dogs]",
|
2020-07-26 09:28:20 -07:00
|
|
|
"DROP TABLE [dogs]",
|
|
|
|
|
"ALTER TABLE [dogs_new_suffix] RENAME TO [dogs]",
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
)
|
2020-09-21 16:14:05 -07:00
|
|
|
def test_transform_sql(fresh_db, params, expected_sql):
|
2020-07-26 09:28:20 -07:00
|
|
|
dogs = fresh_db["dogs"]
|
|
|
|
|
dogs.insert({"id": 1, "name": "Cleo", "age": "5"}, pk="id")
|
|
|
|
|
params["tmp_suffix"] = "suffix"
|
2020-09-21 16:14:05 -07:00
|
|
|
sql = dogs.transform_sql(**params)
|
2020-07-26 09:28:20 -07:00
|
|
|
assert sql == expected_sql
|