Browse Source

Merge pull request #48484 from youngledo

* pr/48484:
  Polish "Use 'unknown' when RabbitMQ version is missing"
  Use 'unknown' when RabbitMQ version is missing

Closes gh-48484
3.4.x
Stéphane Nicoll 4 months ago
parent
commit
e9771ff43d
  1. 6
      spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicator.java
  2. 11
      spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicatorTests.java

6
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicator.java

@ -45,8 +45,10 @@ public class RabbitHealthIndicator extends AbstractHealthIndicator { @@ -45,8 +45,10 @@ public class RabbitHealthIndicator extends AbstractHealthIndicator {
}
private String getVersion() {
return this.rabbitTemplate
.execute((channel) -> channel.getConnection().getServerProperties().get("version").toString());
return this.rabbitTemplate.execute((channel) -> channel.getConnection()
.getServerProperties()
.getOrDefault("version", "unknown")
.toString());
}
}

11
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/amqp/RabbitHealthIndicatorTests.java

@ -67,6 +67,17 @@ class RabbitHealthIndicatorTests { @@ -67,6 +67,17 @@ class RabbitHealthIndicatorTests {
assertThat(health.getDetails()).containsEntry("version", "123");
}
@Test
void healthWhenVersionIsMissingShouldReturnUpWithUnknownVersion() {
givenTemplateExecutionWillInvokeCallback();
Connection connection = mock(Connection.class);
given(this.channel.getConnection()).willReturn(connection);
given(connection.getServerProperties()).willReturn(Collections.emptyMap());
Health health = new RabbitHealthIndicator(this.rabbitTemplate).health();
assertThat(health.getStatus()).isEqualTo(Status.UP);
assertThat(health.getDetails()).containsEntry("version", "unknown");
}
@Test
void healthWhenConnectionFailsShouldReturnDown() {
givenTemplateExecutionWillInvokeCallback();

Loading…
Cancel
Save