MoteurImmoClientTest

15

tests

0

failures

0

ignored

0.209s

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.091s passed
le chemin utilisateur complet refuse une annonce perimee() 0.007s passed
parse une reponse-exemple et mappe vers PropertyExtract() 0.046s passed
reponse illisible degrade en PARSE_ERROR sans jeter() 0.003s passed
reponse sans annonce donne Empty() 0.015s passed
sans cle fetchByUrl est inerte et ne touche jamais le reseau() 0.021s passed
sans cle le connecteur est inerte et ne touche jamais le reseau() 0.006s passed
une URL vide est refusee sans appel reseau() 0.002s passed
une annonce controlee ce matin passe() 0s 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.002s 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.009s passed
une reponse illisible degrade proprement sans jeter() 0.001s passed

Standard output

23:34:21.514 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
23:34:21.518 [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
23:34:21.531 [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]
23:34:21.546 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 📭 [MoteurImmo] 0 annonce pour ces critères.
23:34:21.558 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 📭 [MoteurImmo] Annonce absente de la réponse: https://exemple.fr/annonce/1
23:34:21.590 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🔌 [MoteurImmo] Connecteur inerte — MOTEURIMMO_API_KEY absente, aucun appel.
23:34:21.598 [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
23:34:21.602 [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]
23:34:21.603 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
23:34:21.603 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
23:34:21.604 [Test worker] WARN com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] lastCheckDate illisible (hier) — acceptée par défaut.
23:34:21.652 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- ✅ [MoteurImmo] 2 annonces mappées (total=57)
23:34:21.655 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🔌 [MoteurImmo] Connecteur inerte — MOTEURIMMO_API_KEY absente, aucun appel.