You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/07/28 08:22:33 UTC
[camel] 05/13: CAMEL-19645: camel-aws - producer health check
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch hc-producer
in repository https://gitbox.apache.org/repos/asf/camel.git
commit fd0bd08f0d0cbe4638c6603104122b113676336e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jul 28 09:58:08 2023 +0200
CAMEL-19645: camel-aws - producer health check
---
.../EventbridgeComponentConfigurer.java | 18 +++++++++++++
.../aws2/eventbridge/aws2-eventbridge.json | 7 +++--
.../aws2/eventbridge/EventbridgeComponent.java | 5 ++--
.../aws2/eventbridge/EventbridgeEndpoint.java | 24 ++++-------------
.../aws2/eventbridge/EventbridgeProducer.java | 31 ++++++++++++++++++++++
...ck.java => EventbridgeProducerHealthCheck.java} | 6 ++---
...bridgeProducerHealthCheckProfileCredsTest.java} | 13 ++-------
...tbridgeProducerHealthCheckStaticCredsTest.java} | 12 ++-------
8 files changed, 69 insertions(+), 47 deletions(-)
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java b/components/camel-aws/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java
index b7a8c3f7fad..0e386323ee4 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/generated/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponentConfigurer.java
@@ -37,6 +37,12 @@ public class EventbridgeComponentConfigurer extends PropertyConfigurerSupport im
case "eventPatternFile": getOrCreateConfiguration(target).setEventPatternFile(property(camelContext, java.lang.String.class, value)); return true;
case "eventbridgeclient":
case "eventbridgeClient": getOrCreateConfiguration(target).setEventbridgeClient(property(camelContext, software.amazon.awssdk.services.eventbridge.EventBridgeClient.class, value)); return true;
+ case "healthcheckconsumerenabled":
+ case "healthCheckConsumerEnabled": target.setHealthCheckConsumerEnabled(property(camelContext, boolean.class, value)); return true;
+ case "healthcheckenabled":
+ case "healthCheckEnabled": target.setHealthCheckEnabled(property(camelContext, boolean.class, value)); return true;
+ case "healthcheckproducerenabled":
+ case "healthCheckProducerEnabled": target.setHealthCheckProducerEnabled(property(camelContext, boolean.class, value)); return true;
case "lazystartproducer":
case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
case "operation": getOrCreateConfiguration(target).setOperation(property(camelContext, org.apache.camel.component.aws2.eventbridge.EventbridgeOperations.class, value)); return true;
@@ -84,6 +90,12 @@ public class EventbridgeComponentConfigurer extends PropertyConfigurerSupport im
case "eventPatternFile": return java.lang.String.class;
case "eventbridgeclient":
case "eventbridgeClient": return software.amazon.awssdk.services.eventbridge.EventBridgeClient.class;
+ case "healthcheckconsumerenabled":
+ case "healthCheckConsumerEnabled": return boolean.class;
+ case "healthcheckenabled":
+ case "healthCheckEnabled": return boolean.class;
+ case "healthcheckproducerenabled":
+ case "healthCheckProducerEnabled": return boolean.class;
case "lazystartproducer":
case "lazyStartProducer": return boolean.class;
case "operation": return org.apache.camel.component.aws2.eventbridge.EventbridgeOperations.class;
@@ -127,6 +139,12 @@ public class EventbridgeComponentConfigurer extends PropertyConfigurerSupport im
case "eventPatternFile": return getOrCreateConfiguration(target).getEventPatternFile();
case "eventbridgeclient":
case "eventbridgeClient": return getOrCreateConfiguration(target).getEventbridgeClient();
+ case "healthcheckconsumerenabled":
+ case "healthCheckConsumerEnabled": return target.isHealthCheckConsumerEnabled();
+ case "healthcheckenabled":
+ case "healthCheckEnabled": return target.isHealthCheckEnabled();
+ case "healthcheckproducerenabled":
+ case "healthCheckProducerEnabled": return target.isHealthCheckProducerEnabled();
case "lazystartproducer":
case "lazyStartProducer": return target.isLazyStartProducer();
case "operation": return getOrCreateConfiguration(target).getOperation();
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json b/components/camel-aws/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json
index 16dc8a82822..d2aecb2457b 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json
+++ b/components/camel-aws/camel-aws2-eventbridge/src/generated/resources/org/apache/camel/component/aws2/eventbridge/aws2-eventbridge.json
@@ -39,8 +39,11 @@
"useDefaultCredentialsProvider": { "index": 14, "kind": "property", "displayName": "Use Default Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Set whether the Eventbridge client should ex [...]
"useProfileCredentialsProvider": { "index": 15, "kind": "property", "displayName": "Use Profile Credentials Provider", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Set whether the Eventbridge client should ex [...]
"autowiredEnabled": { "index": 16, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...]
- "accessKey": { "index": 17, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
- "secretKey": { "index": 18, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
+ "healthCheckConsumerEnabled": { "index": 17, "kind": "property", "displayName": "Health Check Consumer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all consumer based health checks from this component" },
+ "healthCheckEnabled": { "index": 18, "kind": "property", "displayName": "Health Check Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all health checks from this component" },
+ "healthCheckProducerEnabled": { "index": 19, "kind": "property", "displayName": "Health Check Producer Enabled", "group": "health", "label": "health", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Used for enabling or disabling all producer based health checks from this component" },
+ "accessKey": { "index": 20, "kind": "property", "displayName": "Access Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
+ "secretKey": { "index": 21, "kind": "property", "displayName": "Secret Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
},
"headers": {
"CamelAwsEventbridgeOperation": { "index": 0, "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation we want to perform", "constantName": "org.apache.camel.component.aws2.eventbridge.EventbridgeConstants#OPERATION" },
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponent.java b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponent.java
index d06d1ffcc59..af08ad47cc2 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponent.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeComponent.java
@@ -22,13 +22,14 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.support.HealthCheckComponent;
/**
* For working with Amazon Eventbridge SDK v2.
*/
@Component("aws2-eventbridge")
-public class EventbridgeComponent extends DefaultComponent {
+public class EventbridgeComponent extends HealthCheckComponent {
+
@Metadata
private EventbridgeConfiguration configuration = new EventbridgeConfiguration();
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpoint.java b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpoint.java
index f1557c53149..3793b6238ce 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpoint.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeEndpoint.java
@@ -22,8 +22,6 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.component.aws2.eventbridge.client.EventbridgeClientFactory;
-import org.apache.camel.health.HealthCheckHelper;
-import org.apache.camel.impl.health.ComponentsHealthCheckRepository;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
@@ -44,9 +42,6 @@ public class EventbridgeEndpoint extends DefaultEndpoint {
private EventBridgeClient eventbridgeClient;
- private ComponentsHealthCheckRepository healthCheckRepository;
- private EventbridgeClientHealthCheck clientHealthCheck;
-
@UriPath(description = "Event bus name or ARN")
@Metadata(required = true)
private String eventbusNameOrArn; // to support component docs
@@ -58,6 +53,11 @@ public class EventbridgeEndpoint extends DefaultEndpoint {
this.configuration = configuration;
}
+ @Override
+ public EventbridgeComponent getComponent() {
+ return (EventbridgeComponent) super.getComponent();
+ }
+
@Override
public Consumer createConsumer(Processor processor) throws Exception {
throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
@@ -75,24 +75,10 @@ public class EventbridgeEndpoint extends DefaultEndpoint {
eventbridgeClient = configuration.getEventbridgeClient() != null
? configuration.getEventbridgeClient()
: EventbridgeClientFactory.getEventbridgeClient(configuration).getEventbridgeClient();
-
- healthCheckRepository = HealthCheckHelper.getHealthCheckRepository(getCamelContext(),
- ComponentsHealthCheckRepository.REPOSITORY_ID, ComponentsHealthCheckRepository.class);
-
- if (healthCheckRepository != null) {
- // Do not register the health check until we resolve CAMEL-18992
- // clientHealthCheck = new EventbridgeClientHealthCheck(this, getId());
- // healthCheckRepository.addHealthCheck(clientHealthCheck);
- }
}
@Override
public void doStop() throws Exception {
- if (healthCheckRepository != null && clientHealthCheck != null) {
- healthCheckRepository.removeHealthCheck(clientHealthCheck);
- clientHealthCheck = null;
- }
-
if (ObjectHelper.isEmpty(configuration.getEventbridgeClient())) {
if (eventbridgeClient != null) {
eventbridgeClient.close();
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
index 519ebf45868..8e4d7828c41 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducer.java
@@ -26,6 +26,9 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
import org.apache.camel.Message;
+import org.apache.camel.health.HealthCheck;
+import org.apache.camel.health.HealthCheckHelper;
+import org.apache.camel.health.WritableHealthCheckRepository;
import org.apache.camel.support.DefaultProducer;
import org.apache.camel.support.ResourceHelper;
import org.apache.camel.util.ObjectHelper;
@@ -69,6 +72,8 @@ public class EventbridgeProducer extends DefaultProducer {
private static final Logger LOG = LoggerFactory.getLogger(EventbridgeProducer.class);
private transient String eventbridgeProducerToString;
+ private HealthCheck producerHealthCheck;
+ private WritableHealthCheckRepository healthCheckRepository;
public EventbridgeProducer(Endpoint endpoint) {
super(endpoint);
@@ -548,4 +553,30 @@ public class EventbridgeProducer extends DefaultProducer {
public static Message getMessageForResponse(final Exchange exchange) {
return exchange.getMessage();
}
+
+ @Override
+ protected void doStart() throws Exception {
+ // health-check is optional so discover and resolve
+ healthCheckRepository = HealthCheckHelper.getHealthCheckRepository(
+ getEndpoint().getCamelContext(),
+ "components",
+ WritableHealthCheckRepository.class);
+
+ if (healthCheckRepository != null) {
+ String id = getEndpoint().getId();
+ producerHealthCheck = new EventbridgeProducerHealthCheck(getEndpoint(), id);
+ producerHealthCheck.setEnabled(getEndpoint().getComponent().isHealthCheckEnabled()
+ && getEndpoint().getComponent().isHealthCheckProducerEnabled());
+ healthCheckRepository.addHealthCheck(producerHealthCheck);
+ }
+ }
+
+ @Override
+ protected void doStop() throws Exception {
+ if (healthCheckRepository != null && producerHealthCheck != null) {
+ healthCheckRepository.removeHealthCheck(producerHealthCheck);
+ producerHealthCheck = null;
+ }
+ }
+
}
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheck.java
similarity index 92%
rename from components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java
rename to components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheck.java
index d60d04d7901..bc4af16a873 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheck.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/main/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheck.java
@@ -27,12 +27,12 @@ import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.eventbridge.EventBridgeClient;
import software.amazon.awssdk.services.eventbridge.model.ListEventBusesRequest;
-public class EventbridgeClientHealthCheck extends AbstractHealthCheck {
+public class EventbridgeProducerHealthCheck extends AbstractHealthCheck {
private final EventbridgeEndpoint eventbridgeEndpoint;
- public EventbridgeClientHealthCheck(EventbridgeEndpoint eventbridgeEndpoint, String clientId) {
- super("camel", "aws2-eventbridge-client-" + clientId);
+ public EventbridgeProducerHealthCheck(EventbridgeEndpoint eventbridgeEndpoint, String clientId) {
+ super("camel", "aws2-eventbridge-producer-" + clientId);
this.eventbridgeEndpoint = eventbridgeEndpoint;
}
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheckProfileCredsTest.java b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheckProfileCredsTest.java
similarity index 86%
rename from components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheckProfileCredsTest.java
rename to components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheckProfileCredsTest.java
index 9c74813ec65..6ef04ea30a4 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheckProfileCredsTest.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheckProfileCredsTest.java
@@ -28,16 +28,11 @@ import org.apache.camel.health.HealthCheckRegistry;
import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
-public class EventbridgeClientHealthCheckProfileCredsTest extends CamelTestSupport {
-
- private static final Logger LOG = LoggerFactory.getLogger(EventbridgeClientHealthCheckProfileCredsTest.class);
+public class EventbridgeProducerHealthCheckProfileCredsTest extends CamelTestSupport {
CamelContext context;
@@ -73,9 +68,7 @@ public class EventbridgeClientHealthCheckProfileCredsTest extends CamelTestSuppo
}
@Test
- @Disabled("Do not register the Producer Health Check until we solve CAMEL-18992")
public void testConnectivity() {
-
Collection<HealthCheck.Result> res = HealthCheckHelper.invokeLiveness(context);
boolean up = res.stream().allMatch(r -> r.getState().equals(HealthCheck.State.UP));
Assertions.assertTrue(up, "liveness check");
@@ -85,9 +78,7 @@ public class EventbridgeClientHealthCheckProfileCredsTest extends CamelTestSuppo
Collection<HealthCheck.Result> res2 = HealthCheckHelper.invokeReadiness(context);
boolean down = res2.stream().allMatch(r -> r.getState().equals(HealthCheck.State.DOWN));
boolean containsAwsEventbridgeHealthCheck = res2.stream()
- .filter(result -> result.getCheck().getId().startsWith("aws2-eventbridge-client"))
- .findAny()
- .isPresent();
+ .anyMatch(result -> result.getCheck().getId().startsWith("aws2-eventbridge-producer"));
boolean hasRegionMessage = res2.stream()
.anyMatch(r -> r.getMessage().stream().anyMatch(msg -> msg.contains("region")));
Assertions.assertTrue(down, "liveness check");
diff --git a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheckStaticCredsTest.java b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheckStaticCredsTest.java
similarity index 86%
rename from components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheckStaticCredsTest.java
rename to components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheckStaticCredsTest.java
index 8c3f43ac686..7e719e02f90 100644
--- a/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeClientHealthCheckStaticCredsTest.java
+++ b/components/camel-aws/camel-aws2-eventbridge/src/test/java/org/apache/camel/component/aws2/eventbridge/EventbridgeProducerHealthCheckStaticCredsTest.java
@@ -28,16 +28,11 @@ import org.apache.camel.health.HealthCheckRegistry;
import org.apache.camel.impl.health.DefaultHealthCheckRegistry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
-public class EventbridgeClientHealthCheckStaticCredsTest extends CamelTestSupport {
-
- private static final Logger LOG = LoggerFactory.getLogger(EventbridgeClientHealthCheckStaticCredsTest.class);
+public class EventbridgeProducerHealthCheckStaticCredsTest extends CamelTestSupport {
CamelContext context;
@@ -73,7 +68,6 @@ public class EventbridgeClientHealthCheckStaticCredsTest extends CamelTestSuppor
}
@Test
- @Disabled("Do not register the Producer Health Check until we solve CAMEL-18992")
public void testConnectivity() {
Collection<HealthCheck.Result> res = HealthCheckHelper.invokeLiveness(context);
@@ -85,9 +79,7 @@ public class EventbridgeClientHealthCheckStaticCredsTest extends CamelTestSuppor
Collection<HealthCheck.Result> res2 = HealthCheckHelper.invokeReadiness(context);
boolean down = res2.stream().allMatch(r -> r.getState().equals(HealthCheck.State.DOWN));
boolean containsAwsEventbridgeHealthCheck = res2.stream()
- .filter(result -> result.getCheck().getId().startsWith("aws2-eventbridge-client"))
- .findAny()
- .isPresent();
+ .anyMatch(result -> result.getCheck().getId().startsWith("aws2-eventbridge-producer"));
boolean hasRegionMessage = res2.stream()
.anyMatch(r -> r.getMessage().stream().anyMatch(msg -> msg.contains("region")));
Assertions.assertTrue(down, "liveness check");