[ 
https://issues.apache.org/jira/browse/CAMEL-7124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Henryk Konsek resolved CAMEL-7124.
----------------------------------

    Resolution: Fixed

Spring 4 is more restrictive in the terms of accessing beans from application 
context that hasn't been refreshed already. We need to manually refresh the 
Spring context in the test before passing it to the Camel factory.

Fixed in 8cab7b1534743a480fe5a7e0bc3be52f2894465b.

> Fix TestNG tests failing with Spring 4
> --------------------------------------
>
>                 Key: CAMEL-7124
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7124
>             Project: Camel
>          Issue Type: Sub-task
>          Components: camel-spring
>            Reporter: Henryk Konsek
>            Assignee: Henryk Konsek
>             Fix For: 2.13.0
>
>
> TestNG tests are failing (1) after upgrade to Spring 4. We need to make them 
> work with both Spring 3 and Spring 4.
> {code}
> org.apache.camel.testng.patterns.DebugSpringTest.setUp (from TestSuite)
> Failing for the past 1 build (Since Unstable#1 )
> Took 11 ms.
> Error Message
> org.springframework.context.support.GenericApplicationContext@17b1683 has not 
> been refreshed yet
> Stacktrace
> java.lang.IllegalStateException: 
> org.springframework.context.support.GenericApplicationContext@17b1683 has not 
> been refreshed yet
>       at 
> org.springframework.context.support.AbstractApplicationContext.assertBeanFactoryActive(AbstractApplicationContext.java:959)
>       at 
> org.springframework.context.support.AbstractApplicationContext.getBeanNamesForType(AbstractApplicationContext.java:1050)
>       at 
> org.apache.camel.spring.SpringCamelContext.springCamelContext(SpringCamelContext.java:86)
>       at 
> org.apache.camel.testng.CamelSpringTestSupport.createCamelContext(CamelSpringTestSupport.java:164)
>       at 
> org.apache.camel.testng.CamelTestSupport.doSetUp(CamelTestSupport.java:246)
>       at 
> org.apache.camel.testng.CamelTestSupport.setUp(CamelTestSupport.java:216)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
>       at 
> org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:564)
>       at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213)
>       at org.testng.internal.Invoker.invokeMethod(Invoker.java:653)
>       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
>       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
>       at 
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
>       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
>       at org.testng.TestRunner.privateRun(TestRunner.java:767)
>       at org.testng.TestRunner.run(TestRunner.java:617)
>       at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
>       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
>       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
>       at org.testng.SuiteRunner.run(SuiteRunner.java:240)
>       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
>       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
>       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
>       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
>       at org.testng.TestNG.run(TestNG.java:1057)
>       at 
> org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:91)
>       at 
> org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:204)
>       at 
> org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:107)
>       at 
> org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:113)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> {code}
> (1) 
> https://builds.apache.org/view/A-D/view/Camel/job/Camel.trunk.fulltest.spring4/org.apache.camel$camel-testng/1/testReport/junit/org.apache.camel.testng.patterns/DebugSpringTest/setUp/



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to