QueueManagerTest

16

tests

0

failures

0

ignored

3.598s

duration

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