Run tests using single vertx instance (#9587)

This commit is contained in:
Lauri Tulmin 2023-10-03 08:50:19 +03:00 committed by GitHub
parent 27f8b5abc6
commit e349846a32
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 6 deletions

View File

@ -45,6 +45,7 @@ class HibernateReactiveTest {
@RegisterExtension @RegisterExtension
protected static final InstrumentationExtension testing = AgentInstrumentationExtension.create(); protected static final InstrumentationExtension testing = AgentInstrumentationExtension.create();
private static final Vertx vertx = Vertx.vertx();
private static GenericContainer<?> container; private static GenericContainer<?> container;
private static int port; private static int port;
private static EntityManagerFactory entityManagerFactory; private static EntityManagerFactory entityManagerFactory;
@ -52,7 +53,7 @@ class HibernateReactiveTest {
private static Stage.SessionFactory stageSessionFactory; private static Stage.SessionFactory stageSessionFactory;
@BeforeAll @BeforeAll
static void setUp() { static void setUp() throws Exception {
container = container =
new GenericContainer<>("postgres:9.6.8") new GenericContainer<>("postgres:9.6.8")
.withEnv("POSTGRES_USER", USER_DB) .withEnv("POSTGRES_USER", USER_DB)
@ -66,7 +67,14 @@ class HibernateReactiveTest {
port = container.getMappedPort(5432); port = container.getMappedPort(5432);
System.setProperty("db.port", String.valueOf(port)); System.setProperty("db.port", String.valueOf(port));
entityManagerFactory = Persistence.createEntityManagerFactory("test-pu"); entityManagerFactory =
vertx
.getOrCreateContext()
.<EntityManagerFactory>executeBlocking(
promise -> promise.complete(Persistence.createEntityManagerFactory("test-pu")))
.toCompletionStage()
.toCompletableFuture()
.get(30, TimeUnit.SECONDS);
Value value = new Value("name"); Value value = new Value("name");
value.setId(1L); value.setId(1L);
@ -91,6 +99,7 @@ class HibernateReactiveTest {
if (stageSessionFactory != null) { if (stageSessionFactory != null) {
stageSessionFactory.close(); stageSessionFactory.close();
} }
vertx.close();
container.stop(); container.stop();
} }
@ -270,7 +279,7 @@ class HibernateReactiveTest {
} }
private static void runWithVertx(Runnable runnable) { private static void runWithVertx(Runnable runnable) {
Vertx.vertx().getOrCreateContext().runOnContext(event -> runnable.run()); vertx.getOrCreateContext().runOnContext(event -> runnable.run());
} }
private static void complete( private static void complete(

View File

@ -45,6 +45,7 @@ class HibernateReactiveTest {
@RegisterExtension @RegisterExtension
protected static final InstrumentationExtension testing = AgentInstrumentationExtension.create(); protected static final InstrumentationExtension testing = AgentInstrumentationExtension.create();
private static final Vertx vertx = Vertx.vertx();
private static GenericContainer<?> container; private static GenericContainer<?> container;
private static int port; private static int port;
private static EntityManagerFactory entityManagerFactory; private static EntityManagerFactory entityManagerFactory;
@ -52,7 +53,7 @@ class HibernateReactiveTest {
private static Stage.SessionFactory stageSessionFactory; private static Stage.SessionFactory stageSessionFactory;
@BeforeAll @BeforeAll
static void setUp() { static void setUp() throws Exception {
container = container =
new GenericContainer<>("postgres:9.6.8") new GenericContainer<>("postgres:9.6.8")
.withEnv("POSTGRES_USER", USER_DB) .withEnv("POSTGRES_USER", USER_DB)
@ -66,7 +67,14 @@ class HibernateReactiveTest {
port = container.getMappedPort(5432); port = container.getMappedPort(5432);
System.setProperty("db.port", String.valueOf(port)); System.setProperty("db.port", String.valueOf(port));
entityManagerFactory = Persistence.createEntityManagerFactory("test-pu"); entityManagerFactory =
vertx
.getOrCreateContext()
.<EntityManagerFactory>executeBlocking(
promise -> promise.complete(Persistence.createEntityManagerFactory("test-pu")))
.toCompletionStage()
.toCompletableFuture()
.get(30, TimeUnit.SECONDS);
Value value = new Value("name"); Value value = new Value("name");
value.setId(1L); value.setId(1L);
@ -91,6 +99,7 @@ class HibernateReactiveTest {
if (stageSessionFactory != null) { if (stageSessionFactory != null) {
stageSessionFactory.close(); stageSessionFactory.close();
} }
vertx.close();
container.stop(); container.stop();
} }
@ -262,7 +271,7 @@ class HibernateReactiveTest {
} }
private static void runWithVertx(Runnable runnable) { private static void runWithVertx(Runnable runnable) {
Vertx.vertx().getOrCreateContext().runOnContext(event -> runnable.run()); vertx.getOrCreateContext().runOnContext(event -> runnable.run());
} }
private static void complete( private static void complete(