Class EmbeddedPgExtension
java.lang.Object
de.softwareforge.testing.postgres.junit5.EmbeddedPgExtension
- 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.ParameterResolver
public final class EmbeddedPgExtension
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.ParameterResolver
A JUnit 5 extension that manages an embedded PostgreSQL database server.
This extension can provide the EmbeddedPostgres instance, a DatabaseInfo or a DataSource object as test parameters.
- Using a
DatabaseInfoparameter is equivalent to callingcreateDatabaseInfo(). - Using a
DataSourceparameter is equivalent to callingcreateDataSource().
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder forEmbeddedPgExtensioncustomization. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor which allows using this extension with theExtendWithannotation. -
Method Summary
Modifier and TypeMethodDescriptionvoidafterAll(org.junit.jupiter.api.extension.ExtensionContext extensionContext) voidafterEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext extensionContext) voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext extensionContext) Returns a newDatabaseInfodescribing a database connection.Returns a data source.resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
Constructor Details
-
EmbeddedPgExtension
public EmbeddedPgExtension()Default constructor which allows using this extension with theExtendWithannotation.This is equivalent to using
@RegisterExtension public static EmbeddedPgExtension pg = MultiDatabaseBuilder.instanceWithDefaults().build();- Since:
- 3.0
-
-
Method Details
-
createDataSource
Returns a data source. Depending on the mode it returns a datasource connected to the same database (single mode) or a new database (multi mode) on every call.- Returns:
- A
DataSourceinstance. This is never null. - Throws:
SQLException- If a problem connecting to the database occurs.
-
createDatabaseInfo
Returns a newDatabaseInfodescribing a database connection.Depending on the mode, this either describes the same database (single mode) or a new database (multi mode).
- Returns:
- A
DatabaseInfoinstance. This is never null. - Throws:
SQLException- If a problem connecting to the database occurs.
-
beforeAll
public void beforeAll(@NonNull org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception - Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback- Throws:
Exception
-
afterAll
public void afterAll(@NonNull org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception - Specified by:
afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback- Throws:
Exception
-
beforeEach
public void beforeEach(@NonNull org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception - Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Throws:
Exception
-
afterEach
public void afterEach(@NonNull org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws Exception - Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback- Throws:
Exception
-
supportsParameter
public boolean supportsParameter(@NonNull org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) - Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
resolveParameter
public Object resolveParameter(@NonNull org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) - Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-