Drill4J / autotest-agent

Apache License 2.0
5 stars 3 forks source link

Version 0.19.4 can't upload test result to admin #97

Closed aistoica closed 2 years ago

aistoica commented 2 years ago

While running the latest version with JUnit5 or TestNG I get the following error in the autotest agent 022-02-16 21:41:52 [WINDOWS][ERROR][AutoTestAgentLogger] Can't parse tests. Reason: kotlin.IllegalStateException: Can't perform request: HttpResponse(code=500, headers={connection=keep-alive, content-length=21, content-type=text/plain; charset=UTF-8, vary=Origin}, body=Internal Server Error) at kfun:kotlin.Throwable#(kotlin.String?;kotlin.Throwable?){} (0000000050b2a260) at kfun:kotlin.Throwable#(kotlin.String?){} (0000000050b2a570) at kfun:kotlin.Exception#(kotlin.String?){} (0000000050b23fd0) at kfun:kotlin.RuntimeException#(kotlin.String?){} (0000000050b24160) at kfun:kotlin.IllegalStateException#(kotlin.String?){} (0000000050b243e0) at kfun:com.epam.drill.test.agent.actions.SessionController.dispatchAction#internal (0000000050de5520) at kfun:com.epam.drill.test.agent.actions.SessionController.sendTests#internal (0000000050de3180) at kfun:com.epam.drill.test.agent.actions.SessionController.$$lambda-0COROUTINE$0.invokeSuspend#internal (0000000050de6410) at kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} (0000000050b46b80) at kfun:kotlinx.coroutines.DispatchedTask#run(){} (0000000050d3c540) at kfun:kotlinx.coroutines.EventLoopImplBase#processNextEvent(){}kotlin.Long (0000000050d1b0a0) at kfun:kotlinx.coroutines#runEventLoop(kotlinx.coroutines.EventLoop?;kotlin.Function0){} (0000000050d4e120) at kfun:kotlinx.coroutines.WorkerCoroutineDispatcherImpl.start$lambda-0#internal (0000000050d558e0) at kfun:kotlinx.coroutines.WorkerCoroutineDispatcherImpl.$start$lambda-0$FUNCTION_REFERENCE$44.invoke#internal (0000000050d55a70) at kfun:kotlinx.coroutines.WorkerCoroutineDispatcherImpl.$start$lambda-0$FUNCTION_REFERENCE$44.$invoke(){}#internal (0000000050d55b60) at WorkerLaunchpad (0000000050b53be0) at _ZN6Worker19processQueueElementEb (0000000050ed1ed0) at _ZN12_GLOBAL__N_113workerRoutineEPv (0000000050ed1e30) at pthread_create_wrapper (0000000050ef3240) at (00007ffa89a4af3c) at (00007ffa89a4afb0) at (00007ffa884f7020) at (00007ffa8a342630)

