From 0e3b61385aaadbc1ddd60616b0c8c44276cd850a Mon Sep 17 00:00:00 2001 From: Xu Beihan <300434118+ethan-long71@users.noreply.github.com> Date: Mon, 31 Aug 2026 02:23:05 +0800 Subject: [PATCH] fix: remove dummy data fallback in experiments_api.py render endpoint --- .../app/modules/platform/experiments_api.py | 2 +- .../tests/test_pr_10_experiments_render.py | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 backend/tests/test_pr_10_experiments_render.py diff --git a/backend/app/modules/platform/experiments_api.py b/backend/app/modules/platform/experiments_api.py index 00313367..84b4e8f1 100644 --- a/backend/app/modules/platform/experiments_api.py +++ b/backend/app/modules/platform/experiments_api.py @@ -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: diff --git a/backend/tests/test_pr_10_experiments_render.py b/backend/tests/test_pr_10_experiments_render.py new file mode 100644 index 00000000..02df63e6 --- /dev/null +++ b/backend/tests/test_pr_10_experiments_render.py @@ -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()