feat: 添加任务历史记录、持久化会话、WebSocket支持和数据持久化功能
This commit is contained in:
47
tests/test_storage.py
Normal file
47
tests/test_storage.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import pytest
|
||||
from app.services.storage import JSONStorage
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
class TestJSONStorage:
|
||||
def test_save_and_load(self, temp_dir):
|
||||
storage = JSONStorage()
|
||||
storage.data_dir = temp_dir
|
||||
|
||||
data = {"name": "test", "value": 123}
|
||||
storage.save("test", data)
|
||||
|
||||
loaded = storage.load("test")
|
||||
assert loaded == data
|
||||
|
||||
def test_load_nonexistent(self, temp_dir):
|
||||
storage = JSONStorage()
|
||||
storage.data_dir = temp_dir
|
||||
|
||||
result = storage.load("nonexistent", default={"default": True})
|
||||
assert result == {"default": True}
|
||||
|
||||
def test_save_list(self, temp_dir):
|
||||
storage = JSONStorage()
|
||||
storage.data_dir = temp_dir
|
||||
|
||||
data = [1, 2, 3, "test"]
|
||||
storage.save("list", data)
|
||||
|
||||
loaded = storage.load("list")
|
||||
assert loaded == data
|
||||
|
||||
def test_save_nested_data(self, temp_dir):
|
||||
storage = JSONStorage()
|
||||
storage.data_dir = temp_dir
|
||||
|
||||
data = {
|
||||
"tasks": [
|
||||
{"id": "1", "status": "completed"},
|
||||
{"id": "2", "status": "running"}
|
||||
]
|
||||
}
|
||||
storage.save("nested", data)
|
||||
|
||||
loaded = storage.load("nested")
|
||||
assert loaded == data
|
||||
Reference in New Issue
Block a user