modified core operations to return metadata for better classification mock test
This commit is contained in:
parent
eb81e96400
commit
9232385dea
16
test/fixtures/server.py
vendored
16
test/fixtures/server.py
vendored
@ -1,5 +1,6 @@
|
||||
import io
|
||||
import logging
|
||||
import random
|
||||
import socket
|
||||
from itertools import repeat
|
||||
from multiprocessing import Process
|
||||
@ -65,11 +66,12 @@ def operation(core_operation):
|
||||
def op(data, metadata):
|
||||
assert isinstance(metadata, dict)
|
||||
result = core_operation(data, metadata)
|
||||
metadata = omit(metadata, ["pages", "operation"])
|
||||
if isinstance(result, Generator):
|
||||
return zip(result, repeat(metadata))
|
||||
for data, metadata in result:
|
||||
return data, omit(metadata, ["pages", "operation"])
|
||||
else:
|
||||
return result, metadata
|
||||
data, metadata = result
|
||||
return data, omit(metadata, ["pages", "operation"])
|
||||
|
||||
if core_operation is Nothing:
|
||||
return Nothing
|
||||
@ -81,26 +83,26 @@ def core_operation(item_type, one_to_many, analysis_task):
|
||||
|
||||
def duplicate(string: bytes, metadata):
|
||||
for _ in range(2):
|
||||
yield upper(string, metadata)
|
||||
yield upper(string, metadata), metadata
|
||||
|
||||
def upper(string: bytes, metadata):
|
||||
return string.decode().upper().encode()
|
||||
|
||||
def extract(string: bytes, metadata):
|
||||
for c in project(dict(enumerate(string.decode())), metadata["pages"]).values():
|
||||
yield c.encode()
|
||||
yield c.encode(), metadata
|
||||
|
||||
def rotate(im: bytes, metadata):
|
||||
im = Image.open(io.BytesIO(im))
|
||||
return image_to_bytes(im.rotate(90))
|
||||
|
||||
def classify(_: bytes, metadata):
|
||||
return b""
|
||||
return b"", {"classification": 1}
|
||||
|
||||
def stream_pages(pdf: bytes, metadata):
|
||||
for i, page in enumerate(fitz.open(stream=pdf)):
|
||||
# yield page.get_pixmap().tobytes("png"), metadata
|
||||
yield f"page_{i}".encode()
|
||||
yield f"page_{i}".encode(), metadata
|
||||
|
||||
params2op = {
|
||||
False: {
|
||||
|
||||
@ -29,7 +29,7 @@ from test.utils.input import pair_data_with_queue_message
|
||||
@pytest.mark.parametrize(
|
||||
"analysis_task",
|
||||
[
|
||||
False,
|
||||
# False,
|
||||
True,
|
||||
],
|
||||
)
|
||||
@ -39,9 +39,9 @@ from test.utils.input import pair_data_with_queue_message
|
||||
@pytest.mark.parametrize(
|
||||
"item_type",
|
||||
[
|
||||
"string",
|
||||
# "string",
|
||||
"image",
|
||||
"pdf",
|
||||
# "pdf",
|
||||
],
|
||||
)
|
||||
@pytest.mark.parametrize(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user