Package org.apache.camel.test.spring
Class CamelSpringTestSupport
- java.lang.Object
-
- org.junit.Assert
-
- org.apache.camel.test.junit4.TestSupport
-
- org.apache.camel.test.junit4.CamelTestSupport
-
- org.apache.camel.test.spring.CamelSpringTestSupport
-
public abstract class CamelSpringTestSupport extends org.apache.camel.test.junit4.CamelTestSupportBase test-class for classic Spring application such as standalone, web applications. Do not use this class for Spring Boot testing, instead use@RunWith(CamelSpringBootRunner.class).
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.context.support.AbstractApplicationContextapplicationContextprotected static Objectlockprotected static ThreadLocal<org.springframework.context.support.AbstractApplicationContext>threadAppContext
-
Constructor Summary
Constructors Constructor Description CamelSpringTestSupport()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected String[]activeProfiles()Which active profiles should be used.protected abstract org.springframework.context.support.AbstractApplicationContextcreateApplicationContext()protected org.apache.camel.CamelContextcreateCamelContext()voiddoPostTearDown()voiddoPreSetup()protected Class<?>excludeRoute()Template method used to exclude aRoutefrom the test camel contextprotected Class<?>[]excludeRoutes()Template method used to excludeRoutefrom the test time context route scanning<T> TgetMandatoryBean(Class<T> type, String name)Looks up the mandatory spring bean of the given name and type, failing if it is not present or the correct typeprotected org.springframework.context.ApplicationContextgetRouteExcludingApplicationContext()Create a parent context that initializes aPackageScanClassResolverto exclude a set of given classes from being resolved.voidpostProcessTest()voidtearDown()-
Methods inherited from class org.apache.camel.test.junit4.CamelTestSupport
applyCamelPostProcessor, assertExpression, assertMockEndpointsSatisfied, assertMockEndpointsSatisfied, assertPredicate, assertResolveLanguage, assertValidContext, bindToRegistry, camelContextService, cleanupResources, consumer, context, createCamelRegistry, createExchangeWithBody, createRouteBuilder, createRouteBuilders, debugAfter, debugBefore, disableJMX, doPostSetup, doSpringBootCheck, enableJMX, fluentTemplate, getCamelContextService, getCamelTestWatcher, getMandatoryEndpoint, getMandatoryEndpoint, getMockEndpoint, getMockEndpoint, getRouteFilterExcludePattern, getRouteFilterIncludePattern, getShutdownTimeout, hasClassAnnotation, ignoreMissingLocationWithPropertiesComponent, isCreateCamelContextPerClass, isDumpRouteCoverage, isLazyLoadingTypeConverter, isMockEndpoints, isMockEndpointsAndSkip, isUseAdviceWith, isUseDebugger, isUseRouteBuilder, replaceRouteFromWith, resetMocks, resolveMandatoryEndpoint, resolveMandatoryEndpoint, sendBodies, sendBody, sendBody, setCamelContextService, setUp, setupResources, setUseRouteBuilder, startCamelContext, stopCamelContext, template, useJmx, useOverridePropertiesWithPropertiesComponent
-
Methods inherited from class org.apache.camel.test.junit4.TestSupport
assertCollectionSize, assertCollectionSize, assertDirectoryEquals, assertDirectoryEquals, assertDirectoryExists, assertEndpointUri, assertExpression, assertFileExists, assertFileNotExists, assertInMessageBodyEquals, assertInMessageHeader, assertIsInstanceOf, assertListSize, assertListSize, assertMessageHeader, assertOneElement, assertOutMessageBodyEquals, assertOutMessageHeader, assertPredicate, assertPredicateDoesNotMatch, assertPredicateMatches, assertStringContains, body, bodyAs, createDirectory, createExchangeWithBody, deleteDirectory, deleteDirectory, exchangeProperty, getJavaMajorVersion, getRouteList, getTestMethodName, getTestName, header, isJava15, isJava16, isJava17, isJava18, isJava19, isJavaVendor, isPlatform, property, resolveMandatoryEndpoint, resolveMandatoryEndpoint, systemProperty, systemProperty
-
Methods inherited from class org.junit.Assert
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertThrows, assertThrows, assertTrue, assertTrue, fail, fail
-
-
-
-
Field Detail
-
threadAppContext
protected static ThreadLocal<org.springframework.context.support.AbstractApplicationContext> threadAppContext
-
lock
protected static Object lock
-
applicationContext
protected org.springframework.context.support.AbstractApplicationContext applicationContext
-
-
Method Detail
-
createApplicationContext
protected abstract org.springframework.context.support.AbstractApplicationContext createApplicationContext()
-
postProcessTest
public void postProcessTest() throws Exception- Overrides:
postProcessTestin classorg.apache.camel.test.junit4.CamelTestSupport- Throws:
Exception
-
doPreSetup
public void doPreSetup() throws Exception- Overrides:
doPreSetupin classorg.apache.camel.test.junit4.CamelTestSupport- Throws:
Exception
-
tearDown
public void tearDown() throws Exception- Overrides:
tearDownin classorg.apache.camel.test.junit4.CamelTestSupport- Throws:
Exception
-
doPostTearDown
public void doPostTearDown() throws Exception- Overrides:
doPostTearDownin classorg.apache.camel.test.junit4.CamelTestSupport- Throws:
Exception
-
getRouteExcludingApplicationContext
protected org.springframework.context.ApplicationContext getRouteExcludingApplicationContext()
Create a parent context that initializes aPackageScanClassResolverto exclude a set of given classes from being resolved. Typically this is used at test time to exclude certain routes, which might otherwise be just noisy, from being discovered and initialized. To use this filtering mechanism it is necessary to provide theApplicationContextreturned from here as the parent context to your test context e.g.protected AbstractXmlApplicationContext createApplicationContext() { return new ClassPathXmlApplicationContext(new String[] {"test-context.xml"}, getRouteExcludingApplicationContext()); }This will, in turn, call the template methodsexcludedRoutesandexcludedRouteto determine the classes to be excluded from scanning.- Returns:
- ApplicationContext a parent
ApplicationContextconfigured to exclude certain classes from package scanning
-
excludeRoutes
protected Class<?>[] excludeRoutes()
Template method used to excludeRoutefrom the test time context route scanning- Returns:
- Class[] the classes to be excluded from test time context route scanning
-
excludeRoute
protected Class<?> excludeRoute()
Template method used to exclude aRoutefrom the test camel context
-
getMandatoryBean
public <T> T getMandatoryBean(Class<T> type, String name)
Looks up the mandatory spring bean of the given name and type, failing if it is not present or the correct type
-
activeProfiles
protected String[] activeProfiles()
Which active profiles should be used. Important: When using active profiles, then the code increateApplicationContext()should create the SpringAbstractApplicationContextwithout refreshing. For example creating anClassPathXmlApplicationContextyou would need to pass in false in the refresh parameter, in the constructor. Camel will thrown anIllegalStateExceptionif this is not correct stating this problem. The reason is that we cannot active profiles after a Spring application context has already been refreshed, and is active.- Returns:
- an array of active profiles to use, use null to not use any active profiles.
-
-