MoteurImmoClientTest

15

tests

0

failures

0

ignored

0.111s

duration

100%

successful

Tests

Test Duration Result
avec cle le connecteur est arme() 0.001s passed
la reponse reelle de l API est parsee vers PropertyExtract() 0.036s passed
le chemin utilisateur complet refuse une annonce perimee() 0.022s passed
parse une reponse-exemple et mappe vers PropertyExtract() 0.014s passed
reponse illisible degrade en PARSE_ERROR sans jeter() 0.003s passed
reponse sans annonce donne Empty() 0.013s passed
sans cle fetchByUrl est inerte et ne touche jamais le reseau() 0.002s passed
sans cle le connecteur est inerte et ne touche jamais le reseau() 0.004s passed
une URL vide est refusee sans appel reseau() 0.002s passed
une annonce controlee ce matin passe() 0.001s passed
une annonce non controlee depuis des mois est ecartee() 0.004s passed
une annonce retiree de sa source est ecartee meme si controlee ce matin() 0.001s passed
une date absente ou illisible ne coupe pas le feed() 0.001s passed
une enveloppe sans annonce donne Empty et non une panne() 0.006s passed
une reponse illisible degrade proprement sans jeter() 0.001s passed

Standard output

22:38:13.726 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
22:38:13.727 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- ✅ [MoteurImmo] Annonce mappée depuis le feed — aucun scraping, aucun LLM: https://www.leboncoin.fr/ad/locations/3244591893
22:38:13.739 [Test worker] ERROR com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🧩 [MoteurImmo] Désérialisation impossible: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 1]
22:38:13.750 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 📭 [MoteurImmo] 0 annonce pour ces critères.
22:38:13.761 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 📭 [MoteurImmo] Annonce absente de la réponse: https://exemple.fr/annonce/1
22:38:13.762 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🔌 [MoteurImmo] Connecteur inerte — MOTEURIMMO_API_KEY absente, aucun appel.
22:38:13.785 [Test worker] WARN com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🗓️ [MoteurImmo] Annonce ÉCARTÉE — dernier contrôle il y a 642 jours (seuil 30) : https://x.fr/9
22:38:13.789 [Test worker] ERROR com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🧩 [MoteurImmo] Désérialisation impossible: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 1]
22:38:13.790 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
22:38:13.790 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
22:38:13.790 [Test worker] WARN com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] lastCheckDate illisible (hier) — acceptée par défaut.
22:38:13.805 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- ✅ [MoteurImmo] 2 annonces mappées (total=57)
22:38:13.807 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🔌 [MoteurImmo] Connecteur inerte — MOTEURIMMO_API_KEY absente, aucun appel.