From 2046362bf1dc12609893360a8ff6aecf8f94f80f Mon Sep 17 00:00:00 2001 From: santhosh Date: Wed, 11 Jan 2023 09:04:57 +0000 Subject: [PATCH] rovide capability to override destination names while performing artemis healthcheck --- CHANGELOG.md | 6 +++++ .../artemis/ArtemisHealthcheck.java | 4 +++- .../DefaultDestinationNamesProvider.java | 23 +++++++++++++++++++ .../artemis/DestinationNamesProvider.java | 17 ++------------ ... DefaultDestinationNamesProviderTest.java} | 12 ++++++++-- pom.xml | 2 +- 6 files changed, 45 insertions(+), 19 deletions(-) create mode 100644 healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProvider.java rename healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/{DestinationNamesProviderTest.java => DefaultDestinationNamesProviderTest.java} (68%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e32e88f..317d1101b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file, which follo on [Keep a CHANGELOG](http://keepachangelog.com/). This project adheres to [Semantic Versioning](http://semver.org/). +## [11.0.0-M31] - 2023-01-10 +### Changed +- Provide constant for artemis healthcheck name +- Provide capability to override destination names while performing artemis healthcheck +- Update framework version to 11.0.0-M30 + ## [11.0.0-M30] - 2022-11-29 ### Changed - Update framework version to 11.0.0-M29 diff --git a/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/ArtemisHealthcheck.java b/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/ArtemisHealthcheck.java index 36f8430ca..12929394b 100644 --- a/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/ArtemisHealthcheck.java +++ b/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/ArtemisHealthcheck.java @@ -10,6 +10,8 @@ public class ArtemisHealthcheck implements Healthcheck { + public static final String ARTEMIS_HEALTHCHECK_NAME = "artemis-healthcheck"; + @Inject private Logger logger; @@ -21,7 +23,7 @@ public class ArtemisHealthcheck implements Healthcheck { @Override public String getHealthcheckName() { - return "artemis-healthcheck"; + return ARTEMIS_HEALTHCHECK_NAME; } @Override diff --git a/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProvider.java b/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProvider.java new file mode 100644 index 000000000..62b0b7908 --- /dev/null +++ b/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProvider.java @@ -0,0 +1,23 @@ +package uk.gov.justice.services.healthcheck.healthchecks.artemis; + +import javax.inject.Inject; +import java.util.List; +import java.util.stream.Collectors; + +public class DefaultDestinationNamesProvider implements DestinationNamesProvider { + + private static final List DESTINATION_NAME_PATTERNS = List.of("%s.controller.command", "%s.handler.command", "%s.event"); + + @Inject + private JndiContextNameProvider jndiContextNameProvider; + + public List getDestinationNames() { + return DESTINATION_NAME_PATTERNS.stream() + .map(qp -> String.format(qp, getContextName())) + .collect(Collectors.toList()); + } + + protected final String getContextName() { + return jndiContextNameProvider.getContextName(); + } +} diff --git a/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProvider.java b/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProvider.java index e83c4780d..c878c7c69 100644 --- a/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProvider.java +++ b/healthchecks/src/main/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProvider.java @@ -1,20 +1,7 @@ package uk.gov.justice.services.healthcheck.healthchecks.artemis; -import javax.inject.Inject; import java.util.List; -import java.util.stream.Collectors; -public class DestinationNamesProvider { - - private static final List DESTINATION_NAME_PATTERNS = List.of("%s.controller.command", "%s.handler.command", "%s.event"); - - @Inject - private JndiContextNameProvider jndiContextNameProvider; - - public List getDestinationNames() { - var contextName = jndiContextNameProvider.getContextName(); - return DESTINATION_NAME_PATTERNS.stream() - .map(qp -> String.format(qp, contextName)) - .collect(Collectors.toList()); - } +public interface DestinationNamesProvider { + List getDestinationNames(); } diff --git a/healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProviderTest.java b/healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProviderTest.java similarity index 68% rename from healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProviderTest.java rename to healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProviderTest.java index e6eb4771f..bdb9d302c 100644 --- a/healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DestinationNamesProviderTest.java +++ b/healthchecks/src/test/java/uk/gov/justice/services/healthcheck/healthchecks/artemis/DefaultDestinationNamesProviderTest.java @@ -7,17 +7,18 @@ import org.mockito.runners.MockitoJUnitRunner; import static org.hamcrest.CoreMatchers.hasItems; +import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; import static org.mockito.BDDMockito.given; @RunWith(MockitoJUnitRunner.class) -public class DestinationNamesProviderTest { +public class DefaultDestinationNamesProviderTest { @Mock private JndiContextNameProvider jndiContextNameProvider; @InjectMocks - private DestinationNamesProvider destinationNamesProvider; + private DefaultDestinationNamesProvider destinationNamesProvider; @Test public void shouldReturnContextSpecificCQRSDestinationNames() { @@ -26,6 +27,13 @@ public void shouldReturnContextSpecificCQRSDestinationNames() { assertThat(destinationNamesProvider.getDestinationNames(), hasItems("people.controller.command", "people.handler.command", "people.event")); + } + + @Test + public void shouldReturnContextNae() { + given(jndiContextNameProvider.getContextName()).willReturn("people"); + + assertThat(destinationNamesProvider.getContextName(), is("people")); } } \ No newline at end of file diff --git a/pom.xml b/pom.xml index 2389b4f37..cb73736e4 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ event-store - 11.0.0-M29 + 11.0.0-M30