citrusframework / citrus-remote Goto Github PK
View Code? Open in Web Editor NEWRemote execution of Citrus tests
License: Apache License 2.0
Remote execution of Citrus tests
License: Apache License 2.0
Citrus Version: at least 3.2.0 & 3.2.1
Expected behavior:
When a fat jar is built, started and then triggered, the http server should be started.
Actual behavior:
Tests are skipped, and an error is shown:
2022-07-07 15:27:40.436 ERROR --- [pool-2-thread-1] c.c.c.h.s.CitrusDispatcherServlet : Context initialization failed
2022-07-07T15:27:40.439671823Z org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/context]
2022-07-07T15:27:40.439680911Z Offending resource: class path resource [com/consol/citrus/http/citrus-servlet-context.xml]
2022-07-07T15:27:40.439688175Z
2022-07-07T15:27:40.439694296Z at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72)
2022-07-07T15:27:40.439700278Z at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:119)
2022-07-07T15:27:40.439707492Z at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:111)
2022-07-07T15:27:40.439715537Z at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:281)
2022-07-07T15:27:40.439737780Z at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1388)
2022-07-07T15:27:40.439744352Z at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1371)
2022-07-07T15:27:40.439750284Z at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:179)
2022-07-07T15:27:40.439756486Z at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:149)
2022-07-07T15:27:40.439762798Z at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:96)
2022-07-07T15:27:40.439770693Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:511)
2022-07-07T15:27:40.439782776Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
2022-07-07T15:27:40.439790892Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338)
2022-07-07T15:27:40.439797685Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
2022-07-07T15:27:40.439806492Z at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:196)
2022-07-07T15:27:40.439812403Z at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:232)
2022-07-07T15:27:40.439818375Z at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:203)
2022-07-07T15:27:40.439824767Z at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
2022-07-07T15:27:40.449548764Z at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
2022-07-07T15:27:40.449664286Z at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
2022-07-07T15:27:40.449763165Z at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:671)
2022-07-07T15:27:40.449857216Z at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
2022-07-07T15:27:40.449969892Z at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:702)
2022-07-07T15:27:40.450081216Z at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:668)
2022-07-07T15:27:40.450191408Z at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:716)
2022-07-07T15:27:40.450333661Z at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:591)
2022-07-07T15:27:40.451071457Z at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:530)
2022-07-07T15:27:40.451332479Z at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:170)
2022-07-07T15:27:40.451453591Z at javax.servlet.GenericServlet.init(GenericServlet.java:180)
2022-07-07T15:27:40.451555056Z at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
2022-07-07T15:27:40.451652453Z at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
2022-07-07T15:27:40.451752255Z at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:731)
2022-07-07T15:27:40.451877706Z at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
2022-07-07T15:27:40.451976335Z at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
2022-07-07T15:27:40.452075515Z at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
2022-07-07T15:27:40.452173263Z at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
2022-07-07T15:27:40.452276030Z at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
2022-07-07T15:27:40.452380010Z at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
2022-07-07T15:27:40.452480423Z at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:755)
2022-07-07T15:27:40.452576638Z at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
2022-07-07T15:27:40.452674325Z at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:910)
2022-07-07T15:27:40.452771181Z at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
2022-07-07T15:27:40.452895460Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.452990843Z at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
2022-07-07T15:27:40.453087679Z at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
2022-07-07T15:27:40.453190536Z at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
2022-07-07T15:27:40.453323261Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.453424365Z at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
2022-07-07T15:27:40.453520470Z at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
2022-07-07T15:27:40.453617596Z at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
2022-07-07T15:27:40.453712398Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.453823191Z at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
2022-07-07T15:27:40.453943302Z at org.eclipse.jetty.server.Server.start(Server.java:423)
2022-07-07T15:27:40.454040959Z at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
2022-07-07T15:27:40.454137264Z at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
2022-07-07T15:27:40.454237486Z at org.eclipse.jetty.server.Server.doStart(Server.java:387)
2022-07-07T15:27:40.454343139Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.454444524Z at com.consol.citrus.http.server.HttpServer.startup(HttpServer.java:210)
2022-07-07T15:27:40.454543504Z at com.consol.citrus.server.AbstractServer.start(AbstractServer.java:93)
2022-07-07T15:27:40.454638977Z at com.consol.citrus.server.AbstractServer.initialize(AbstractServer.java:165)
2022-07-07T15:27:40.454734871Z at com.consol.citrus.http.server.HttpServer.initialize(HttpServer.java:219)
2022-07-07T15:27:40.454832379Z at com.consol.citrus.config.ComponentLifecycleProcessor.postProcessBeforeInitialization(ComponentLifecycleProcessor.java:59)
2022-07-07T15:27:40.454956667Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
2022-07-07T15:27:40.455053373Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
2022-07-07T15:27:40.455148987Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
2022-07-07T15:27:40.455246564Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
2022-07-07T15:27:40.455355513Z at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
2022-07-07T15:27:40.455472578Z at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
2022-07-07T15:27:40.455598119Z at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
2022-07-07T15:27:40.455707399Z at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
2022-07-07T15:27:40.455809144Z at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
2022-07-07T15:27:40.455949103Z at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
2022-07-07T15:27:40.456051309Z at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
2022-07-07T15:27:40.456171730Z at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:93)
2022-07-07T15:27:40.456274518Z at com.consol.citrus.CitrusSpringContext.create(CitrusSpringContext.java:67)
2022-07-07T15:27:40.456375241Z at com.consol.citrus.CitrusSpringContextProvider.create(CitrusSpringContextProvider.java:38)
2022-07-07T15:27:40.456484100Z at com.consol.citrus.CitrusInstanceManager.newInstance(CitrusInstanceManager.java:45)
2022-07-07T15:27:40.456587749Z at com.consol.citrus.Citrus.newInstance(Citrus.java:65)
2022-07-07T15:27:40.456689124Z at com.consol.citrus.testng.spring.TestNGCitrusSpringSupport.before(TestNGCitrusSpringSupport.java:176)
2022-07-07T15:27:40.456743695Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2022-07-07T15:27:40.456760127Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2022-07-07T15:27:40.456766129Z at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2022-07-07T15:27:40.456770146Z at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2022-07-07T15:27:40.456774134Z at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
2022-07-07T15:27:40.456778262Z at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:61)
2022-07-07T15:27:40.456809973Z at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:366)
2022-07-07T15:27:40.456817016Z at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:320)
2022-07-07T15:27:40.456821385Z at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:176)
2022-07-07T15:27:40.456825072Z at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:122)
2022-07-07T15:27:40.456828639Z at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2022-07-07T15:27:40.456832306Z at org.testng.TestRunner.privateRun(TestRunner.java:764)
2022-07-07T15:27:40.456835943Z at org.testng.TestRunner.run(TestRunner.java:585)
2022-07-07T15:27:40.456839730Z at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
2022-07-07T15:27:40.456843397Z at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
2022-07-07T15:27:40.456872994Z at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
2022-07-07T15:27:40.456877813Z at org.testng.SuiteRunner.run(SuiteRunner.java:286)
2022-07-07T15:27:40.456881390Z at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
2022-07-07T15:27:40.456886259Z at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
2022-07-07T15:27:40.456889826Z at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
2022-07-07T15:27:40.456893373Z at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
2022-07-07T15:27:40.456913071Z at org.testng.TestNG.runSuites(TestNG.java:1069)
2022-07-07T15:27:40.456920255Z at org.testng.TestNG.run(TestNG.java:1037)
2022-07-07T15:27:40.456924553Z at com.consol.citrus.testng.TestNGEngine.run(TestNGEngine.java:151)
2022-07-07T15:27:40.456928320Z at com.consol.citrus.main.CitrusApp.run(CitrusApp.java:125)
2022-07-07T15:27:40.456931887Z at com.consol.citrus.remote.controller.RunController.run(RunController.java:107)
2022-07-07T15:27:40.456935303Z at com.consol.citrus.remote.controller.RunController.runPackages(RunController.java:75)
2022-07-07T15:27:40.456938930Z at com.consol.citrus.remote.controller.RunController.runAll(RunController.java:60)
2022-07-07T15:27:40.456942587Z at com.consol.citrus.remote.CitrusRemoteApplication.runTests(CitrusRemoteApplication.java:262)
2022-07-07T15:27:40.456946535Z at com.consol.citrus.remote.CitrusRemoteApplication$1.run(CitrusRemoteApplication.java:215)
2022-07-07T15:27:40.456950182Z at com.consol.citrus.remote.job.RunJob.call(RunJob.java:43)
2022-07-07T15:27:40.456953729Z at com.consol.citrus.remote.job.RunJob.call(RunJob.java:29)
2022-07-07T15:27:40.456957416Z at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
2022-07-07T15:27:40.456960973Z at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
2022-07-07T15:27:40.456964650Z at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
2022-07-07T15:27:40.456968347Z at java.base/java.lang.Thread.run(Thread.java:833)
2022-07-07T15:27:40.456971984Z 2022-07-07 15:27:40.440 WARN --- [pool-2-thread-1] o.e.j.s.h.C.ROOT : unavailable
2022-07-07T15:27:40.456976232Z org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/context]
2022-07-07T15:27:40.456980119Z Offending resource: class path resource [com/consol/citrus/http/citrus-servlet-context.xml]
2022-07-07T15:27:40.456983807Z
2022-07-07T15:27:40.456987123Z at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72)
2022-07-07T15:27:40.456990900Z at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:119)
2022-07-07T15:27:40.456994527Z at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:111)
2022-07-07T15:27:40.456997924Z at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:281)
2022-07-07T15:27:40.457001911Z at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1388)
2022-07-07T15:27:40.457006450Z at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1371)
2022-07-07T15:27:40.457010498Z at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:179)
2022-07-07T15:27:40.457019495Z at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:149)
2022-07-07T15:27:40.457023553Z at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:96)
2022-07-07T15:27:40.457027250Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:511)
2022-07-07T15:27:40.457030767Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
2022-07-07T15:27:40.457060804Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:338)
2022-07-07T15:27:40.457069070Z at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
2022-07-07T15:27:40.457073298Z at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:196)
2022-07-07T15:27:40.457077246Z at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:232)
2022-07-07T15:27:40.457081214Z at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:203)
2022-07-07T15:27:40.457084881Z at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125)
2022-07-07T15:27:40.457088638Z at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
2022-07-07T15:27:40.457092395Z at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
2022-07-07T15:27:40.457096363Z at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:671)
2022-07-07T15:27:40.457100160Z at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
2022-07-07T15:27:40.457106001Z at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:702)
2022-07-07T15:27:40.457109979Z at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:668)
2022-07-07T15:27:40.457114928Z at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:716)
2022-07-07T15:27:40.457118525Z at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:591)
2022-07-07T15:27:40.457121862Z at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:530)
2022-07-07T15:27:40.457125619Z at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:170)
2022-07-07T15:27:40.457134887Z at javax.servlet.GenericServlet.init(GenericServlet.java:180)
2022-07-07T15:27:40.457139065Z at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
2022-07-07T15:27:40.457142832Z at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
2022-07-07T15:27:40.457146449Z at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:731)
2022-07-07T15:27:40.457150006Z at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
2022-07-07T15:27:40.457153532Z at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
2022-07-07T15:27:40.457157199Z at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
2022-07-07T15:27:40.457160877Z at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
2022-07-07T15:27:40.457164774Z at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
2022-07-07T15:27:40.457168431Z at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
2022-07-07T15:27:40.457172138Z at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:755)
2022-07-07T15:27:40.457175705Z at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
2022-07-07T15:27:40.457179502Z at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:910)
2022-07-07T15:27:40.457183169Z at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
2022-07-07T15:27:40.457186786Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.457190273Z at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
2022-07-07T15:27:40.457194772Z at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
2022-07-07T15:27:40.457198549Z at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
2022-07-07T15:27:40.457202336Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.457206224Z at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
2022-07-07T15:27:40.457209911Z at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
2022-07-07T15:27:40.457213528Z at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
2022-07-07T15:27:40.457217074Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.457220571Z at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
2022-07-07T15:27:40.457224068Z at org.eclipse.jetty.server.Server.start(Server.java:423)
2022-07-07T15:27:40.457231612Z at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
2022-07-07T15:27:40.457235500Z at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
2022-07-07T15:27:40.457239217Z at org.eclipse.jetty.server.Server.doStart(Server.java:387)
2022-07-07T15:27:40.457242674Z at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
2022-07-07T15:27:40.457246250Z at com.consol.citrus.http.server.HttpServer.startup(HttpServer.java:210)
2022-07-07T15:27:40.457249807Z at com.consol.citrus.server.AbstractServer.start(AbstractServer.java:93)
2022-07-07T15:27:40.457253364Z at com.consol.citrus.server.AbstractServer.initialize(AbstractServer.java:165)
2022-07-07T15:27:40.457256871Z at com.consol.citrus.http.server.HttpServer.initialize(HttpServer.java:219)
2022-07-07T15:27:40.457260358Z at com.consol.citrus.config.ComponentLifecycleProcessor.postProcessBeforeInitialization(ComponentLifecycleProcessor.java:59)
2022-07-07T15:27:40.457264255Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
2022-07-07T15:27:40.457268183Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
2022-07-07T15:27:40.457271749Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
2022-07-07T15:27:40.457276218Z at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
2022-07-07T15:27:40.457280035Z at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
2022-07-07T15:27:40.457283712Z at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
2022-07-07T15:27:40.457287430Z at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
2022-07-07T15:27:40.457290846Z at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
2022-07-07T15:27:40.457294623Z at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:953)
2022-07-07T15:27:40.457298330Z at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
2022-07-07T15:27:40.457302098Z at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
2022-07-07T15:27:40.457305745Z at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:93)
2022-07-07T15:27:40.457309752Z at com.consol.citrus.CitrusSpringContext.create(CitrusSpringContext.java:67)
2022-07-07T15:27:40.457313279Z at com.consol.citrus.CitrusSpringContextProvider.create(CitrusSpringContextProvider.java:38)
2022-07-07T15:27:40.457321074Z at com.consol.citrus.CitrusInstanceManager.newInstance(CitrusInstanceManager.java:45)
2022-07-07T15:27:40.457325002Z at com.consol.citrus.Citrus.newInstance(Citrus.java:65)
2022-07-07T15:27:40.457328679Z at com.consol.citrus.testng.spring.TestNGCitrusSpringSupport.before(TestNGCitrusSpringSupport.java:176)
2022-07-07T15:27:40.457332276Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2022-07-07T15:27:40.457335822Z at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
2022-07-07T15:27:40.457339399Z at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2022-07-07T15:27:40.457343126Z at java.base/java.lang.reflect.Method.invoke(Method.java:568)
2022-07-07T15:27:40.457346443Z at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
2022-07-07T15:27:40.457350070Z at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:61)
2022-07-07T15:27:40.457353787Z at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:366)
2022-07-07T15:27:40.457358686Z at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:320)
2022-07-07T15:27:40.457362383Z at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:176)
2022-07-07T15:27:40.457365910Z at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:122)
2022-07-07T15:27:40.457369357Z at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
2022-07-07T15:27:40.457372854Z at org.testng.TestRunner.privateRun(TestRunner.java:764)
2022-07-07T15:27:40.457376480Z at org.testng.TestRunner.run(TestRunner.java:585)
2022-07-07T15:27:40.457380047Z at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
2022-07-07T15:27:40.457383634Z at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
2022-07-07T15:27:40.457387141Z at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
2022-07-07T15:27:40.457390628Z at org.testng.SuiteRunner.run(SuiteRunner.java:286)
2022-07-07T15:27:40.457394134Z at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
2022-07-07T15:27:40.457397681Z at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
2022-07-07T15:27:40.457401388Z at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
2022-07-07T15:27:40.457404865Z at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
2022-07-07T15:27:40.457408372Z at org.testng.TestNG.runSuites(TestNG.java:1069)
2022-07-07T15:27:40.457411909Z at org.testng.TestNG.run(TestNG.java:1037)
2022-07-07T15:27:40.457415475Z at com.consol.citrus.testng.TestNGEngine.run(TestNGEngine.java:151)
2022-07-07T15:27:40.457423511Z at com.consol.citrus.main.CitrusApp.run(CitrusApp.java:125)
2022-07-07T15:27:40.457427408Z at com.consol.citrus.remote.controller.RunController.run(RunController.java:107)
2022-07-07T15:27:40.457430955Z at com.consol.citrus.remote.controller.RunController.runPackages(RunController.java:75)
2022-07-07T15:27:40.457434562Z at com.consol.citrus.remote.controller.RunController.runAll(RunController.java:60)
2022-07-07T15:27:40.457438219Z at com.consol.citrus.remote.CitrusRemoteApplication.runTests(CitrusRemoteApplication.java:262)
2022-07-07T15:27:40.457442267Z at com.consol.citrus.remote.CitrusRemoteApplication$1.run(CitrusRemoteApplication.java:215)
2022-07-07T15:27:40.457445713Z at com.consol.citrus.remote.job.RunJob.call(RunJob.java:43)
2022-07-07T15:27:40.457449350Z at com.consol.citrus.remote.job.RunJob.call(RunJob.java:29)
2022-07-07T15:27:40.457453017Z at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
2022-07-07T15:27:40.457456534Z at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
2022-07-07T15:27:40.457460131Z at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
2022-07-07T15:27:40.457463748Z at java.base/java.lang.Thread.run(Thread.java:833)
2022-07-07T15:27:40.460245673Z 2022-07-07 15:27:40.457 WARN --- [pool-2-thread-1] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fooServer' defined in class path resource [de/turing85/citrus/tests/citrus/configuration/HttpServers.class]: Initialization of bean failed; nested exception is com.consol.citrus.exceptions.CitrusRuntimeException: javax.servlet.ServletException: fooServer-servlet==com.consol.citrus.http.servlet.CitrusDispatcherServlet@6b7c7821{jsp=null,order=-1,inst=true,async=true,src=EMBEDDED:null,STARTED}
2022-07-07T15:27:40.563627961Z
2022-07-07T15:27:40.563678337Z ===============================================
2022-07-07T15:27:40.563692665Z Default Suite
2022-07-07T15:27:40.563698717Z Total tests run: 1, Passes: 0, Failures: 0, Skips: 1
2022-07-07T15:27:40.563702404Z Configuration Failures: 3, Skips: 0
2022-07-07T15:27:40.563706972Z ===============================================
2022-07-07T15:27:40.563710209Z
2022-07-07T15:27:40.902364645Z 2022-07-07 15:27:40.901 INFO --- [tp1875706559-24] c.c.c.r.CitrusRemoteApplication : GET http://localhost:4567/results/files
2022-07-07T15:27:40.912969404Z 2022-07-07 15:27:40.912 INFO --- [tp1875706559-25] c.c.c.r.CitrusRemoteApplication : GET http://localhost:4567/results/suite
2022-07-07T15:27:40.924088634Z 2022-07-07 15:27:40.923 INFO --- [tp1875706559-24] c.c.c.r.CitrusRemoteApplication : GET http://localhost:4567/results/file/TEST-de.turing85.citrus.tests.citrus.GetHelloIT.xml
Reproducer:
./mwnv -P build-test-jar package
docker compose
: cd local-deployment && docker compose up -d --build && cd ..
./mvnw -f citrus verify
./mvnw -f citrus -P trigger-citrus-remote verify
citrus-tests
container.Citrus Version: 3.2.1
Expected behavior:
When we trigger tests asynchronously through the citrus-remote-maven-plugin
, we can normally see a simple ascii progress bar with the state of all test cases executed so far:
Actual behavior:
The progress bar is empty until the test execution was triggered once and succeded. If the tests are re-run again, they will show the results of the previous run with each poll.
Reproducer:
checkout this git-repository
build service and tests:
./mvnw -Pbuild-citrus-jar package
deploy service and tests:
cd local-deployment && docker compose up -d && cd ..
trigger the tests through the citrus-maven-remote-plugin
:
./mvn -Ptrigger-citrus-remote -pl citrus verify
notice that with each tick, we get an empty line:
[INFO] --- citrus-remote-maven-plugin:3.2.1:test (trigger-citrus-remote) @ citrus-playground-citrus ---
[INFO] Waiting for remote tests to finish ...
[INFO]
[INFO] Waiting for remote tests to finish ...
[INFO]
[INFO] Waiting for remote tests to finish ...
[INFO]
[INFO]
re-trigger the tests once more:
./mvn -Ptrigger-citrus-remote -pl citrus verify
notice that we see the results of the previous run with each tick:
[INFO] --- citrus-remote-maven-plugin:3.2.1:test (trigger-citrus-remote) @ citrus-playground-citrus ---
[INFO] Waiting for remote tests to finish ...
[INFO] +++
[INFO] Waiting for remote tests to finish ...
[INFO] +++
[INFO] Waiting for remote tests to finish ...
[INFO] +++
[INFO]
Additional information:
The behavior is most likely triggered by the fact that
curl -H 'Accept: application/json' http://localhost:4567/results
returns
[ ]%
before and during the 1st execution, and
[ {
"testName" : "GetHealthIT.getHealth",
"testClass" : "de.turing85.citrus.tests.citrus.GetHealthIT",
"cause" : null,
"errorMessage" : null,
"failureStack" : null,
"success" : true,
"failed" : false,
"skipped" : false
}, {
"testName" : "GetHelloIT.getHello",
"testClass" : "de.turing85.citrus.tests.citrus.GetHelloIT",
"cause" : null,
"errorMessage" : null,
"failureStack" : null,
"success" : true,
"failed" : false,
"skipped" : false
}, {
"testName" : "GetMetricsIT.getMetrics",
"testClass" : "de.turing85.citrus.tests.citrus.GetMetricsIT",
"cause" : null,
"errorMessage" : null,
"failureStack" : null,
"success" : true,
"failed" : false,
"skipped" : false
} ]%
afterwards. This, in return, is most probaly triggered by the fact that remoteResultFuture
in CitrusRemoteApplication
is not initialized.
Citrus Version : 3.2.1, 3.3.0
Expected behavior:
When we use log4j2-plugins, e.g the JsonTemplateFormat
, the plugin should work.
Actual behavior:
On application startup, we see the following messages in the console:
Picked up JAVA_TOOL_OPTIONS: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
Listening for transport dt_socket at address: 5005
2022-09-26 17:14:14,520 main ERROR Unable to locate plugin type for JsonTemplateLayout
2022-09-26 17:14:14,555 main ERROR Unable to locate plugin for JsonTemplateLayout
2022-09-26 17:14:14,562 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.appender.ConsoleAppender for element Console: java.lang.NullPointerException: Cannot invoke "org.apache.logging.log4j.core.config.plugins.util.PluginType.getElementName()" because "childType" is null java.lang.NullPointerException: Cannot invoke "org.apache.logging.log4j.core.config.plugins.util.PluginType.getElementName()" because "childType" is null
at org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.findNamedNode(PluginElementVisitor.java:104)
at org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:88)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.injectFields(PluginBuilder.java:189)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:123)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
at com.consol.citrus.remote.CitrusRemoteServer.<clinit>(CitrusRemoteServer.java:37)
2022-09-26 17:14:14,564 main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.ConsoleAppender for element Console: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.ConsoleAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.ConsoleAppender
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:238)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:136)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)
at com.consol.citrus.remote.CitrusRemoteServer.<clinit>(CitrusRemoteServer.java:37)
2022-09-26 17:14:14,582 main ERROR Null object returned for Console in Appenders.
2022-09-26 17:14:14,582 main ERROR Unable to locate appender "STDOUT" for logger config "root"
Reproducer:
checkout this git-repository, switch to branch [jog4j2-plugin-not-working]
build service and tests:
./mvnw -Pbuild-test-jar package
deploy the service:
cd local-deployment && docker compose up -d service && cd ..
trigger the tests through failsafe:
./mvnw -pl citrus verify
observe that the tests succeed
deploy the citrus tests:
cd local-deployment && docker compose up -d citrus-tests && cd ..
observe the error in the container logs through
docker logs citrus-tests-citrus-tests-1
Logs of the successful, local run:
citrus-reports-from-surefire-successful.tar.gz
Additional information:
There is this maven-shade transformer, describing a similar (or possibly the same?) issue.
Citrus Version: 3.4.0 (earlier version probably as well)
Expected behavior
Test case fails and citrus report an error, or test case succeeds and citrus succeeds.
Actual behavior
Test case fails, but citrus succeeds.
Test case sample
git clone https://github.com/turing85/citrus-playground.git
cd citrus-playground
git fetch
git switch bug/test-fails-wrongly-citrus-succeeds
./mvnw clean package
docker-compose
,
docker-compose -f local-deployment/docker-compose.yml up --build --detach
service
-logs:
docker logs -f service
citrus
-logs:
docker logs -f citrus-tests
cd citrus-playground
./mvnw --projects citrus --activate-profiles trigger-citrus-remote verify
citrus-remote-maven-plugin
succeeds:
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< de.turing85:citrus-playground-citrus >----------------
[INFO] Building Citrus Playground :: Citrus 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- citrus-remote-maven-plugin:3.4.0:test (trigger-citrus-remote) @ citrus-playground-citrus ---
[INFO] Waiting for remote tests to finish ...
[INFO]
[INFO]
INFO | ------------------------------------------------------------------------
INFO |
INFO | CITRUS TEST RESULTS
INFO |
INFO | GetMetricsIT.getMetrics ........................................ SUCCESS
INFO | GetHealthIT.getHealth .......................................... SUCCESS
INFO | GetHelloIT.getHello ............................................ SUCCESS
INFO |
INFO | TOTAL: 3
INFO | FAILED: 0 (0.0%)
INFO | SUCCESS: 3 (100.0%)
INFO |
INFO | ------------------------------------------------------------------------
...
citrus-tests
-container throws a MessageTimeoutException
, but the test still succeeds:
...
2023-05-29 00:56:59.089 INFO --- [pool-2-thread-1] c.c.c.h.c.HttpClient : Sending HTTP message to: 'http://service:8080/hello'
2023-05-29 00:56:59.578 INFO --- [qtp634221858-26] c.c.c.r.CitrusRemoteApplication : GET http://localhost:4567/results?timeout=15000
2023-05-29 00:57:00.090 WARN --- [cTaskExecutor-1] c.c.c.a.AbstractAsyncTestAction : Async test action execution raised error
com.consol.citrus.exceptions.MessageTimeoutException: Action timeout after 1000 milliseconds. Failed to receive message on endpoint: 'httpServer.inbound'
at com.consol.citrus.endpoint.direct.DirectConsumer.receive(DirectConsumer.java:69)
at com.consol.citrus.endpoint.direct.DirectSyncConsumer.receive(DirectSyncConsumer.java:41)
at com.consol.citrus.messaging.AbstractSelectiveMessageConsumer.receive(AbstractSelectiveMessageConsumer.java:50)
at com.consol.citrus.actions.ReceiveMessageAction.receive(ReceiveMessageAction.java:178)
at com.consol.citrus.actions.ReceiveMessageAction.doExecute(ReceiveMessageAction.java:160)
at com.consol.citrus.actions.AbstractTestAction.execute(AbstractTestAction.java:59)
at com.consol.citrus.container.AbstractActionContainer.executeAction(AbstractActionContainer.java:71)
at com.consol.citrus.container.Async$1.doExecuteAsync(Async.java:60)
at com.consol.citrus.actions.AbstractAsyncTestAction.lambda$doExecute$0(AbstractAsyncTestAction.java:51)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
2023-05-29 00:57:00.091 INFO --- [cTaskExecutor-1] c.c.c.c.Async : Apply error actions after async container ...
2023-05-29 00:57:00.313 INFO --- [ qtp38350903-43] c.c.c.e.d.DirectSyncProducer : Message was sent to queue: 'httpServer.inbound'
2023-05-29 00:57:01.314 WARN --- [ qtp38350903-43] c.c.c.e.d.DirectEndpointAdapter : Action timeout after 1000 milliseconds. Failed to receive synchronous reply message on endpoint: 'httpServer.inbound'
2023-05-29 00:57:01.833 INFO --- [pool-2-thread-1] c.c.c.h.c.HttpClient : HTTP message was sent to endpoint: 'http://service:8080/hello'
2023-05-29 00:57:01.834 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter :
2023-05-29 00:57:01.835 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : TEST SUCCESS GetHelloIT.getHello (de.turing85.citrus.tests.citrus)
...
2023-05-29 00:57:03.346 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : CITRUS TEST RESULTS
2023-05-29 00:57:03.346 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter :
2023-05-29 00:57:03.347 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : GetHealthIT.getHealth .......................................... SUCCESS
2023-05-29 00:57:03.347 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : GetHelloIT.getHello ............................................ SUCCESS
2023-05-29 00:57:03.348 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : GetMetricsIT.getMetrics ........................................ SUCCESS
2023-05-29 00:57:03.348 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter :
2023-05-29 00:57:03.348 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : TOTAL: 3
2023-05-29 00:57:03.351 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : FAILED: 0 (0.0%)
2023-05-29 00:57:03.351 INFO --- [pool-2-thread-1] c.c.c.r.LoggingReporter : SUCCESS: 3 (100.0%)
...
===============================================
Default Suite
Total tests run: 3, Passes: 2, Failures: 1, Skips: 0
===============================================
...
service
-logs that the service sends an empty string as repsonse:
2023-05-29 00:57:01,339 INFO [de.tur.cit.tes.ser.HelloEndpoint] (executor-thread-1) sending "" as response
github.com
)Additional Information
If debugging is necessary, a debugger can be attached to the service
-container (port 5006
), as well as the citrus
-container (port 5007
)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.