Migrate HealthCheck.StatusSummary to a Java record Change-Id: I7fdaf8d05380b73c68fd621c4dec4542d63123f4
diff --git a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/api/HealthCheckStatusEndpoint.java b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/api/HealthCheckStatusEndpoint.java index ed16539..58ab01b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/api/HealthCheckStatusEndpoint.java +++ b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/api/HealthCheckStatusEndpoint.java
@@ -50,14 +50,14 @@ } HealthCheck.StatusSummary globalHealthCheckStatus = healthChecks.run(); - Map<String, Object> result = globalHealthCheckStatus.subChecks; - result.put("ts", globalHealthCheckStatus.ts); - result.put("elapsed", globalHealthCheckStatus.elapsed); + Map<String, Object> result = globalHealthCheckStatus.subChecks(); + result.put("ts", globalHealthCheckStatus.ts()); + result.put("elapsed", globalHealthCheckStatus.elapsed()); return Response.withStatusCode(getHTTPResultCode(globalHealthCheckStatus), result); } private int getHTTPResultCode(HealthCheck.StatusSummary checkStatus) { - return checkStatus.result == Result.FAILED + return checkStatus.result() == Result.FAILED ? HttpServletResponse.SC_INTERNAL_SERVER_ERROR : HttpServletResponse.SC_OK; }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/GlobalHealthCheck.java b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/GlobalHealthCheck.java index 4e4cef7..8112896 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/GlobalHealthCheck.java +++ b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/GlobalHealthCheck.java
@@ -93,7 +93,7 @@ @Override protected Result doCheck() { - return run().result; + return run().result(); } public static boolean hasAnyFailureOnResults(Map<String, MemoizedStatusSummary> results) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/HealthCheck.java b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/HealthCheck.java index db07320..4a26f02 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/HealthCheck.java +++ b/src/main/java/com/googlesource/gerrit/plugins/healthcheck/check/HealthCheck.java
@@ -36,24 +36,13 @@ DISABLED; } - public class StatusSummary { + public record StatusSummary(Result result, long ts, long elapsed, Map<String, Object> subChecks) { public static final StatusSummary INITIAL_STATUS = new StatusSummary(Result.PASSED, System.currentTimeMillis(), 0L, Collections.emptyMap()); - public final Result result; - public final long ts; - public final long elapsed; - public final transient Map<String, Object> subChecks; public static final Set<Result> failingResults = new HashSet<>(Arrays.asList(Result.FAILED, Result.TIMEOUT)); - public StatusSummary(Result result, long ts, long elapsed, Map<String, Object> subChecks) { - this.result = result; - this.ts = ts; - this.elapsed = elapsed; - this.subChecks = subChecks; - } - public Boolean isFailure() { return failingResults.contains(this.result); }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ActiveWorkersCheckTest.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ActiveWorkersCheckTest.java index 5c57004..4ca7d82 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ActiveWorkersCheckTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ActiveWorkersCheckTest.java
@@ -42,7 +42,7 @@ Injector injector = testInjector(new TestModule(new Config(), metricRegistry)); ActiveWorkersCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -55,7 +55,7 @@ Injector injector = testInjector(new TestModule(gerritConfig, metricRegistry)); ActiveWorkersCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -69,7 +69,7 @@ Injector injector = testInjector(new TestModule(gerritConfig, metricRegistry)); ActiveWorkersCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.FAILED); + assertThat(check.run().result()).isEqualTo(Result.FAILED); } @Test @@ -85,7 +85,7 @@ HealthCheckConfig healthCheckConfig = new HealthCheckConfig("[healthcheck \"" + ACTIVEWORKERS + "\"]\n" + " threshold = 50"); ActiveWorkersCheck check = createCheck(injector, healthCheckConfig); - assertThat(check.run().result).isEqualTo(Result.FAILED); + assertThat(check.run().result()).isEqualTo(Result.FAILED); } @Test @@ -101,7 +101,7 @@ HealthCheckConfig healthCheckConfig = new HealthCheckConfig("[healthcheck \"" + ACTIVEWORKERS + "\"]\n" + " threshold = 50"); ActiveWorkersCheck check = createCheck(injector, healthCheckConfig); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -122,7 +122,7 @@ Injector injector = testInjector(new TestModule(gerritConfig, metricRegistry)); ActiveWorkersCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.FAILED); + assertThat(check.run().result()).isEqualTo(Result.FAILED); } private Injector testInjector(AbstractModule testModule) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/BlockedThreadsCheckTest.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/BlockedThreadsCheckTest.java index 737b4a7..f1f6fbb 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/BlockedThreadsCheckTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/BlockedThreadsCheckTest.java
@@ -63,7 +63,7 @@ public void shouldPassCheckWhenNoThreadsAreReturned() { BlockedThreadsCheck objectUnderTest = createCheck(); when(beanMock.getThreadInfo(null, 0)).thenReturn(new ThreadInfo[0]); - assertThat(objectUnderTest.run().result).isEqualTo(Result.PASSED); + assertThat(objectUnderTest.run().result()).isEqualTo(Result.PASSED); } @Test @@ -111,8 +111,8 @@ failingThreadInfo.toArray(new ThreadInfo[0]), successThreadInfo.toArray(new ThreadInfo[0])); - assertThat(createCheck().run().result).isEqualTo(Result.FAILED); - assertThat(createCheck().run().result).isEqualTo(Result.PASSED); + assertThat(createCheck().run().result()).isEqualTo(Result.FAILED); + assertThat(createCheck().run().result()).isEqualTo(Result.PASSED); } @Test @@ -191,7 +191,7 @@ private void checkResult(Result expected) { BlockedThreadsCheck objectUnderTest = createCheck(); - assertThat(objectUnderTest.run().result).isEqualTo(expected); + assertThat(objectUnderTest.run().result()).isEqualTo(expected); } private void mockThreads(int running, int blocked, String prefix) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/DeadlockCheckTest.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/DeadlockCheckTest.java index a73ca15..23c87e9 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/DeadlockCheckTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/DeadlockCheckTest.java
@@ -39,7 +39,7 @@ Injector injector = testInjector(new TestModule(new MetricRegistry())); DeadlockCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -47,7 +47,7 @@ Injector injector = testInjector(new TestModule(createMetricRegistry(0))); DeadlockCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -56,7 +56,7 @@ Injector injector = testInjector(new TestModule(createMetricRegistry(1))); DeadlockCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.FAILED); + assertThat(check.run().result()).isEqualTo(Result.FAILED); } @Test @@ -65,7 +65,7 @@ Injector injector = testInjector(new TestModule(createMetricRegistry(5))); DeadlockCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.FAILED); + assertThat(check.run().result()).isEqualTo(Result.FAILED); } private Injector testInjector(AbstractModule testModule) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HttpActiveWorkersCheckTest.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HttpActiveWorkersCheckTest.java index 0bda74e..60c233a 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HttpActiveWorkersCheckTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/HttpActiveWorkersCheckTest.java
@@ -52,7 +52,7 @@ new HealthCheckConfig( "[healthcheck \"" + HTTPACTIVEWORKERS + "\"]\n" + " threshold = " + thresholdPerc); HttpActiveWorkersCheck check = createCheck(injector, healthCheckConfig); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -72,7 +72,7 @@ new HealthCheckConfig( "[healthcheck \"" + HTTPACTIVEWORKERS + "\"]\n" + " threshold = " + thresholdPerc); HttpActiveWorkersCheck check = createCheck(injector, healthCheckConfig); - assertThat(check.run().result).isEqualTo(Result.FAILED); + assertThat(check.run().result()).isEqualTo(Result.FAILED); } @Test @@ -90,7 +90,7 @@ Injector injector = testInjector(new TestModule(new Config(), metricRegistry)); HttpActiveWorkersCheck check = createCheck(injector); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } private MetricRegistry createHttpMetricRegistry(Integer value) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/JGitHealthCheckTest.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/JGitHealthCheckTest.java index 02b914c..ecc471f 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/JGitHealthCheckTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/JGitHealthCheckTest.java
@@ -75,7 +75,7 @@ JGitHealthCheck check = new JGitHealthCheck( executor, DEFAULT_CONFIG, getWorkingRepositoryManager(), disabledMetricMaker); - assertThat(check.run().result).isEqualTo(Result.PASSED); + assertThat(check.run().result()).isEqualTo(Result.PASSED); } @Test @@ -83,7 +83,7 @@ JGitHealthCheck jGitHealthCheck = new JGitHealthCheck( executor, DEFAULT_CONFIG, getFailingGitRepositoryManager(), disabledMetricMaker); - assertThat(jGitHealthCheck.run().result).isEqualTo(Result.FAILED); + assertThat(jGitHealthCheck.run().result()).isEqualTo(Result.FAILED); } @Test @@ -97,7 +97,7 @@ + " project = Not-Existing-Repo"); JGitHealthCheck jGitHealthCheck = new JGitHealthCheck(executor, config, getWorkingRepositoryManager(), disabledMetricMaker); - assertThat(jGitHealthCheck.run().result).isEqualTo(Result.FAILED); + assertThat(jGitHealthCheck.run().result()).isEqualTo(Result.FAILED); } private GitRepositoryManager getFailingGitRepositoryManager() {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ProjectsListHealthCheckTest.java b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ProjectsListHealthCheckTest.java index 293c596..836ee5a 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ProjectsListHealthCheckTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/healthcheck/ProjectsListHealthCheckTest.java
@@ -60,7 +60,7 @@ ProjectsListHealthCheck jGitHealthCheck = new ProjectsListHealthCheck( executor, DEFAULT_CONFIG, getWorkingProjectList(0), mockOneOffCtx, disabledMetricMaker); - assertThat(jGitHealthCheck.run().result).isEqualTo(Result.PASSED); + assertThat(jGitHealthCheck.run().result()).isEqualTo(Result.PASSED); } @Test @@ -68,7 +68,7 @@ ProjectsListHealthCheck jGitHealthCheck = new ProjectsListHealthCheck( executor, DEFAULT_CONFIG, getFailingProjectList(), mockOneOffCtx, disabledMetricMaker); - assertThat(jGitHealthCheck.run().result).isEqualTo(Result.FAILED); + assertThat(jGitHealthCheck.run().result()).isEqualTo(Result.FAILED); } @Test @@ -80,7 +80,7 @@ getWorkingProjectList(DEFAULT_CONFIG.getTimeout() * 2), mockOneOffCtx, disabledMetricMaker); - assertThat(jGitHealthCheck.run().result).isEqualTo(Result.TIMEOUT); + assertThat(jGitHealthCheck.run().result()).isEqualTo(Result.TIMEOUT); } private Provider<ListProjects> getFailingProjectList() {