Skip to content

Commit e8676db

Browse files
zzstoatzzclaude
andcommitted
Address PR review feedback
- Remove unnecessary workspace member from pyproject.toml - Replace manual env var handling with pytest monkeypatch fixtures - Revert unnecessary inline style change in worker.py 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 0045c12 commit e8676db

File tree

4 files changed

+27
-86
lines changed

4 files changed

+27
-86
lines changed

pyproject.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,3 @@ include = ["src", "tests"]
9797
typeCheckingMode = "strict"
9898
venvPath = "."
9999
venv = ".venv"
100-
101-
[tool.uv.workspace]
102-
members = [
103-
"sandbox/memory-streams",
104-
]

src/docket/worker.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,10 @@ async def ack_message(redis: Redis, message_id: RedisMessageID) -> None:
361361
if not message: # pragma: no cover
362362
continue
363363

364-
if not start_task(message_id, message, is_redelivery):
364+
task_started = start_task(
365+
message_id, message, is_redelivery
366+
)
367+
if not task_started:
365368
# Other errors - delete and ack
366369
await self._delete_known_task(redis, message)
367370
await ack_message(redis, message_id)

tests/test_fakeredis_backend.py

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,39 @@
1-
import os
21
from unittest.mock import patch
32

43
import pytest
4+
from pytest import MonkeyPatch
55

66
from docket import Docket
77

88

9-
async def test_docket_backend_fake():
9+
async def test_docket_backend_fake(monkeypatch: MonkeyPatch):
1010
"""Test using fakeredis backend via DOCKET_BACKEND env var."""
11-
original_value = os.environ.get("DOCKET_BACKEND")
12-
try:
13-
os.environ["DOCKET_BACKEND"] = "fake"
11+
monkeypatch.setenv("DOCKET_BACKEND", "fake")
1412

15-
async with Docket(name="test-fake-docket") as docket:
13+
async with Docket(name="test-fake-docket") as docket:
1614

17-
async def simple_task(value: str) -> str:
18-
return value
15+
async def simple_task(value: str) -> str:
16+
return value
1917

20-
docket.register(simple_task)
18+
docket.register(simple_task)
2119

22-
# Add and run a task
23-
execution = await docket.add(simple_task)("test-value")
24-
assert execution.key
20+
# Add and run a task
21+
execution = await docket.add(simple_task)("test-value")
22+
assert execution.key
2523

26-
# Verify snapshot works
27-
snapshot = await docket.snapshot()
28-
assert snapshot.total_tasks > 0
29-
finally:
30-
if original_value is None:
31-
os.environ.pop("DOCKET_BACKEND", None)
32-
else:
33-
os.environ["DOCKET_BACKEND"] = original_value
24+
# Verify snapshot works
25+
snapshot = await docket.snapshot()
26+
assert snapshot.total_tasks > 0
3427

3528

36-
async def test_docket_backend_fake_missing_dependency():
29+
async def test_docket_backend_fake_missing_dependency(monkeypatch: MonkeyPatch):
3730
"""Test that using fake backend without fakeredis installed raises helpful error."""
38-
original_value = os.environ.get("DOCKET_BACKEND")
39-
40-
try:
41-
os.environ["DOCKET_BACKEND"] = "fake"
42-
43-
# Mock the import to simulate fakeredis not being installed
44-
with patch.dict("sys.modules", {"fakeredis.aioredis": None}):
45-
with pytest.raises(
46-
ImportError, match="fakeredis is required for DOCKET_BACKEND=fake"
47-
):
48-
async with Docket(name="test-fake-docket"):
49-
pass
50-
finally:
51-
if original_value is None:
52-
os.environ.pop("DOCKET_BACKEND", None)
53-
else:
54-
os.environ["DOCKET_BACKEND"] = original_value
31+
monkeypatch.setenv("DOCKET_BACKEND", "fake")
32+
33+
# Mock the import to simulate fakeredis not being installed
34+
with patch.dict("sys.modules", {"fakeredis.aioredis": None}):
35+
with pytest.raises(
36+
ImportError, match="fakeredis is required for DOCKET_BACKEND=fake"
37+
):
38+
async with Docket(name="test-fake-docket"):
39+
pass

uv.lock

Lines changed: 0 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)