Add series key metadata to callback contexts

This commit is contained in:
2025-11-23 20:02:11 +01:00
parent 41a53bbf8f
commit 883f89b113
4 changed files with 46 additions and 31 deletions

View File

@@ -34,6 +34,8 @@ class TestProgressContext(unittest.TestCase):
percentage=50.0,
message="Downloading...",
details="Episode 5",
key="attack-on-titan",
folder="Attack on Titan (2013)",
metadata={"series": "Test"}
)
@@ -45,6 +47,8 @@ class TestProgressContext(unittest.TestCase):
self.assertEqual(context.percentage, 50.0)
self.assertEqual(context.message, "Downloading...")
self.assertEqual(context.details, "Episode 5")
self.assertEqual(context.key, "attack-on-titan")
self.assertEqual(context.folder, "Attack on Titan (2013)")
self.assertEqual(context.metadata, {"series": "Test"})
def test_progress_context_to_dict(self):
@@ -69,6 +73,8 @@ class TestProgressContext(unittest.TestCase):
self.assertEqual(result["percentage"], 100.0)
self.assertEqual(result["message"], "Scan complete")
self.assertIsNone(result["details"])
self.assertIsNone(result["key"])
self.assertIsNone(result["folder"])
self.assertEqual(result["metadata"], {})
def test_progress_context_default_metadata(self):
@@ -100,6 +106,8 @@ class TestErrorContext(unittest.TestCase):
message="Download failed",
recoverable=True,
retry_count=2,
key="jujutsu-kaisen",
folder="Jujutsu Kaisen",
metadata={"attempt": 3}
)
@@ -109,6 +117,8 @@ class TestErrorContext(unittest.TestCase):
self.assertEqual(context.message, "Download failed")
self.assertTrue(context.recoverable)
self.assertEqual(context.retry_count, 2)
self.assertEqual(context.key, "jujutsu-kaisen")
self.assertEqual(context.folder, "Jujutsu Kaisen")
self.assertEqual(context.metadata, {"attempt": 3})
def test_error_context_to_dict(self):
@@ -131,6 +141,8 @@ class TestErrorContext(unittest.TestCase):
self.assertEqual(result["message"], "Scan error occurred")
self.assertFalse(result["recoverable"])
self.assertEqual(result["retry_count"], 0)
self.assertIsNone(result["key"])
self.assertIsNone(result["folder"])
self.assertEqual(result["metadata"], {})
@@ -146,6 +158,8 @@ class TestCompletionContext(unittest.TestCase):
message="Download completed successfully",
result_data={"file": "episode.mp4"},
statistics={"size": 1024, "time": 60},
key="bleach",
folder="Bleach (2004)",
metadata={"quality": "HD"}
)
@@ -155,6 +169,8 @@ class TestCompletionContext(unittest.TestCase):
self.assertEqual(context.message, "Download completed successfully")
self.assertEqual(context.result_data, {"file": "episode.mp4"})
self.assertEqual(context.statistics, {"size": 1024, "time": 60})
self.assertEqual(context.key, "bleach")
self.assertEqual(context.folder, "Bleach (2004)")
self.assertEqual(context.metadata, {"quality": "HD"})
def test_completion_context_to_dict(self):
@@ -173,6 +189,8 @@ class TestCompletionContext(unittest.TestCase):
self.assertFalse(result["success"])
self.assertEqual(result["message"], "Scan failed")
self.assertEqual(result["statistics"], {})
self.assertIsNone(result["key"])
self.assertIsNone(result["folder"])
self.assertEqual(result["metadata"], {})