mirror of
https://github.com/Alishahryar1/free-claude-code.git
synced 2026-04-28 03:20:01 +00:00
Removed dead code
This commit is contained in:
parent
34757511a0
commit
302ee28585
6 changed files with 10 additions and 99 deletions
|
|
@ -97,11 +97,6 @@ class CLISessionManager:
|
|||
logger.info(f"Registered session: {temp_id} -> {real_session_id}")
|
||||
return True
|
||||
|
||||
async def get_real_session_id(self, temp_id: str) -> str | None:
|
||||
"""Get the real session ID for a temporary ID."""
|
||||
async with self._lock:
|
||||
return self._temp_to_real.get(temp_id)
|
||||
|
||||
async def remove_session(self, session_id: str) -> bool:
|
||||
"""Remove a session from the manager."""
|
||||
async with self._lock:
|
||||
|
|
|
|||
|
|
@ -247,11 +247,6 @@ class SessionStore:
|
|||
with self._lock:
|
||||
return self._trees.get(root_id)
|
||||
|
||||
def get_tree_root_for_node(self, node_id: str) -> str | None:
|
||||
"""Get the root ID of the tree containing a node."""
|
||||
with self._lock:
|
||||
return self._node_to_tree.get(node_id)
|
||||
|
||||
def register_node(self, node_id: str, root_id: str) -> None:
|
||||
"""Register a node ID to a tree root."""
|
||||
with self._lock:
|
||||
|
|
@ -292,36 +287,3 @@ class SessionStore:
|
|||
self._trees = trees
|
||||
self._node_to_tree = node_to_tree
|
||||
self._schedule_save()
|
||||
|
||||
def cleanup_old_trees(self, max_age_days: int = 30) -> int:
|
||||
"""Remove trees older than max_age_days."""
|
||||
with self._lock:
|
||||
cutoff = datetime.now(UTC)
|
||||
removed = 0
|
||||
to_remove = []
|
||||
|
||||
for root_id, tree_data in self._trees.items():
|
||||
try:
|
||||
nodes = tree_data.get("nodes", {})
|
||||
root_node = nodes.get(root_id, {})
|
||||
created_str = root_node.get("created_at")
|
||||
if created_str:
|
||||
created = datetime.fromisoformat(created_str)
|
||||
age_days = (cutoff - created).days
|
||||
if age_days > max_age_days:
|
||||
to_remove.append(root_id)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
for root_id in to_remove:
|
||||
tree_data = self._trees.pop(root_id)
|
||||
# Remove node mappings
|
||||
for node_id in tree_data.get("nodes", {}):
|
||||
self._node_to_tree.pop(node_id, None)
|
||||
removed += 1
|
||||
|
||||
if removed:
|
||||
self._schedule_save()
|
||||
logger.info(f"Cleaned up {removed} old trees")
|
||||
|
||||
return removed
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ async def test_register_real_session_id_moves_pending_to_active_and_maps():
|
|||
ok = await manager.register_real_session_id(temp_id, "real_1")
|
||||
assert ok is True
|
||||
|
||||
real = await manager.get_real_session_id(temp_id)
|
||||
assert real == "real_1"
|
||||
|
||||
# Lookup via temp id should resolve to the real session id.
|
||||
s2, sid2, is_new2 = await manager.get_or_create_session(session_id=temp_id)
|
||||
assert s2 is mock_session
|
||||
|
|
@ -75,8 +72,10 @@ async def test_remove_session_active_removes_temp_mapping():
|
|||
removed = await manager.remove_session("real_1")
|
||||
assert removed is True
|
||||
|
||||
real = await manager.get_real_session_id(temp_id)
|
||||
assert real is None
|
||||
# Temp ID should no longer resolve to an active session after removal.
|
||||
_, sid2, is_new2 = await manager.get_or_create_session(session_id=temp_id)
|
||||
assert sid2 == temp_id
|
||||
assert is_new2 is True
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
"""Tests for messaging/ module."""
|
||||
|
||||
import json
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
|
@ -83,8 +82,9 @@ class TestSessionStore:
|
|||
assert loaded == tree_data
|
||||
|
||||
# Verify node mapping
|
||||
assert store.get_tree_root_for_node("r1") == "r1"
|
||||
assert store.get_tree_root_for_node("n1") == "r1"
|
||||
node_map = store.get_node_mapping()
|
||||
assert node_map["r1"] == "r1"
|
||||
assert node_map["n1"] == "r1"
|
||||
|
||||
def test_register_node(self, tmp_path):
|
||||
"""Test manual node registration."""
|
||||
|
|
@ -92,35 +92,7 @@ class TestSessionStore:
|
|||
|
||||
store = SessionStore(storage_path=str(tmp_path / "sessions.json"))
|
||||
store.register_node("n_manual", "r_manual")
|
||||
assert store.get_tree_root_for_node("n_manual") == "r_manual"
|
||||
|
||||
def test_cleanup_old_trees(self, tmp_path):
|
||||
"""Test cleaning up expired trees."""
|
||||
from messaging.session import SessionStore
|
||||
|
||||
store = SessionStore(storage_path=str(tmp_path / "sessions.json"))
|
||||
|
||||
old_date = (datetime.now(UTC) - timedelta(days=40)).isoformat()
|
||||
|
||||
# Old tree
|
||||
store.save_tree(
|
||||
"old_root", {"nodes": {"old_root": {"created_at": old_date}, "child": {}}}
|
||||
)
|
||||
|
||||
# New tree
|
||||
store.save_tree(
|
||||
"new_root",
|
||||
{"nodes": {"new_root": {"created_at": datetime.now(UTC).isoformat()}}},
|
||||
)
|
||||
|
||||
removed = store.cleanup_old_trees(30)
|
||||
assert removed == 1
|
||||
|
||||
assert store.get_tree("old_root") is None
|
||||
assert (
|
||||
store.get_tree_root_for_node("child") is None
|
||||
) # Node mapping should be gone
|
||||
assert store.get_tree("new_root") is not None
|
||||
assert store.get_node_mapping()["n_manual"] == "r_manual"
|
||||
|
||||
# --- Persistence & Edge Cases ---
|
||||
|
||||
|
|
|
|||
|
|
@ -152,19 +152,3 @@ class TestSessionStoreClearAll:
|
|||
store.flush_pending_save()
|
||||
store2 = SessionStore(storage_path=path)
|
||||
assert store2.get_message_ids_for_chat("telegram", "c1") == ["1", "2"]
|
||||
|
||||
|
||||
class TestSessionStoreCleanupEdgeCases:
|
||||
"""Tests for cleanup with malformed data."""
|
||||
|
||||
def test_cleanup_trees_malformed_timestamp(self, tmp_store):
|
||||
"""Malformed created_at in cleanup_old_trees doesn't crash."""
|
||||
tmp_store._trees["root1"] = {"nodes": {"root1": {"created_at": "bad-date"}}}
|
||||
removed = tmp_store.cleanup_old_trees(max_age_days=0)
|
||||
assert removed == 0 # Skipped due to parse error
|
||||
|
||||
def test_cleanup_trees_missing_created_at(self, tmp_store):
|
||||
"""Tree node without created_at is not cleaned up."""
|
||||
tmp_store._trees["root1"] = {"nodes": {"root1": {}}}
|
||||
removed = tmp_store.cleanup_old_trees(max_age_days=0)
|
||||
assert removed == 0
|
||||
|
|
|
|||
|
|
@ -656,7 +656,7 @@ class TestSessionStoreTrees:
|
|||
retrieved = store.get_tree("root")
|
||||
assert retrieved is not None
|
||||
assert retrieved["root_id"] == "root"
|
||||
assert store.get_tree_root_for_node("child") == "root"
|
||||
assert store.get_node_mapping()["child"] == "root"
|
||||
|
||||
def test_register_node(self, tmp_path):
|
||||
"""Test registering a node to a tree."""
|
||||
|
|
@ -666,5 +666,4 @@ class TestSessionStoreTrees:
|
|||
|
||||
store.register_node("new_node", "root_tree")
|
||||
|
||||
root_id = store.get_tree_root_for_node("new_node")
|
||||
assert root_id == "root_tree"
|
||||
assert store.get_node_mapping()["new_node"] == "root_tree"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue