Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backend/app/modules/platform/experiments_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,7 @@ async def render_figure_endpoint(experiment_id: str, req: RenderFigureRequest):
artifact = generate_figure(
experiment_id=experiment_id,
user_spec=user_spec,
data_override=data_override or [{'_': 1}],
data_override=data_override,
)
return artifact
except ValueError as exc:
Expand Down
37 changes: 37 additions & 0 deletions backend/tests/test_pr_10_experiments_render.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
"""
Test that the experiments render figure endpoint does not inject dummy data
when data_override is None.
"""

import unittest
import sys
import os

sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))


class TestExperimentsRenderDummyData(unittest.TestCase):
"""Tests for the render figure endpoint data_override handling."""

def test_data_override_none_not_replaced_with_dummy(self):
"""data_override should not be replaced with dummy fallback."""
from app.modules.platform import experiments_api
import inspect
source = inspect.getsource(experiments_api)
self.assertNotIn(
"data_override or [{"'_'": 1}]",
source,
"Dummy data fallback should not be present"
)

def test_data_override_passed_through_directly(self):
"""generate_figure should receive data_override as-is."""
from app.modules.platform import experiments_api
import inspect
source = inspect.getsource(experiments_api)
direct_passes = source.count("data_override=data_override,")
self.assertGreaterEqual(direct_passes, 3)


if __name__ == "__main__":
unittest.main()