MarketTensionServiceTest
Tests
| Test |
Duration |
Result |
| aucune ligne retournee -- DEFAULT (donnees insuffisantes, HAVING non satisfait)() |
0.001s |
passed |
| code postal non conforme -- DEFAULT sans jamais requeter la base() |
0.001s |
passed |
| code postal trop court -- DEFAULT sans jamais requeter la base() |
0.001s |
passed |
| le code postal brut est transmis tel quel en premier argument de requete() |
0.002s |
passed |
| le type brut est normalise en type_local DVF avant d'interroger la base() |
0.003s |
passed |
| modulate applique l'atoutMultiplier pour une valeur positive et arrondit au dixieme() |
0s |
passed |
| modulate applique le defautMultiplier pour une valeur negative et arrondit au dixieme() |
0.001s |
passed |
| modulate avec multiplicateurs neutres -- valeur inchangee (INTERMEDIAIRE ou DEFAULT)() |
0s |
passed |
| modulate en marche detendu -- atouts attenues, defauts amplifies() |
0s |
passed |
| modulate traite zero comme un atout (branche positive, pas negative)() |
0.001s |
passed |
| prix a exactement la borne basse du detendu -- INTERMEDIAIRE (borne 2000 stricte)() |
0.002s |
passed |
| prix bas -- DETENDU quel que soit le volume de transactions() |
0.001s |
passed |
| prix eleve seul suffit -- TENDU quel que soit le volume de transactions() |
0.001s |
passed |
| prix intermediaire et forte activite -- TENDU (bornes 2500 et 50 incluses)() |
0.216s |
passed |
| prix intermediaire mais activite juste insuffisante -- INTERMEDIAIRE (borne 50 stricte)() |
0.002s |
passed |
| prix juste sous le seuil intermediaire -- INTERMEDIAIRE meme avec un volume enorme() |
0.001s |
passed |
| une base injoignable -- DEFAULT, jamais d'exception qui fuit() |
0.003s |
passed |
Standard output
20:41:15.133 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] 69003/Appartement: 2500€/m², 50 tx/an → TENDU (atout×1.3, défaut×0.7)
20:41:15.137 [Test worker] WARN com.alertimmo.aiscraping.enrichment.MarketTensionService -- ⚠️ [Tension] SQL error: connection refused
java.lang.RuntimeException: connection refused
at com.alertimmo.aiscraping.enrichment.MarketTensionServiceTest.stubError(MarketTensionServiceTest.kt:49)
at com.alertimmo.aiscraping.enrichment.MarketTensionServiceTest.une base injoignable -- DEFAULT, jamais d'exception qui fuit(MarketTensionServiceTest.kt:90)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:775)
at org.junit.platform.commons.support.ReflectionSupport.invokeMethod(ReflectionSupport.java:479)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:161)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:152)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:91)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:112)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:94)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:93)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:87)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:216)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:212)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:156)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:160)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:146)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:144)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:100)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:201)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:170)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:94)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:59)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:142)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:58)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
at org.junit.platform.launcher.core.InterceptingLauncher.lambda$execute$1(InterceptingLauncher.java:39)
at org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor.intercept(ClasspathAlignmentCheckingLauncherInterceptor.java:25)
at org.junit.platform.launcher.core.InterceptingLauncher.execute(InterceptingLauncher.java:38)
at org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:124)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:99)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:94)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:63)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
at jdk.proxy1/jdk.proxy1.$Proxy4.stop(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:200)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:132)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:103)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:63)
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:122)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:72)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
20:41:15.139 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] Données insuffisantes pour 69003 — niveau INTERMEDIAIRE par défaut
20:41:15.141 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] 69003/Appartement: 2000€/m², 0 tx/an → INTERMEDIAIRE (atout×1.0, défaut×1.0)
20:41:15.144 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] Données insuffisantes pour 69003 — niveau INTERMEDIAIRE par défaut
20:41:15.147 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] 69003/Appartement: 1999€/m², 1000 tx/an → DETENDU (atout×0.7, défaut×1.3)
20:41:15.149 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] 69003/Appartement: 2500€/m², 49 tx/an → INTERMEDIAIRE (atout×1.0, défaut×1.0)
20:41:15.152 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] Données insuffisantes pour 69003 — niveau INTERMEDIAIRE par défaut
20:41:15.155 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] Données insuffisantes pour 69003 — niveau INTERMEDIAIRE par défaut
20:41:15.158 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] 69003/Appartement: 4000€/m², 0 tx/an → TENDU (atout×1.3, défaut×0.7)
20:41:15.160 [Test worker] INFO com.alertimmo.aiscraping.enrichment.MarketTensionService -- 📊 [Tension] 69003/Appartement: 2499€/m², 1000000 tx/an → INTERMEDIAIRE (atout×1.0, défaut×1.0)