On the admin side, i have the error 2022-02-16 21:41:53.375 [eventLoopGroupProxy-4-1] ERROR Application - 500 Internal Server Error: POST - /api/agents/medium1Tomcat/plugins/test2code/dispatch-action kotlinx.serialization.json.internal.JsonDecodingException: Encountered unknown key 'tests'. Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys. Current input: {"sessionId":"c52f0324-9312-43f8-b1c3-7ba52afa6d44","tests":[]} at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24) at kotlinx.serialization.json.internal.JsonExceptionsKt.UnknownKeyException(JsonExceptions.kt:62) at kotlinx.serialization.json.internal.JsonTreeDecoder.endStructure(TreeJsonDecoder.kt:209) at com.epam.drill.plugins.test2code.api.StopSessionPayload$$serializer.deserialize(Model.kt) at com.epam.drill.plugins.test2code.api.StopSessionPayload$$serializer.deserialize(Model.kt:49) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.decodeSerializableValue(TreeJsonDecoder.kt:51) at kotlinx.serialization.internal.TaggedDecoder.decodeSerializableValue(Tagged.kt:191) at kotlinx.serialization.internal.TaggedDecoder$decodeSerializableElement$1.invoke(Tagged.kt:256) at kotlinx.serialization.internal.TaggedDecoder.tagBlock(Tagged.kt:273) at kotlinx.serialization.internal.TaggedDecoder.decodeSerializableElement(Tagged.kt:256) at com.epam.drill.plugins.test2code.api.StopSession$$serializer.deserialize(Actions.kt) at com.epam.drill.plugins.test2code.api.StopSession$$serializer.deserialize(Actions.kt:49) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:63) at kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.decodeSerializableValue(TreeJsonDecoder.kt:51) at kotlinx.serialization.json.internal.TreeJsonDecoderKt.readPolymorphicJson(TreeJsonDecoder.kt:32) at kotlinx.serialization.json.internal.PolymorphicKt.decodeSerializableValuePolymorphic(Polymorphic.kt:73) at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:33) at kotlinx.serialization.json.Json.decodeFromString(Json.kt:85) at com.epam.drill.plugins.test2code.Plugin.parseAction(Plugin.kt:88) at com.epam.drill.plugins.test2code.Plugin.parseAction(Plugin.kt:38) at com.epam.drill.plugin.api.end.AdminPluginPart.doRawAction(AdminPluginPart.kt:34) at com.epam.drill.admin.plugin.ActionHandlerKt.processAction(ActionHandler.kt:28) at com.epam.drill.admin.endpoints.plugin.PluginDispatcher$1$2$1.invokeSuspend(PluginDispatcher.kt:106) at com.epam.drill.admin.endpoints.plugin.PluginDispatcher$1$2$1.invoke(PluginDispatcher.kt) at com.epam.drill.admin.endpoints.plugin.PluginDispatcher$1$2$$special$$inlined$post$2.invokeSuspend(Api.kt:280) at com.epam.drill.admin.endpoints.plugin.PluginDispatcher$1$2$$special$$inlined$post$2.invoke(Api.kt) at io.ktor.locations.LocationKt$handle$2.invokeSuspend(Location.kt:226) at io.ktor.locations.LocationKt$handle$2.invoke(Location.kt) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:243) at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:113) at io.ktor.util.pipeline.SuspendFunctionGun.execute(SuspendFunctionGun.kt:133) at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:79) at io.ktor.routing.Routing.executeResult(Routing.kt:155) at io.ktor.routing.Routing.interceptor(Routing.kt:39) at io.ktor.routing.Routing$Feature$install$1.invokeSuspend(Routing.kt:107) at io.ktor.routing.Routing$Feature$install$1.invoke(Routing.kt) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:243) at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:113) at io.ktor.features.ContentNegotiation$Feature$install$1.invokeSuspend(ContentNegotiation.kt:110) at io.ktor.features.ContentNegotiation$Feature$install$1.invoke(ContentNegotiation.kt) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:243) at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:113) at io.ktor.features.StatusPages$interceptCall$2.invokeSuspend(StatusPages.kt:102) at io.ktor.features.StatusPages$interceptCall$2.invoke(StatusPages.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:91) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:194) at io.ktor.features.StatusPages.interceptCall(StatusPages.kt:101) at io.ktor.features.StatusPages$Feature$install$2.invokeSuspend(StatusPages.kt:142) at io.ktor.features.StatusPages$Feature$install$2.invoke(StatusPages.kt) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:243) at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:113) at io.ktor.features.CallLogging$Feature$install$2.invokeSuspend(CallLogging.kt:139) at io.ktor.features.CallLogging$Feature$install$2.invoke(CallLogging.kt) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:243) at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:113) at io.ktor.util.pipeline.SuspendFunctionGun.execute(SuspendFunctionGun.kt:133) at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:79) at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$2.invokeSuspend(DefaultEnginePipeline.kt:124) at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$2.invoke(DefaultEnginePipeline.kt) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:243) at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:113) at io.ktor.util.pipeline.SuspendFunctionGun.execute(SuspendFunctionGun.kt:133) at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:79) at io.ktor.server.netty.NettyApplicationCallHandler$handleRequest$1.invokeSuspend(NettyApplicationCallHandler.kt:122) at io.ktor.server.netty.NettyApplicationCallHandler$handleRequest$1.invoke(NettyApplicationCallHandler.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55) at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:111) at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:158) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56) at kotlinx.coroutines.BuildersKt.launch(Unknown Source) at io.ktor.server.netty.NettyApplicationCallHandler.handleRequest(NettyApplicationCallHandler.kt:43) at io.ktor.server.netty.NettyApplicationCallHandler.channelRead(NettyApplicationCallHandler.kt:34) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:61) at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:370) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.ktor.server.netty.EventLoopGroupProxy$Companion$create$factory$1$1.run(NettyApplicationEngine.kt:227) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:829)

aistoica commented 2 years ago

I want to mention that version 0.16.2 doesn't have this problem

Mazel-Tovr commented 2 years ago

Hello, the problem is api incompatibility, try using version: admin 0.8.0-42 and test2code 0.8.0-42 if you want to use 0.19.4 or try using autotest agent version not more than 0.17.0 with your current versions

aistoica commented 2 years ago

Hey, thank you for the response. Is there a compatibility matrix somewhere?

Mazel-Tovr commented 2 years ago

Unfortunately, there is no such matrix yet, the only thing I can advise you is to take the latest releases from our website https://drill4j.github.io/docs/releases/pre-release-0-8-0-alpha/#!