Files
dvc/tests/unit/render/test_image_converter.py
T

47 lines
1.3 KiB
Python

from dvc.render import REVISION_FIELD, SRC_FIELD
from dvc.render.converter.image import ImageConverter
def test_image_converter_no_out():
data = b"content"
converter = ImageConverter()
datapoints, _ = converter.convert(data, "r", "image.png")
assert datapoints[0] == {
REVISION_FIELD: "r",
"filename": "image.png",
SRC_FIELD: converter._encode_image(b"content"),
}
def test_image_converter_with_out(tmp_dir):
data = b"content"
converter = ImageConverter({"out": tmp_dir / "foo"})
datapoints, _ = converter.convert(data, "r", "image.png")
assert datapoints[0] == {
REVISION_FIELD: "r",
"filename": "image.png",
SRC_FIELD: str(tmp_dir / "foo" / "r_image.png"),
}
assert (tmp_dir / "foo" / "r_image.png").read_bytes() == b"content"
def test_image_converter_with_slash_in_revision(tmp_dir):
"""Regression test for #7934"""
data = b"content"
converter = ImageConverter({"out": tmp_dir / "foo"})
datapoints, _ = converter.convert(data, "feature/r", "image.png")
assert datapoints[0] == {
REVISION_FIELD: "feature/r",
"filename": "image.png",
SRC_FIELD: str(tmp_dir / "foo" / "feature_r_image.png"),
}
assert (tmp_dir / "foo" / "feature_r_image.png").read_bytes() == b"content"