You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/07/19 11:38:25 UTC
(camel) branch main updated: CAMEL-20988: Fixed initialization failures logging (#14862)
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new b70ef86c314 CAMEL-20988: Fixed initialization failures logging (#14862)
b70ef86c314 is described below
commit b70ef86c314cd6879f2583bedeebc5f34cdd8428
Author: LostArtist <93...@users.noreply.github.com>
AuthorDate: Fri Jul 19 13:38:18 2024 +0200
CAMEL-20988: Fixed initialization failures logging (#14862)
* CAMEL-20988: Fixed initialization failures logging
Co-authored-by: Nikita Konovalov <nk...@redhat.com>
---
.../apache/camel/test/infra/common/TestUtils.java | 21 +++++++++++++++++++++
.../test/infra/kafka/services/KafkaService.java | 12 +++---------
.../camel/test/infra/smb/services/SmbService.java | 9 ++-------
3 files changed, 26 insertions(+), 16 deletions(-)
diff --git a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java
index 5a218c6dd31..5ef6e072f84 100644
--- a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java
+++ b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/TestUtils.java
@@ -16,11 +16,13 @@
*/
package org.apache.camel.test.infra.common;
+import java.util.Optional;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
import java.util.function.BooleanSupplier;
import java.util.function.Predicate;
+import org.junit.jupiter.api.extension.ExtensionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.utility.TestcontainersConfiguration;
@@ -111,4 +113,23 @@ public final class TestUtils {
public static String prependHubImageNamePrefixIfNeeded(String imageName) {
return TestcontainersConfiguration.getInstance().getEnvVarOrProperty("hub.image.name.prefix", "") + imageName;
}
+
+ /**
+ * Logs service initialization failure
+ *
+ * @param clazz
+ * @param <T>
+ */
+ public static <T> void logInitializationFailure(ExtensionContext extensionContext, Class<T> clazz) {
+ Logger log = LoggerFactory.getLogger(clazz);
+
+ Optional<Object> testInstance = extensionContext.getTestInstance();
+ if (testInstance.isPresent()) {
+ final Object o = testInstance.get();
+ log.error("Failed to initialize service {} for test {} on ({})", clazz.getSimpleName(),
+ extensionContext.getDisplayName(), o.getClass().getName());
+ } else {
+ log.error("Failed to initialize service {} for test {}", clazz.getSimpleName(), extensionContext.getDisplayName());
+ }
+ }
}
diff --git a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/KafkaService.java b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/KafkaService.java
index 962843d7282..917c2e11a30 100644
--- a/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/KafkaService.java
+++ b/test-infra/camel-test-infra-kafka/src/test/java/org/apache/camel/test/infra/kafka/services/KafkaService.java
@@ -17,12 +17,11 @@
package org.apache.camel.test.infra.kafka.services;
+import org.apache.camel.test.infra.common.TestUtils;
import org.apache.camel.test.infra.common.services.TestService;
import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* Provides an interface for any type of Kafka service: remote instances, local container, etc
@@ -41,13 +40,8 @@ public interface KafkaService extends TestService, BeforeTestExecutionCallback,
try {
initialize();
} catch (Exception e) {
- Logger log = LoggerFactory.getLogger(KafkaService.class);
- log.error("Unexpected error in {}: {} {} ", this.getClass().getSimpleName(), e.getMessage(), e.getCause());
- if (extensionContext != null && extensionContext.getTestInstance() != null) {
- Object o = extensionContext.getTestInstance().get();
- log.error("Failed to initialize service {} for test {} on ({})", this.getClass().getSimpleName(),
- extensionContext.getDisplayName(), o.getClass().getName());
- }
+ TestUtils.logInitializationFailure(extensionContext, KafkaService.class);
+
throw e;
}
}
diff --git a/test-infra/camel-test-infra-smb/src/test/java/org/apache/camel/test/infra/smb/services/SmbService.java b/test-infra/camel-test-infra-smb/src/test/java/org/apache/camel/test/infra/smb/services/SmbService.java
index 42e1bcc9e41..b7c4ce1ade1 100644
--- a/test-infra/camel-test-infra-smb/src/test/java/org/apache/camel/test/infra/smb/services/SmbService.java
+++ b/test-infra/camel-test-infra-smb/src/test/java/org/apache/camel/test/infra/smb/services/SmbService.java
@@ -17,12 +17,11 @@
package org.apache.camel.test.infra.smb.services;
+import org.apache.camel.test.infra.common.TestUtils;
import org.apache.camel.test.infra.common.services.TestService;
import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public interface SmbService extends TestService, BeforeTestExecutionCallback, AfterTestExecutionCallback {
String address();
@@ -38,11 +37,7 @@ public interface SmbService extends TestService, BeforeTestExecutionCallback, Af
try {
initialize();
} catch (Exception e) {
- Logger log = LoggerFactory.getLogger(SmbService.class);
-
- final Object o = extensionContext.getTestInstance().get();
- log.error("Failed to initialize service {} for test {} on ({})", this.getClass().getSimpleName(),
- extensionContext.getDisplayName(), o.getClass().getName());
+ TestUtils.logInitializationFailure(extensionContext, SmbService.class);
throw e;
}