Skip to content
Snippets Groups Projects
test_main.py 777 B
Newer Older
Christophe de Vienne's avatar
Christophe de Vienne committed
import json
Christophe de Vienne's avatar
Christophe de Vienne committed
import os.path
Christophe de Vienne's avatar
Christophe de Vienne committed
from io import BytesIO

from wpd.__main__ import run

Christophe de Vienne's avatar
Christophe de Vienne committed
version = open(
    os.path.join(os.path.dirname(os.path.dirname(__file__)), "wpd", "VERSION")
).read().strip()

Christophe de Vienne's avatar
Christophe de Vienne committed

def test_run_1():
    input = BytesIO(b"""{"id": "1", "size": 16}\n<p>paragraph</p>\n""")
    output = BytesIO()

    run(input, output)

    output.seek(0)

    line = output.readline()
    head = json.loads(line.decode("utf-8"))
Christophe de Vienne's avatar
Christophe de Vienne committed
    assert head == {"wpd": "wpd", "version": version, "protocol": "1"}
Christophe de Vienne's avatar
Christophe de Vienne committed
    line = output.readline()
    res = json.loads(line.decode("utf-8"))
    print(res)
    assert res.get("error") is None

Christophe de Vienne's avatar
Christophe de Vienne committed
    if res.get("size") is not None:
        with open("test_run_1.pdf", "wb") as f:
            f.write(output.read(res["size"]))