mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-08-03 16:04:13 +02:00
parent
923768db2e
commit
6500fed8b2
2 changed files with 56 additions and 2 deletions
34
tests/test_default_value.py
Normal file
34
tests/test_default_value.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
import pytest
|
||||
|
||||
|
||||
EXAMPLES = [
|
||||
("TEXT DEFAULT 'foo'", "'foo'", "'foo'"),
|
||||
("TEXT DEFAULT 'foo)'", "'foo)'", "'foo)'"),
|
||||
("INTEGER DEFAULT '1'", "'1'", "'1'"),
|
||||
("INTEGER DEFAULT 1", "1", "'1'"),
|
||||
("INTEGER DEFAULT (1)", "1", "'1'"),
|
||||
# Expressions
|
||||
(
|
||||
"TEXT DEFAULT (STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))",
|
||||
"STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')",
|
||||
"(STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW'))",
|
||||
),
|
||||
# Special values
|
||||
("TEXT DEFAULT CURRENT_TIME", "CURRENT_TIME", "CURRENT_TIME"),
|
||||
("TEXT DEFAULT CURRENT_DATE", "CURRENT_DATE", "CURRENT_DATE"),
|
||||
("TEXT DEFAULT CURRENT_TIMESTAMP", "CURRENT_TIMESTAMP", "CURRENT_TIMESTAMP"),
|
||||
("TEXT DEFAULT current_timestamp", "current_timestamp", "current_timestamp"),
|
||||
("TEXT DEFAULT (CURRENT_TIMESTAMP)", "CURRENT_TIMESTAMP", "CURRENT_TIMESTAMP"),
|
||||
# Strings
|
||||
("TEXT DEFAULT 'CURRENT_TIMESTAMP'", "'CURRENT_TIMESTAMP'", "'CURRENT_TIMESTAMP'"),
|
||||
('TEXT DEFAULT "CURRENT_TIMESTAMP"', '"CURRENT_TIMESTAMP"', '"CURRENT_TIMESTAMP"'),
|
||||
]
|
||||
|
||||
|
||||
@pytest.mark.parametrize("column_def,initial_value,expected_value", EXAMPLES)
|
||||
def test_quote_default_value(fresh_db, column_def, initial_value, expected_value):
|
||||
fresh_db.execute("create table foo (col {})".format(column_def))
|
||||
assert initial_value == fresh_db["foo"].columns[0].default_value
|
||||
assert expected_value == fresh_db.quote_default_value(
|
||||
fresh_db["foo"].columns[0].default_value
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue