Skip to content

Commit 259a2b7

Browse files
committed
Fix add_to_pydotorg session cleanup calls
1 parent 77aa07c commit 259a2b7

2 files changed

Lines changed: 21 additions & 3 deletions

File tree

add_to_pydotorg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def post_object(base_url: str, objtype: str, datadict: dict[str, Any]) -> int:
328328

329329
def delete_object(base_url: str, objtype: str, pk: int) -> None:
330330
"""Delete an existing API object."""
331-
resp = requests.delete(base_url + f"downloads/{objtype}/{pk}/", headers=headers)
331+
resp = session.delete(f"{base_url}downloads/{objtype}/{pk}/")
332332
if resp.status_code != 204:
333333
raise RuntimeError(f"Deleting {objtype} {pk} failed: {resp.status_code}")
334334

tests/test_add_to_pydotorg.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from typing import Any
44

55
import pytest
6-
import requests
76
from pyfakefs.fake_filesystem import FakeFilesystem
87

98
os.environ["AUTH_INFO"] = "test_username:test_api_key"
@@ -87,14 +86,33 @@ class Response:
8786
def fake_post(*args: Any, **kwargs: Any) -> Response:
8887
return Response()
8988

90-
monkeypatch.setattr(requests, "post", fake_post)
89+
monkeypatch.setattr(add_to_pydotorg.session, "post", fake_post)
9190

9291
with pytest.raises(RuntimeError, match="validation failed"):
9392
add_to_pydotorg.post_object(
9493
"https://example.invalid/api/v1/", "release_file", {"slug": "bad"}
9594
)
9695

9796

97+
def test_delete_object_uses_session(monkeypatch: pytest.MonkeyPatch) -> None:
98+
class Response:
99+
status_code = 204
100+
101+
calls: list[str] = []
102+
103+
def fake_delete(url: str) -> Response:
104+
calls.append(url)
105+
return Response()
106+
107+
monkeypatch.setattr(add_to_pydotorg.session, "delete", fake_delete)
108+
109+
add_to_pydotorg.delete_object(
110+
"https://example.invalid/api/v1/", "release_file", 123
111+
)
112+
113+
assert calls == ["https://example.invalid/api/v1/downloads/release_file/123/"]
114+
115+
98116
def test_create_release_files_cleans_up_created_rows(
99117
monkeypatch: pytest.MonkeyPatch,
100118
) -> None:

0 commit comments

Comments
 (0)