mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
110 lines
3.1 KiB
Python
110 lines
3.1 KiB
Python
from dvc.render import REVISION_FIELD, REVISIONS_KEY, SRC_FIELD, TYPE_KEY, VERSION_FIELD
|
|
from dvc.render.convert import to_json
|
|
|
|
|
|
def test_to_json_vega(mocker):
|
|
vega_renderer = mocker.MagicMock()
|
|
vega_renderer.TYPE = "vega"
|
|
vega_renderer.get_filled_template.return_value = {"this": "is vega"}
|
|
vega_renderer.datapoints = [
|
|
{
|
|
"x": 1,
|
|
"y": 2,
|
|
VERSION_FIELD: {"revision": "foo"},
|
|
"filename": "foo.json",
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 1,
|
|
VERSION_FIELD: {"revision": "bar"},
|
|
"filename": "foo.json",
|
|
},
|
|
]
|
|
result = to_json(vega_renderer)
|
|
assert result[0] == {
|
|
TYPE_KEY: vega_renderer.TYPE,
|
|
REVISIONS_KEY: ["bar", "foo"],
|
|
"content": {"this": "is vega"},
|
|
"datapoints": {
|
|
"foo": [
|
|
{
|
|
"x": 1,
|
|
"y": 2,
|
|
"filename": "foo.json",
|
|
VERSION_FIELD: {"revision": "foo"},
|
|
},
|
|
],
|
|
"bar": [
|
|
{
|
|
"x": 2,
|
|
"y": 1,
|
|
"filename": "foo.json",
|
|
VERSION_FIELD: {"revision": "bar"},
|
|
},
|
|
],
|
|
},
|
|
}
|
|
vega_renderer.get_filled_template.assert_called()
|
|
|
|
|
|
def test_to_json_vega_split(mocker):
|
|
vega_renderer = mocker.MagicMock()
|
|
vega_renderer.TYPE = "vega"
|
|
vega_renderer.get_filled_template.return_value = {"this": "is split vega"}
|
|
vega_renderer.datapoints = [
|
|
{
|
|
"x": 1,
|
|
"y": 2,
|
|
VERSION_FIELD: {"revision": "foo"},
|
|
"filename": "foo.json",
|
|
},
|
|
{
|
|
"x": 2,
|
|
"y": 1,
|
|
VERSION_FIELD: {"revision": "bar"},
|
|
"filename": "foo.json",
|
|
},
|
|
]
|
|
result = to_json(vega_renderer, split=True)
|
|
assert result[0] == {
|
|
TYPE_KEY: vega_renderer.TYPE,
|
|
REVISIONS_KEY: ["bar", "foo"],
|
|
"content": {"this": "is split vega"},
|
|
"datapoints": {
|
|
"foo": [
|
|
{
|
|
"x": 1,
|
|
"y": 2,
|
|
"filename": "foo.json",
|
|
VERSION_FIELD: {"revision": "foo"},
|
|
}
|
|
],
|
|
"bar": [
|
|
{
|
|
"x": 2,
|
|
"y": 1,
|
|
"filename": "foo.json",
|
|
VERSION_FIELD: {"revision": "bar"},
|
|
}
|
|
],
|
|
},
|
|
}
|
|
vega_renderer.get_filled_template.assert_called_with(
|
|
as_string=False, skip_anchors=["data"]
|
|
)
|
|
|
|
|
|
def test_to_json_image(mocker):
|
|
image_renderer = mocker.MagicMock()
|
|
image_renderer.TYPE = "image"
|
|
image_renderer.datapoints = [
|
|
{SRC_FIELD: "contentfoo", REVISION_FIELD: "foo"},
|
|
{SRC_FIELD: "contentbar", REVISION_FIELD: "bar"},
|
|
]
|
|
result = to_json(image_renderer)
|
|
assert result[0] == {
|
|
"url": image_renderer.datapoints[0].get(SRC_FIELD),
|
|
REVISIONS_KEY: [image_renderer.datapoints[0].get(REVISION_FIELD)],
|
|
TYPE_KEY: image_renderer.TYPE,
|
|
}
|