mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-30 04:44:32 +02:00
replace=True and ignore=True parameters for create_view(), closes #106
This commit is contained in:
parent
b4d953d3cc
commit
5c1df4e306
4 changed files with 70 additions and 15 deletions
43
tests/test_create_view.py
Normal file
43
tests/test_create_view.py
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
import pytest
|
||||
from sqlite_utils.utils import OperationalError
|
||||
|
||||
|
||||
def test_create_view(fresh_db):
|
||||
fresh_db.create_view("bar", "select 1 + 1")
|
||||
rows = fresh_db.conn.execute("select * from bar").fetchall()
|
||||
assert [(2,)] == rows
|
||||
|
||||
|
||||
def test_create_view_error(fresh_db):
|
||||
fresh_db.create_view("bar", "select 1 + 1")
|
||||
with pytest.raises(OperationalError):
|
||||
fresh_db.create_view("bar", "select 1 + 2")
|
||||
|
||||
|
||||
def test_create_view_only_arrow_one_param(fresh_db):
|
||||
with pytest.raises(AssertionError):
|
||||
fresh_db.create_view("bar", "select 1 + 2", ignore=True, replace=True)
|
||||
|
||||
|
||||
def test_create_view_ignore(fresh_db):
|
||||
fresh_db.create_view("bar", "select 1 + 1").create_view(
|
||||
"bar", "select 1 + 2", ignore=True
|
||||
)
|
||||
rows = fresh_db.conn.execute("select * from bar").fetchall()
|
||||
assert [(2,)] == rows
|
||||
|
||||
|
||||
def test_create_view_replace(fresh_db):
|
||||
fresh_db.create_view("bar", "select 1 + 1").create_view(
|
||||
"bar", "select 1 + 2", replace=True
|
||||
)
|
||||
rows = fresh_db.conn.execute("select * from bar").fetchall()
|
||||
assert [(3,)] == rows
|
||||
|
||||
|
||||
def test_create_view_replace_with_same_does_nothing(fresh_db):
|
||||
fresh_db.create_view("bar", "select 1 + 1")
|
||||
initial_version = fresh_db.conn.execute("PRAGMA schema_version").fetchone()[0]
|
||||
fresh_db.create_view("bar", "select 1 + 1", replace=True)
|
||||
after_version = fresh_db.conn.execute("PRAGMA schema_version").fetchone()[0]
|
||||
assert after_version == initial_version
|
||||
Loading…
Add table
Add a link
Reference in a new issue