from pathlib import Path import unittest APP = Path(__file__).resolve().parents[1] / "app.py" class StudioMobileApiContractTests(unittest.TestCase): def test_mobile_memory_apis_use_explicit_non_state_components(self): src = APP.read_text(encoding="utf-8") self.assertIn("def studio_profile_api(", src) self.assertIn("def studio_start_api(", src) for marker in [ "api_profile_name = gr.Textbox(visible=False)", "api_start_profile = gr.Textbox(visible=False)", "api_choose_run = gr.Textbox(visible=False)", "api_skip_run = gr.Textbox(visible=False)", ]: self.assertIn(marker, src) for api_name in ["studio_profile", "studio_start", "studio_choose", "studio_skip"]: self.assertEqual(src.count(f'api_name="{api_name}"'), 1) if __name__ == "__main__": unittest.main()