QueueManagerTest
|
100%
successful |
Tests
| Test | Duration | Result |
|---|---|---|
| should batch queue multiple files() | 2.961s | passed |
| should check batch threshold before queueing() | 0.084s | passed |
| should check threshold before queueing file() | 0.063s | passed |
| should cleanup expired locks() | 0.035s | passed |
| should detect duplicate files() | 0.023s | passed |
| should get queue statistics() | 0.039s | passed |
| should handle Redis connection failure() | 0.029s | passed |
| should handle batch queue with mixed results() | 0.048s | passed |
| should handle different priorities() | 0.037s | passed |
| should handle retry count() | 0.049s | passed |
| should move failed messages to dead letter queue() | 0.047s | passed |
| should queue file successfully() | 0.039s | passed |
| should record threshold metrics() | 0.054s | passed |
| should reject batch when would exceed threshold() | 0.026s | passed |
| should reject file when threshold exceeded() | 0.026s | passed |
| should skip threshold check when disabled() | 0.038s | passed |
Standard output
15:05:06.599 [Test worker @coroutine#114] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file1.asn1 with ID: scanner-1775549106069-1775549106488-8392 15:05:06.601 [Test worker @coroutine#115] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file2.asn1 with ID: scanner-1775549106069-1775549106601-6683 15:05:06.623 [Test worker @coroutine#116] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file3.asn1 with ID: scanner-1775549106069-1775549106622-352 15:05:06.643 [Test worker @kotlinx.coroutines.test runner#118] WARN com.quantumsoft.tia.scanner.components.QueueManager -- Queue threshold exceeded: Queue size exceeds threshold 15:05:06.681 [Test worker @coroutine#140] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file1.asn1 with ID: scanner-1775549106656-1775549106681-7528 15:05:06.719 [Test worker @coroutine#141] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file2.asn1 with ID: scanner-1775549106656-1775549106718-9565 15:05:06.723 [Test worker @coroutine#142] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file3.asn1 with ID: scanner-1775549106656-1775549106723-4182 15:05:06.756 [Test worker @kotlinx.coroutines.test runner#147] WARN com.quantumsoft.tia.scanner.components.QueueManager -- Batch queue request rejected: would exceed threshold 15:05:06.800 [Test worker @kotlinx.coroutines.test runner#154] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file.asn1 with ID: scanner-1775549106777-1775549106799-7978 15:05:06.851 [Test worker @kotlinx.coroutines.test runner#158] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file.asn1 with ID: scanner-1775549106834-1775549106851-6582 15:05:06.889 [Test worker @kotlinx.coroutines.test runner#165] WARN com.quantumsoft.tia.scanner.components.QueueManager -- Message moved to DLQ: test-queue-id, reason: Processing failed 15:05:06.954 [Test worker @kotlinx.coroutines.test runner#167] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/retry.asn1 with ID: scanner-1775549106944-1775549106953-7150 15:05:06.993 [Test worker @kotlinx.coroutines.test runner#169] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/high.asn1 with ID: scanner-1775549106978-1775549106992-7169 15:05:07.007 [Test worker @kotlinx.coroutines.test runner#169] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/low.asn1 with ID: scanner-1775549106978-1775549107006-8398 15:05:07.030 [Test worker @coroutine#172] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file1.asn1 with ID: scanner-1775549107016-1775549107029-9143 15:05:07.058 [Test worker @coroutine#174] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file3.asn1 with ID: scanner-1775549107016-1775549107058-6528 15:05:07.096 [Test worker @kotlinx.coroutines.test runner#176] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file.asn1 with ID: scanner-1775549107064-1775549107096-1124 15:05:07.141 [Test worker @kotlinx.coroutines.test runner#192] INFO com.quantumsoft.tia.scanner.components.QueueManager -- Cleaned up 2 expired locks 15:05:07.207 [Test worker @kotlinx.coroutines.test runner#196] ERROR com.quantumsoft.tia.scanner.components.QueueManager -- Failed to queue file: /test/file.asn1 java.lang.RuntimeException: Redis connection failed at com.quantumsoft.tia.scanner.components.QueueManagerTest$should handle Redis connection failure$1.invokeSuspend(QueueManagerTest.kt:268) at com.quantumsoft.tia.scanner.components.QueueManagerTest$should handle Redis connection failure$1.invoke(QueueManagerTest.kt) at com.quantumsoft.tia.scanner.components.QueueManagerTest$should handle Redis connection failure$1.invoke(QueueManagerTest.kt) at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1$1.invokeSuspend(TestBuilders.kt:316) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.test.TestDispatcher.processEvent$kotlinx_coroutines_test(TestDispatcher.kt:24) at kotlinx.coroutines.test.TestCoroutineScheduler.tryRunNextTaskUnless$kotlinx_coroutines_test(TestCoroutineScheduler.kt:99) at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1$workRunner$1.invokeSuspend(TestBuilders.kt:322) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:95) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:69) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at kotlinx.coroutines.test.TestBuildersJvmKt.createTestResult(TestBuildersJvm.kt:10) at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt.runTest-8Mi8wO0(TestBuilders.kt:310) at kotlinx.coroutines.test.TestBuildersKt.runTest-8Mi8wO0(Unknown Source) at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt.runTest-8Mi8wO0(TestBuilders.kt:168) at kotlinx.coroutines.test.TestBuildersKt.runTest-8Mi8wO0(Unknown Source) at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt.runTest-8Mi8wO0$default(TestBuilders.kt:160) at kotlinx.coroutines.test.TestBuildersKt.runTest-8Mi8wO0$default(Unknown Source) at com.quantumsoft.tia.scanner.components.QueueManagerTest.should handle Redis connection failure(QueueManagerTest.kt:257) 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:728) 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:156) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) 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:92) at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:218) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:214) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:139) 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:198) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57) 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.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:121) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) 15:05:07.263 [Test worker @kotlinx.coroutines.test runner#198] INFO com.quantumsoft.tia.scanner.components.QueueManager -- File queued successfully: /test/file.asn1 with ID: scanner-1775549107230-1775549107262-300