mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-23 01:14:31 +02:00
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from sqlite_utils import cli, Database
|
|
from click.testing import CliRunner
|
|
import pytest
|
|
import sqlite3
|
|
|
|
|
|
CREATE_TABLES = """
|
|
create table Gosh (c1 text, c2 text, c3 text);
|
|
create table Gosh2 (c1 text, c2 text, c3 text);
|
|
"""
|
|
|
|
|
|
@pytest.fixture
|
|
def db_path(tmpdir):
|
|
path = str(tmpdir / "test.db")
|
|
db = sqlite3.connect(path)
|
|
db.executescript(CREATE_TABLES)
|
|
return path
|
|
|
|
|
|
def test_table_names(db_path):
|
|
result = CliRunner().invoke(cli.cli, ["table_names", db_path])
|
|
assert "Gosh\nGosh2" == result.output.strip()
|
|
|
|
|
|
def test_table_names_fts4(db_path):
|
|
Database(db_path)["Gosh"].enable_fts(["c2"], fts_version="FTS4")
|
|
result = CliRunner().invoke(cli.cli, ["table_names", "--fts4", db_path])
|
|
assert "Gosh_fts" == result.output.strip()
|
|
|
|
|
|
def test_table_names_fts5(db_path):
|
|
Database(db_path)["Gosh"].enable_fts(["c2"], fts_version="FTS5")
|
|
result = CliRunner().invoke(cli.cli, ["table_names", "--fts5", db_path])
|
|
assert "Gosh_fts" == result.output.strip()
|
|
|
|
|
|
def test_vacuum(db_path):
|
|
result = CliRunner().invoke(cli.cli, ["vacuum", db_path])
|
|
assert 0 == result.exit_code
|