Improve mobile.de detail parsing

This commit is contained in:
qananasikq
2026-08-20 13:13:00 +03:00
parent cb49420bb2
commit be19d29a1d
6 changed files with 238 additions and 106 deletions
+2 -14
View File
@@ -15,21 +15,16 @@ class TestMobileDeEnrichment(unittest.TestCase):
defaults = RuntimeMobileDeEnrichmentConfig.from_dict(None)
self.assertTrue(defaults.enabled)
self.assertEqual(defaults.batch_size, 10)
self.assertEqual(defaults.max_existing_images, 1)
self.assertEqual(defaults.staleness_hours, 168)
configured = RuntimeMobileDeEnrichmentConfig.from_dict({
"enabled": False,
"batch_size": 5,
"max_existing_images": 2,
"staleness_hours": 24,
"delay_seconds": 0.25,
})
self.assertFalse(configured.enabled)
self.assertEqual(configured.batch_size, 5)
self.assertEqual(configured.max_existing_images, 2)
self.assertEqual(configured.staleness_hours, 24)
self.assertEqual(configured.delay_seconds, 0.25)
def test_celery_routes_and_schedules_enrichment_on_images_queue(self) -> None:
routes = celery_app.conf.task_routes
@@ -43,13 +38,11 @@ class TestMobileDeEnrichment(unittest.TestCase):
enrichment = SimpleNamespace(
enabled=True,
batch_size=2,
max_existing_images=1,
staleness_hours=48,
delay_seconds=0.0,
)
runtime_config = SimpleNamespace(mobilede=SimpleNamespace(enrichment=enrichment))
redis_client = MagicMock()
redis_client.scard.return_value = 0
redis_client.zcard.return_value = 0
persistence = MagicMock()
persistence.get_active_cars_batch_for_image_enrich.return_value = [
(1, "mobile.de:111", "https://suchen.mobile.de/fahrzeuge/details.html?id=111", 3),
@@ -73,7 +66,6 @@ class TestMobileDeEnrichment(unittest.TestCase):
self.assertEqual(result["queued"], 2)
selector_kwargs = persistence.get_active_cars_batch_for_image_enrich.call_args.kwargs
self.assertEqual(selector_kwargs["limit"], 2)
self.assertEqual(selector_kwargs["max_existing_images"], 1)
self.assertIsNone(selector_kwargs["stale_before"])
queue_details.assert_called_once()
@@ -81,13 +73,11 @@ class TestMobileDeEnrichment(unittest.TestCase):
enrichment = SimpleNamespace(
enabled=True,
batch_size=1,
max_existing_images=1,
staleness_hours=48,
delay_seconds=0.0,
)
runtime_config = SimpleNamespace(mobilede=SimpleNamespace(enrichment=enrichment))
redis_client = MagicMock()
redis_client.scard.return_value = 750
redis_client.zcard.return_value = 750
persistence = MagicMock()
with (
@@ -107,9 +97,7 @@ class TestMobileDeEnrichment(unittest.TestCase):
enrichment = SimpleNamespace(
enabled=False,
batch_size=1,
max_existing_images=1,
staleness_hours=48,
delay_seconds=0.0,
)
runtime_config = SimpleNamespace(mobilede=SimpleNamespace(enrichment=enrichment))