39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
import subprocess
|
|
from pathlib import Path
|
|
from void_workers.handlers.image import handle as handle_image
|
|
|
|
FIXTURES = Path(__file__).parent / "fixtures"
|
|
|
|
|
|
def _reset_void_schema(conn):
|
|
conn.execute("DROP SCHEMA IF EXISTS public CASCADE")
|
|
conn.execute("CREATE SCHEMA public")
|
|
conn.execute("CREATE EXTENSION IF NOT EXISTS pgcrypto")
|
|
conn.execute("CREATE EXTENSION IF NOT EXISTS vector")
|
|
|
|
|
|
def _run_node_migrations():
|
|
subprocess.run(
|
|
["node", "lib/db/migrate.js", "up"],
|
|
cwd="/project/src/void-v2",
|
|
check=True
|
|
)
|
|
|
|
|
|
def test_image_ocr(conn):
|
|
_reset_void_schema(conn)
|
|
_run_node_migrations()
|
|
sp = conn.execute(
|
|
"INSERT INTO spaces(slug, name) VALUES('plan4-img', 'I') RETURNING id"
|
|
).fetchone()[0]
|
|
blob = FIXTURES / "eng_text.png"
|
|
ref = conn.execute(
|
|
"INSERT INTO refs(space_id, kind, blob_path) "
|
|
"VALUES(%s, 'image', %s) RETURNING id",
|
|
(sp, str(blob))
|
|
).fetchone()[0]
|
|
out = handle_image({"ref_id": str(ref), "blob_path": str(blob)})
|
|
assert out["chars"] > 0
|
|
row = conn.execute("SELECT body_text FROM refs WHERE id=%s", (ref,)).fetchone()
|
|
assert "blackflame" in (row[0] or "").lower()
|