added test for empty return-data operation, like classification
This commit is contained in:
parent
02b0009219
commit
7ff466e0ea
21
test/fixtures/server.py
vendored
21
test/fixtures/server.py
vendored
@ -1,5 +1,6 @@
|
|||||||
import io
|
import io
|
||||||
import socket
|
import socket
|
||||||
|
from collections import defaultdict
|
||||||
from itertools import repeat
|
from itertools import repeat
|
||||||
from multiprocessing import Process
|
from multiprocessing import Process
|
||||||
from typing import Generator
|
from typing import Generator
|
||||||
@ -72,7 +73,7 @@ def operation(core_operation):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def core_operation(item_type, one_to_many):
|
def core_operation(item_type, one_to_many, analysis_task):
|
||||||
def upper(string: bytes):
|
def upper(string: bytes):
|
||||||
return string.decode().upper().encode()
|
return string.decode().upper().encode()
|
||||||
|
|
||||||
@ -84,6 +85,9 @@ def core_operation(item_type, one_to_many):
|
|||||||
im = Image.open(io.BytesIO(im))
|
im = Image.open(io.BytesIO(im))
|
||||||
return image_to_bytes(im.rotate(90))
|
return image_to_bytes(im.rotate(90))
|
||||||
|
|
||||||
|
def classify(_: bytes):
|
||||||
|
return b""
|
||||||
|
|
||||||
def stream_pages(pdf: bytes):
|
def stream_pages(pdf: bytes):
|
||||||
for i, page in enumerate(fitz.open(stream=pdf)):
|
for i, page in enumerate(fitz.open(stream=pdf)):
|
||||||
# yield page.get_pixmap().tobytes("png"), metadata
|
# yield page.get_pixmap().tobytes("png"), metadata
|
||||||
@ -92,15 +96,15 @@ def core_operation(item_type, one_to_many):
|
|||||||
try:
|
try:
|
||||||
d = {
|
d = {
|
||||||
False: {
|
False: {
|
||||||
"string": upper,
|
"string": defaultdict(lambda: upper),
|
||||||
"image": rotate,
|
"image": {False: rotate, True: classify},
|
||||||
},
|
},
|
||||||
True: {
|
True: {
|
||||||
"string": duplicate,
|
"string": defaultdict(lambda: duplicate),
|
||||||
"pdf": stream_pages,
|
"pdf": defaultdict(lambda: stream_pages),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return d[one_to_many][item_type]
|
return d[one_to_many][item_type][analysis_task]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return Nothing
|
return Nothing
|
||||||
|
|
||||||
@ -115,6 +119,11 @@ def one_to_many(request):
|
|||||||
return request.param
|
return request.param
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(params=[True, False])
|
||||||
|
def analysis_task(request):
|
||||||
|
return request.param
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(params=[False, True])
|
@pytest.fixture(params=[False, True])
|
||||||
def batched(request):
|
def batched(request):
|
||||||
"""Controls, whether the buffer processor function of the webserver is applied to batches or single items."""
|
"""Controls, whether the buffer processor function of the webserver is applied to batches or single items."""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user