30 lines
899 B
Python
30 lines
899 B
Python
import tempfile
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
from nlprog.run_log import list_run_logs, load_run_log, write_run_log
|
|
|
|
|
|
class Event:
|
|
def __init__(self, kind, message):
|
|
self.kind = kind
|
|
self.message = message
|
|
|
|
|
|
class RunLogTests(unittest.TestCase):
|
|
def test_write_list_and_load_latest_log(self):
|
|
with tempfile.TemporaryDirectory() as tmp:
|
|
root = Path(tmp)
|
|
path = write_run_log(root, "task", "done", [Event("final", "done")], "2026-01-01T00:00:00")
|
|
self.assertTrue(path.exists())
|
|
logs = list_run_logs(root)
|
|
self.assertEqual(logs, [path])
|
|
loaded_path, data = load_run_log(root, "latest")
|
|
self.assertEqual(loaded_path, path)
|
|
self.assertEqual(data["task"], "task")
|
|
self.assertEqual(data["final"], "done")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|