Package io.quarkus.test
Class QuarkusUnitTest
- java.lang.Object
-
- io.quarkus.test.QuarkusUnitTest
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.AfterEachCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.InvocationInterceptor,org.junit.jupiter.api.extension.ParameterResolver
public class QuarkusUnitTest extends Object implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.InvocationInterceptor, org.junit.jupiter.api.extension.ParameterResolver
A test extension for testing Quarkus internals, not intended for end user consumption
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.junit.jupiter.api.extension.InvocationInterceptor
org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<T extends Object>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleanstartedstatic StringTHE_BUILD_WAS_EXPECTED_TO_FAIL
-
Constructor Summary
Constructors Constructor Description QuarkusUnitTest()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description QuarkusUnitTestaddAdditionalDependency(org.jboss.shrinkwrap.api.spec.JavaArchive archive)Add the java archive as an additional dependency.QuarkusUnitTestaddBootstrapCustomizer(Consumer<io.quarkus.bootstrap.app.QuarkusBootstrap.Builder> consumer)An advanced option that allows tests to customize theQuarkusBootstrap.Builderthat will be used to create theCuratedApplicationQuarkusUnitTestaddBuildChainCustomizer(Consumer<io.quarkus.builder.BuildChainBuilder> customizer)QuarkusUnitTestaddClassLoaderEventListener(io.quarkus.bootstrap.classloading.ClassLoaderEventListener listener)voidafterAll(org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidafterEach(org.junit.jupiter.api.extension.ExtensionContext context)QuarkusUnitTestassertException(Consumer<Throwable> assertException)QuarkusUnitTestassertLogRecords(Consumer<List<LogRecord>> assertLogRecords)voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)RunnablegetAfterUndeployListener()Supplier<org.jboss.shrinkwrap.api.spec.JavaArchive>getArchiveProducer()String[]getCommandLineParameters()voidinterceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)voidinterceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)QuarkusUnitTestoverrideConfigKey(String propertyKey, String propertyValue)QuarkusUnitTestoverrideRuntimeConfigKey(String propertyKey, String propertyValue)ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)We don't actually have to resolve the parameter (thus the default values in the implementation) since the class instance that is passed to JUnit isn't really used.QuarkusUnitTestsetAfterAllCustomizer(Runnable afterAllCustomizer)QuarkusUnitTestsetAfterUndeployListener(Runnable afterUndeployListener)QuarkusUnitTestsetAllowTestClassOutsideDeployment(boolean allowTestClassOutsideDeployment)Normally access to any test classes that are not packaged in the deployment will result in a ClassNotFoundException.QuarkusUnitTestsetArchiveProducer(Supplier<org.jboss.shrinkwrap.api.spec.JavaArchive> archiveProducer)QuarkusUnitTestsetBeforeAllCustomizer(Runnable beforeAllCustomizer)QuarkusUnitTestsetCommandLineParameters(String... commandLineParameters)QuarkusUnitTestsetExpectedException(Class<? extends Throwable> expectedException)QuarkusUnitTestsetExpectedException(Class<? extends Throwable> expectedException, boolean logMessage)QuarkusUnitTestsetFlatClassPath(boolean flatClassPath)If this test should use a single ClassLoader to load all the classes.QuarkusUnitTestsetForcedDependencies(List<io.quarkus.maven.dependency.Dependency> forcedDependencies)Provides a convenient way to either add additional dependencies to the application (if it doesn't already contain a dependency), or override a version (if the dependency already exists)QuarkusUnitTestsetLogFileName(String logFileName)QuarkusUnitTestsetLogRecordPredicate(Predicate<LogRecord> predicate)booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)QuarkusUnitTestwithAdditionalDependency(Consumer<org.jboss.shrinkwrap.api.spec.JavaArchive> dependencyConsumer)Add the java archive as an additional dependency.QuarkusUnitTestwithApplicationRoot(Consumer<org.jboss.shrinkwrap.api.spec.JavaArchive> applicationRootConsumer)Customize the application root.QuarkusUnitTestwithConfigurationResource(String resourceName)QuarkusUnitTestwithEmptyApplication()Use an empty application for the teststatic QuarkusUnitTestwithSecuredConnection()
-
-
-
Field Detail
-
THE_BUILD_WAS_EXPECTED_TO_FAIL
public static final String THE_BUILD_WAS_EXPECTED_TO_FAIL
- See Also:
- Constant Field Values
-
started
boolean started
-
-
Method Detail
-
setExpectedException
public QuarkusUnitTest setExpectedException(Class<? extends Throwable> expectedException)
-
setExpectedException
public QuarkusUnitTest setExpectedException(Class<? extends Throwable> expectedException, boolean logMessage)
-
withSecuredConnection
public static QuarkusUnitTest withSecuredConnection()
-
assertException
public QuarkusUnitTest assertException(Consumer<Throwable> assertException)
-
getArchiveProducer
public Supplier<org.jboss.shrinkwrap.api.spec.JavaArchive> getArchiveProducer()
-
setArchiveProducer
public QuarkusUnitTest setArchiveProducer(Supplier<org.jboss.shrinkwrap.api.spec.JavaArchive> archiveProducer)
- Parameters:
archiveProducer-- Returns:
- self
- See Also:
withApplicationRoot(Consumer)
-
withApplicationRoot
public QuarkusUnitTest withApplicationRoot(Consumer<org.jboss.shrinkwrap.api.spec.JavaArchive> applicationRootConsumer)
Customize the application root.- Parameters:
applicationRootConsumer-- Returns:
- self
-
withEmptyApplication
public QuarkusUnitTest withEmptyApplication()
Use an empty application for the test- Returns:
- self
-
addAdditionalDependency
public QuarkusUnitTest addAdditionalDependency(org.jboss.shrinkwrap.api.spec.JavaArchive archive)
Add the java archive as an additional dependency. This dependency is always considered an application archive, even if it would not otherwise be one.- Parameters:
archive-- Returns:
- self
-
withAdditionalDependency
public QuarkusUnitTest withAdditionalDependency(Consumer<org.jboss.shrinkwrap.api.spec.JavaArchive> dependencyConsumer)
Add the java archive as an additional dependency. This dependency is always considered an application archive, even if it would not otherwise be one.- Parameters:
dependencyConsumer-- Returns:
- self
-
addBuildChainCustomizer
public QuarkusUnitTest addBuildChainCustomizer(Consumer<io.quarkus.builder.BuildChainBuilder> customizer)
-
addClassLoaderEventListener
public QuarkusUnitTest addClassLoaderEventListener(io.quarkus.bootstrap.classloading.ClassLoaderEventListener listener)
-
setLogFileName
public QuarkusUnitTest setLogFileName(String logFileName)
-
setLogRecordPredicate
public QuarkusUnitTest setLogRecordPredicate(Predicate<LogRecord> predicate)
-
setFlatClassPath
public QuarkusUnitTest setFlatClassPath(boolean flatClassPath)
If this test should use a single ClassLoader to load all the classes. This is sometimes necessary when testing Quarkus itself, and we want the test classes and Quarkus classes to be in the same CL.
-
assertLogRecords
public QuarkusUnitTest assertLogRecords(Consumer<List<LogRecord>> assertLogRecords)
-
setBeforeAllCustomizer
public QuarkusUnitTest setBeforeAllCustomizer(Runnable beforeAllCustomizer)
-
setAfterAllCustomizer
public QuarkusUnitTest setAfterAllCustomizer(Runnable afterAllCustomizer)
-
setForcedDependencies
public QuarkusUnitTest setForcedDependencies(List<io.quarkus.maven.dependency.Dependency> forcedDependencies)
Provides a convenient way to either add additional dependencies to the application (if it doesn't already contain a dependency), or override a version (if the dependency already exists)
-
getCommandLineParameters
public String[] getCommandLineParameters()
-
setCommandLineParameters
public QuarkusUnitTest setCommandLineParameters(String... commandLineParameters)
-
setAllowTestClassOutsideDeployment
public QuarkusUnitTest setAllowTestClassOutsideDeployment(boolean allowTestClassOutsideDeployment)
Normally access to any test classes that are not packaged in the deployment will result in a ClassNotFoundException. If this is true then access is allowed, which can be useful when testing shutdown behaviour.
-
addBootstrapCustomizer
public QuarkusUnitTest addBootstrapCustomizer(Consumer<io.quarkus.bootstrap.app.QuarkusBootstrap.Builder> consumer)
An advanced option that allows tests to customize theQuarkusBootstrap.Builderthat will be used to create theCuratedApplication
-
interceptBeforeAllMethod
public void interceptBeforeAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
- Specified by:
interceptBeforeAllMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptBeforeEachMethod
public void interceptBeforeEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
- Specified by:
interceptBeforeEachMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptAfterEachMethod
public void interceptAfterEachMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
- Specified by:
interceptAfterEachMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptAfterAllMethod
public void interceptAfterAllMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
- Specified by:
interceptAfterAllMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptTestMethod
public void interceptTestMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
- Specified by:
interceptTestMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
interceptTestTemplateMethod
public void interceptTestTemplateMethod(org.junit.jupiter.api.extension.InvocationInterceptor.Invocation<Void> invocation, org.junit.jupiter.api.extension.ReflectiveInvocationContext<Method> invocationContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Throwable
- Specified by:
interceptTestTemplateMethodin interfaceorg.junit.jupiter.api.extension.InvocationInterceptor- Throws:
Throwable
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception- Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback- Throws:
Exception
-
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception- Specified by:
afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback- Throws:
Exception
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception- Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback- Throws:
Exception
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception- Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Throws:
Exception
-
getAfterUndeployListener
public Runnable getAfterUndeployListener()
-
setAfterUndeployListener
public QuarkusUnitTest setAfterUndeployListener(Runnable afterUndeployListener)
-
withConfigurationResource
public QuarkusUnitTest withConfigurationResource(String resourceName)
-
overrideConfigKey
public QuarkusUnitTest overrideConfigKey(String propertyKey, String propertyValue)
-
overrideRuntimeConfigKey
public QuarkusUnitTest overrideRuntimeConfigKey(String propertyKey, String propertyValue)
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException- Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException
We don't actually have to resolve the parameter (thus the default values in the implementation) since the class instance that is passed to JUnit isn't really used. The actual test instance that is used is the one that is pulled from Arc, which of course will already have its constructor parameters properly resolved- Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver- Throws:
org.junit.jupiter.api.extension.ParameterResolutionException
-
-