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() {