28 lines
796 B
Python
28 lines
796 B
Python
import tempfile
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
from tools.run_python import RunPythonTool
|
|
|
|
|
|
class RunPythonScriptPathTests(unittest.TestCase):
|
|
def test_executes_existing_script_path(self) -> None:
|
|
with tempfile.TemporaryDirectory() as tmp:
|
|
script = Path(tmp) / "hello.py"
|
|
script.write_text("print('hello from file')\n", encoding="utf-8")
|
|
|
|
out = RunPythonTool(base_dir=tmp).execute(script_path="hello.py")
|
|
|
|
self.assertIn("[stdout]\nhello from file", out)
|
|
self.assertIn("[exit 0]", out)
|
|
|
|
def test_requires_code_or_script_path(self) -> None:
|
|
out = RunPythonTool().execute()
|
|
|
|
self.assertIn("[Error]", out)
|
|
self.assertIn("code or script_path", out)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|