MoteurImmoClientTest

15

tests

0

failures

0

ignored

0.076s

duration

100%

successful

Tests

Test Duration Result
avec cle le connecteur est arme() 0s passed
la reponse reelle de l API est parsee vers PropertyExtract() 0.030s passed
le chemin utilisateur complet refuse une annonce perimee() 0.004s passed
parse une reponse-exemple et mappe vers PropertyExtract() 0.008s passed
reponse illisible degrade en PARSE_ERROR sans jeter() 0.002s passed
reponse sans annonce donne Empty() 0.014s passed
sans cle fetchByUrl est inerte et ne touche jamais le reseau() 0.001s passed
sans cle le connecteur est inerte et ne touche jamais le reseau() 0.001s passed
une URL vide est refusee sans appel reseau() 0.001s 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.003s passed
une date absente ou illisible ne coupe pas le feed() 0s passed
une enveloppe sans annonce donne Empty et non une panne() 0.007s passed
une reponse illisible degrade proprement sans jeter() 0.001s passed

Standard output

01:02:25.332 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
01:02:25.333 [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
01:02:25.342 [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]
01:02:25.356 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 📭 [MoteurImmo] 0 annonce pour ces critères.
01:02:25.364 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 📭 [MoteurImmo] Annonce absente de la réponse: https://exemple.fr/annonce/1
01:02:25.365 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🔌 [MoteurImmo] Connecteur inerte — MOTEURIMMO_API_KEY absente, aucun appel.
01:02:25.368 [Test worker] WARN com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🗓️ [MoteurImmo] Annonce ÉCARTÉE — dernier contrôle il y a 643 jours (seuil 30) : https://x.fr/9
01:02:25.373 [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]
01:02:25.373 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
01:02:25.373 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] Annonce sans lastCheckDate — fraîcheur invérifiable, acceptée.
01:02:25.373 [Test worker] WARN com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🕰️ [MoteurImmo] lastCheckDate illisible (hier) — acceptée par défaut.
01:02:25.382 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- ✅ [MoteurImmo] 2 annonces mappées (total=57)
01:02:25.382 [Test worker] INFO com.alertimmo.aiscraping.sourcing.MoteurImmoClient -- 🔌 [MoteurImmo] Connecteur inerte — MOTEURIMMO_API_KEY absente, aucun appel.