Files
computer-playbook/tests/unit/python/utils/update/test_fetch.py
kevinveenbirkenbachandClaude Opus 5.5 5b722d840d style(update): reformat two test statements for ruff
ruff format rewraps the read-back line in test_repository.py, and ruff
check reports the nested with in test_fetch.py as SIM117. Both fail
lint-python.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 11:50:05 +02:00

51 lines
1.7 KiB
Python

from __future__ import annotations
import unittest
import unittest.mock as mock
from utils.update import fetch as module
BODIES = {
"https://example.test/tags": b"core v1.0.0",
"https://example.test/compose": b"image: example/app:v1.0.0-1.29",
}
class TestDocuments(unittest.TestCase):
def setUp(self) -> None:
module.document.cache_clear()
self.addCleanup(module.document.cache_clear)
def test_several_documents_are_read_as_one_text(self) -> None:
with mock.patch.object(module, "get", side_effect=BODIES.__getitem__):
self.assertEqual(
module.documents(list(BODIES)),
"core v1.0.0\nimage: example/app:v1.0.0-1.29",
)
self.assertEqual(
module.documents("https://example.test/tags"), "core v1.0.0"
)
def test_a_document_is_fetched_once_per_run(self) -> None:
with mock.patch.object(module, "get", side_effect=BODIES.__getitem__) as get:
module.documents(list(BODIES))
module.documents("https://example.test/tags")
module.documents("https://example.test/compose")
self.assertEqual(get.call_count, 2)
def test_a_failed_fetch_is_tried_again(self) -> None:
with (
mock.patch.object(module, "get", side_effect=OSError("down")),
self.assertRaises(OSError),
):
module.documents("https://example.test/tags")
with mock.patch.object(module, "get", side_effect=BODIES.__getitem__):
self.assertEqual(
module.documents("https://example.test/tags"), "core v1.0.0"
)
if __name__ == "__main__":
unittest.main()