--load-extension= for many more commands, closes #137

Also added --load-extension=spatialite shortcut, closes #136
This commit is contained in:
Simon Willison 2020-10-16 12:14:22 -07:00
commit 21ff60e3b1
5 changed files with 148 additions and 32 deletions

View file

@ -956,18 +956,23 @@ def test_query_raw(db_path, content, is_binary):
not hasattr(sqlite3.Connection, "enable_load_extension"),
reason="sqlite3.Connection missing enable_load_extension",
)
def test_query_load_extension():
@pytest.mark.parametrize("use_spatialite_shortcut", [True, False])
def test_query_load_extension(use_spatialite_shortcut):
# Without --load-extension:
result = CliRunner().invoke(cli.cli, [":memory:", "select spatialite_version()"])
assert result.exit_code == 1
assert "no such function: spatialite_version" in repr(result)
# With --load-extension:
if use_spatialite_shortcut:
load_extension = "spatialite"
else:
load_extension = find_spatialite()
result = CliRunner().invoke(
cli.cli,
[
":memory:",
"select spatialite_version()",
"--load-extension={}".format(find_spatialite()),
"--load-extension={}".format(load_extension),
],
)
assert result.exit_code == 0, result.stdout