2022-02-09 06:32:19 +00:00
|
|
|
from datasette.app import Datasette
|
|
|
|
from datasette.utils import find_spatialite, SpatialiteNotFound, SPATIALITE_FUNCTIONS
|
2022-09-06 00:05:23 +00:00
|
|
|
from .utils import has_load_extension
|
2022-02-09 06:32:19 +00:00
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
def has_spatialite():
|
|
|
|
try:
|
|
|
|
find_spatialite()
|
|
|
|
return True
|
|
|
|
except SpatialiteNotFound:
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
@pytest.mark.skipif(not has_spatialite(), reason="Requires SpatiaLite")
|
2022-09-06 00:05:23 +00:00
|
|
|
@pytest.mark.skipif(not has_load_extension(), reason="Requires enable_load_extension")
|
2022-02-09 06:32:19 +00:00
|
|
|
async def test_spatialite_version_info():
|
|
|
|
ds = Datasette(sqlite_extensions=["spatialite"])
|
|
|
|
response = await ds.client.get("/-/versions.json")
|
|
|
|
assert response.status_code == 200
|
|
|
|
spatialite = response.json()["sqlite"]["extensions"]["spatialite"]
|
|
|
|
assert set(SPATIALITE_FUNCTIONS) == set(spatialite)
|