mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-09-19 15:04:10 +02:00
Unit test for tracer
This commit is contained in:
parent
2797b3ac6c
commit
a021b6b62e
2 changed files with 34 additions and 1 deletions
|
|
@ -153,7 +153,7 @@ class Database:
|
||||||
|
|
||||||
def executescript(self, sql):
|
def executescript(self, sql):
|
||||||
if self._tracer:
|
if self._tracer:
|
||||||
self._tracer(sql)
|
self._tracer(sql, None)
|
||||||
return self.conn.executescript(sql)
|
return self.conn.executescript(sql)
|
||||||
|
|
||||||
def table(self, table_name, **kwargs):
|
def table(self, table_name, **kwargs):
|
||||||
|
|
|
||||||
33
tests/test_tracer.py
Normal file
33
tests/test_tracer.py
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
import pytest
|
||||||
|
from sqlite_utils import Database
|
||||||
|
|
||||||
|
|
||||||
|
def test_tracer():
|
||||||
|
collected = []
|
||||||
|
db = Database(
|
||||||
|
memory=True, tracer=lambda sql, params: collected.append((sql, params))
|
||||||
|
)
|
||||||
|
db["dogs"].insert({"name": "Cleopaws"})
|
||||||
|
db["dogs"].enable_fts(["name"])
|
||||||
|
db["dogs"].search("Cleopaws")
|
||||||
|
assert collected == [
|
||||||
|
("select name from sqlite_master where type = 'view'", None),
|
||||||
|
("select name from sqlite_master where type = 'table'", None),
|
||||||
|
("CREATE TABLE [dogs] (\n [name] TEXT\n);\n ", None),
|
||||||
|
("select name from sqlite_master where type = 'view'", None),
|
||||||
|
("INSERT INTO [dogs] ([name]) VALUES (?);", ["Cleopaws"]),
|
||||||
|
("select name from sqlite_master where type = 'view'", None),
|
||||||
|
(
|
||||||
|
"CREATE VIRTUAL TABLE [dogs_fts] USING FTS5 (\n [name],\n content=[dogs]\n);",
|
||||||
|
None,
|
||||||
|
),
|
||||||
|
(
|
||||||
|
"INSERT INTO [dogs_fts] (rowid, [name])\n SELECT rowid, [name] FROM [dogs];",
|
||||||
|
None,
|
||||||
|
),
|
||||||
|
("select name from sqlite_master where type = 'view'", None),
|
||||||
|
(
|
||||||
|
'select * from "dogs" where rowid in (\n select rowid from [dogs_fts]\n where [dogs_fts] match :search\n)\norder by rowid',
|
||||||
|
("Cleopaws",),
|
||||||
|
),
|
||||||
|
]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue