From e349846a32cef1dca5bd54ab75a7b83fe17fa3ea Mon Sep 17 00:00:00 2001 From: Lauri Tulmin Date: Tue, 3 Oct 2023 08:50:19 +0300 Subject: [PATCH] Run tests using single vertx instance (#9587) --- .../reactive/v1_0/HibernateReactiveTest.java | 15 ++++++++++++--- .../reactive/v2_0/HibernateReactiveTest.java | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java index cd046ef547..42f02c9e82 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive1Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v1_0/HibernateReactiveTest.java @@ -45,6 +45,7 @@ class HibernateReactiveTest { @RegisterExtension protected static final InstrumentationExtension testing = AgentInstrumentationExtension.create(); + private static final Vertx vertx = Vertx.vertx(); private static GenericContainer container; private static int port; private static EntityManagerFactory entityManagerFactory; @@ -52,7 +53,7 @@ class HibernateReactiveTest { private static Stage.SessionFactory stageSessionFactory; @BeforeAll - static void setUp() { + static void setUp() throws Exception { container = new GenericContainer<>("postgres:9.6.8") .withEnv("POSTGRES_USER", USER_DB) @@ -66,7 +67,14 @@ class HibernateReactiveTest { port = container.getMappedPort(5432); System.setProperty("db.port", String.valueOf(port)); - entityManagerFactory = Persistence.createEntityManagerFactory("test-pu"); + entityManagerFactory = + vertx + .getOrCreateContext() + .executeBlocking( + promise -> promise.complete(Persistence.createEntityManagerFactory("test-pu"))) + .toCompletionStage() + .toCompletableFuture() + .get(30, TimeUnit.SECONDS); Value value = new Value("name"); value.setId(1L); @@ -91,6 +99,7 @@ class HibernateReactiveTest { if (stageSessionFactory != null) { stageSessionFactory.close(); } + vertx.close(); container.stop(); } @@ -270,7 +279,7 @@ class HibernateReactiveTest { } private static void runWithVertx(Runnable runnable) { - Vertx.vertx().getOrCreateContext().runOnContext(event -> runnable.run()); + vertx.getOrCreateContext().runOnContext(event -> runnable.run()); } private static void complete( diff --git a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java index 5f237b6bc4..c036efd311 100644 --- a/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java +++ b/instrumentation/hibernate/hibernate-reactive-1.0/javaagent/src/hibernateReactive2Test/java/io/opentelemetry/javaagent/instrumentation/hibernate/reactive/v2_0/HibernateReactiveTest.java @@ -45,6 +45,7 @@ class HibernateReactiveTest { @RegisterExtension protected static final InstrumentationExtension testing = AgentInstrumentationExtension.create(); + private static final Vertx vertx = Vertx.vertx(); private static GenericContainer container; private static int port; private static EntityManagerFactory entityManagerFactory; @@ -52,7 +53,7 @@ class HibernateReactiveTest { private static Stage.SessionFactory stageSessionFactory; @BeforeAll - static void setUp() { + static void setUp() throws Exception { container = new GenericContainer<>("postgres:9.6.8") .withEnv("POSTGRES_USER", USER_DB) @@ -66,7 +67,14 @@ class HibernateReactiveTest { port = container.getMappedPort(5432); System.setProperty("db.port", String.valueOf(port)); - entityManagerFactory = Persistence.createEntityManagerFactory("test-pu"); + entityManagerFactory = + vertx + .getOrCreateContext() + .executeBlocking( + promise -> promise.complete(Persistence.createEntityManagerFactory("test-pu"))) + .toCompletionStage() + .toCompletableFuture() + .get(30, TimeUnit.SECONDS); Value value = new Value("name"); value.setId(1L); @@ -91,6 +99,7 @@ class HibernateReactiveTest { if (stageSessionFactory != null) { stageSessionFactory.close(); } + vertx.close(); container.stop(); } @@ -262,7 +271,7 @@ class HibernateReactiveTest { } private static void runWithVertx(Runnable runnable) { - Vertx.vertx().getOrCreateContext().runOnContext(event -> runnable.run()); + vertx.getOrCreateContext().runOnContext(event -> runnable.run()); } private static void complete(