Remove over-engineering: drop tree_queue setter, _set_connected(), fi… (#63)

…x cancel_all() TOCTOU

- Remove tree_queue property setter (backward-compat hack; all callers
already migrated to replace_tree_queue()); keep property getter only
- Update 2 remaining tests that still used direct assignment to use
replace_tree_queue()
- Remove _set_connected() 1-line wrapper on DiscordPlatform; assign
_connected directly
- Fix cancel_all() TOCTOU: hold self._lock for the full loop so newly
created trees cannot slip through between the snapshot and cancellation

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Ali Khokhar 2026-03-01 12:34:00 -08:00 committed by GitHub
parent 25b329a3fc
commit fae8a2a044
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 9 additions and 19 deletions

View file

@ -24,7 +24,7 @@ def test_get_initial_status_reply_tree_busy_queued(handler):
mock_queue = MagicMock()
mock_queue.is_node_tree_busy.return_value = True
mock_queue.get_queue_size.return_value = 2
handler.tree_queue = mock_queue
handler.replace_tree_queue(mock_queue)
result = handler._get_initial_status(MagicMock(), "parent_1")
assert "Queued" in result
assert "position 3" in result
@ -34,7 +34,7 @@ def test_get_initial_status_reply_tree_not_busy_continuing(handler):
"""Reply to tree when not busy returns continuing message."""
mock_queue = MagicMock()
mock_queue.is_node_tree_busy.return_value = False
handler.tree_queue = mock_queue
handler.replace_tree_queue(mock_queue)
result = handler._get_initial_status(MagicMock(), "parent_1")
assert "Continuing" in result